前言
记一次站点更改WordPress固定链接并提交百度站长平台链接改版。近日,由于看着 朴素 的链接不顺眼,本着生命在于折腾的心态,准备着手将WordPress的固定链接由原本的朴素改为自定义。
即 https://www.qcgzxw.cn/6666.html -> https://www.qcgzxw.cn/6666.html
具体思路
由于前几次更换完固定链接后出现新链接访问404的症状,以及担心百度掉收录等等问题,这次大改之前可以说是做足了准备。固定链接更改后访问文章404
原因分析:未添加nginx或者apache的重写规则(rewriter)
解决办法:添加或将旧规则更新为以下代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
location / { index index.html index.php; if (-f $request_filename/index.html){ rewrite (.*) $1/index.html break; } if (-f $request_filename/index.php){ rewrite (.*) $1/index.php; } if (!-f $request_filename){ rewrite (.*) /index.php; } } rewrite /wp-admin$ $scheme://$host$uri/ permanent; |
更改后记得重启Nginx应用配置。
其实WordPress早就给出了文档:https://codex.wordpress.org/Nginx
- 配置好重写规则,更新固定链接
- 去各大站长平台添加网站改版规则(目前就百度和360有这个功能,其他的搜索引擎不管)
更改固定链接
这没啥好讲的,按你个人喜好以及搜索引擎喜好来确定具体的链接形势。
我选择/%post_id%.html
的链接形势是为了微信小程序以及伪静态和站点收录
配置好nginx 的rewriter规则之后即可直接应用
添加网站改版规则
百度站长平台添加规则地址:https://ziyuan.baidu.com/rewrite
360站长平台添加规则地址:http://zhanzhang.so.com/?m=SiteUpgrade
- 1. 当一个站点的域名或者目录发生变化时,如果想让百度快速收录变化之后的新链接、用以替换之前的旧链接,那么您就需要使用百度搜索资源平台的网站改版工具来提交您的改版关系,加速百度对已收录链接的新旧替换
- 2. 改版规则中的新旧链接一定要使用301的方式进行跳转
- 3. 建议您尽量使用站点改版和规则改版,会有比较短的处理周期,也缩短后续您反馈问题的追查用时间
- 4. 百度搜索资源平台对改版规则的校验时间范围为0.5——2小时,改版生效时间范围为12——48小时,整体来看,您从提交改版规则到线上生效,最短12.5小时,最长50小时
- 5. 该工具针对的是网站链接的改变,网站内容改版不适用于该工具
- 6. 您提交的三类改版形式,不能有交叉或者包含关系,即不能有一条链接同时属于多个改版形式
- 7. 改版跳转关系请长期保持,直到新站流量完全稳定
以上是百度改版说明。
规则选择说明
由于WordPress PostID不连续,若使用 规则改版
会提示原链接访问错误
。(原因可能是不连续ID或者重写规则的问题)
所以我们只能选择 新旧URL对
的方式。
规则编写
获取全站文章链接,并将其编辑为旧链接 新链接的形式
在WordPress的根目录添加一个GetId.php文件,具体代码如下
1 2 3 4 5 6 7 8 9 10 11 |
<?php include ( "wp-config.php" ) ; require_once (ABSPATH.'wp-blog-header.php'); global $wpdb; $CID = 1;//分类id,只支持一个分类 $sql="SELECT ID,post_title,post_content FROM wp_posts,wp_term_relationships,wp_term_taxonomy WHERE ID=object_id and wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id and post_type='post' and post_status = 'publish' and wp_term_relationships.term_taxonomy_id = $CID and taxonomy = 'category' order by ID desc"; $myrows = $wpdb->get_results($sql); foreach ($myrows as $b) { echo $b->ID."<br />"; } ?> |
然后访问你的域名+GetId.php
(www.qcgzxw.cn/GetId.php)即可获取该目录ID下的所有文章,如有多个分类目录,将php文件里面的$CID改成另一个目录ID重新访问。
目录页面地址你的域名+/wp-admin/edit-tags.php?taxonomy=category
访问php文件后,会得到当前目录的所有文章ID
将ID保存到NotePad++
然后按Ctrl+F唤出小窗口,点击替换,找对正则表达式,然后全部替换
我的正则如下
1 2 |
查找目标:(-?[1-9]\d*) 替换目标:www.qcgzxw.cn/?p=$1 www.qcgzxw.cn/$1.html |
然后全选复制规则,粘贴到百度站长平台和360站长平台等待审核即可。
PS:360站长平台提交url对时不需带http(www.qcgzxw.cn/?p=123 www.qcgzxw.cn/123.html),百度站长平台需要带http(https://www.qcgzxw.cn?p=123 https://www.qcgzxw.cn/123.html)
后言
应用rewriter之后,旧链接会自动301重定向到新链接。
网站改版对收录还是有一定影响,希望做好心理准备!
中国博客联盟祝博主新春大吉
感谢组织!
林浩楠到此一访,祝博主新年快乐
新年快乐,感谢留下脚印!已回访