WordPress站点更改固定链接教程,URL结构从文章ID改为文章名

WordPress国产主题推荐

最近发现很多网站都半死不活的,降权特别厉害,boke112百科也不例外,所以就想着折腾一下URL结构。从原来的/post/112.html结构,更改为/article/文章名.html结构,其中旧文章的结构更改为:/article/p112.html,下面跟大家分享一下具体的操作过程。

WordPress站点更改固定链接教程,URL结构从文章ID改为文章名-第1张-boke112百科(boke112.com)

一、把旧文章的文章名更改为文章ID

虽然有很多种方法可以将旧文章的文章名(post_name)更改为文章ID,但是最直接高效的方法莫过于进入phpMyAdmin直接通过SQL语句修改,具体如下:

update wp_posts set post_name=ID where post_status='publish' and post_type='post';

记得将上述的wp_posts修改为你的站点所使用的表前缀。

另外,如果你想要在文章ID前面添加字母或其他,可以继续执行以下SQL语句:

update wp_posts set post_name = CONCAT('p', post_name) where post_status='publish' and post_type='post';

意思就是说在文章名前面添加一个字母“P”,大家在使用的时候直接修改那个“p”和那个表前缀“wp_”即可。

二、在WordPress后台设置固定链接

进入WordPress后台 >> 设置 >> 固定链接 >> 在常用设置中选择“自定义结构”,在后面添加自己想要的内容,最后点击【保存更改】按钮即可。

WordPress站点更改固定链接教程,URL结构从文章ID改为文章名-第2张-boke112百科(boke112.com)

比如我们想在URL结构中添加“article”,然后接着的是文章名%postname%,最后跟着的是.html,所以添加的结构就是:

/article/%postname%.html

注意,如果在“自定义结构”中添加了类似“article”的内容,那么默认情况分类目录和标签的URL地址也会多了一个“article”,如果想要保持默认的,则需要在“可选”的“分类前缀”中填写:category,在“标签前缀”中填写:tag,保存更改后就不会影响原来的分类目录和标签的URL地址了。

三、(可选)自动将新文章的文章名变成ID

一般选择文章名这种URL结构,就是人工修改固定链接才是最恰当的(boke112百科新文章URL就是计划手工修改),不过有些站长比较懒,就想着自动将新发布的文章名变成ID,这样就不用人工修改了。

实现的方法也很简单,将以下代码添加到当前主题的functions.php文件中并保存更新文件即可。

/**
* WordPress 新文章自动使用 ID 作为别名
* 雅兮网整理:http://www.iyaxi.com
*/
add_action( 'save_post', 'using_id_as_slug', 10, 2 );
function using_id_as_slug($post_id, $post){
global $post_type;
if($post_type=='post'){ //只对文章生效
// 如果是文章的版本,不生效
if (wp_is_post_revision($post_id))
return false;
// 取消挂载该函数,防止无限循环
remove_action('save_post', 'using_id_as_slug' );
// 使用文章 ID 作为文章的别名
wp_update_post(array('ID' => $post_id, 'post_name' => $post_id ));
// 重新挂载该函数
add_action('save_post', 'using_id_as_slug' );
}
}

另外,如果不想显示文章ID,可以考虑将文章ID用md5加密后显示,那么就可以将上述第15行代码修改为:

wp_update_post(array('ID' => $post_id, 'post_name' => md5($post_id)));

这样一来,每次我们发布文章的时候,固定链接就会自动变成该文章ID的MD5值了。

WordPress站点更改固定链接教程,URL结构从文章ID改为文章名-第3张-boke112百科(boke112.com)

四、设置新旧链接的301重定向

如果你使用的是宝塔面板,那么设置301重定向就变得十分简单。进入宝塔面板后台 >> 点击左侧导航菜单“网站”>> 在网站列表中的点击相应网站的“设置”>> 点击“重定向”>> 点击【添加重定向】按 >> 然后根据自己站点URL结构的实际变化进行设置并提交即可。

比如boke112百科以前的文章URL结构是:/post/112.html,现在变成了:/article/p112.html,所以“重定向类型”就选择“路径”,重定向路径填写:https://boke112.com/post/,目标URL就填写:https://boke112.com/article/p。

WordPress站点更改固定链接教程,URL结构从文章ID改为文章名-第4张-boke112百科(boke112.com)

成功提交该重定向后,点击查看配置文件可以看到301重定向代码如下:

rewrite ^https://boke112.com/post/(.*) https://boke112.com/article/p$1 permanent;

成功设置301重定向后,一定要在浏览器中多测试几个旧链接,看看是否会跳转到新链接,如果都能够跳转就说明正常了。

boke112百科建议:不会用Linux服务器?推荐安装宝塔面板,让你可视化管理服务器,前往宝塔官网注册账号并选购;宝塔Linux专业版宝塔Linux企业版宝塔Windows企业版SSL证书

五、替换数据库原来的旧链接为新链接

我们的网站中,可能会在文章内引用过旧链接,所以建议通过SQL语句直接将旧链接(boke112.com/post/)替换为新链接(boke112.com/article/p),具体SQL语句如下:

UPDATE wp_posts SET post_content = replace(post_content,'boke112.com/post/','boke112.com/article/p');
UPDATE wp_postmeta SET meta_value = replace(meta_value,'boke112.com/post/','boke112.com/article/p');
UPDATE wp_comments SET comment_content = replace(comment_content,'boke112.com/post/','boke112.com/article/p');

以上SQL语句就是替换文章内容、文章属性和评论内中的旧链接为新链接,其中的新旧链接和表前缀大家自行修改了。

最后

完成以上几个步骤后,接下来的就是到各大站长平台添加改版规则了。不过国外的谷歌和必应反应很快(本文还没有发布就生效了),懒得折腾;国内的好像只有百度有网站改版功能,选择“规则改版”,然后填写规则和URL对并提交即可。

WordPress站点更改固定链接教程,URL结构从文章ID改为文章名-第5张-boke112百科(boke112.com)

到此,对于我而言,更换WordPress站点文章URL结构的所有工作都完成了。至于在其他网站的旧文章链接,只能靠301重定向了。

最后,建议大家不要乱折腾文章URL结构,据说很影响网站权重和流量。boke112百科是已经到了谷底才折腾了,要不然也不会乱折腾的。

文章创作不易,期待您的评分

本文地址:https://boke112.com/article/wordpress-permalink-id-postname.html

版权声明:本文为原创文章,版权归 boke112百科 所有,欢迎分享本文,转载请保留出处!发布此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请联系我们,确认后马上更正或删除,谢谢!
wu