本文共 3161 字,大约阅读时间需要 10 分钟。
前言
记一次站点更改
即 https://www.qcgzxw.cn/6666.html -> https://www.qcgzxw.cn/6666.html
具体思路
由于前几次更换完
固定链接更改后访问文章404
原因分析:未添加nginx或者apache的重写规则(rewriter)
解决办法:添加或将旧规则更新为以下代码
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;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
location/{
indexindex.htmlindex.php;
if(-f$request_filename/index.html){
rewrite(.*)$1/index.htmlbreak;
}
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应用配置。
配置好重写规则,更新固定链接
去各大站长平台添加网站改版规则(目前就百度和360有这个功能,其他的搜索引擎不管)
更改固定链接
这没啥好讲的,按你个人喜好以及搜索引擎喜好来确定具体的链接形势。
我选择/%post_id%.html的链接形势是为了微信小程序以及伪静态和站点收录
配置好nginx 的rewriter规则之后即可直接应用
添加网站改版规则
1. 当一个站点的域名或者目录发生变化时,如果想让百度快速收录变化之后的新链接、用以替换之前的旧链接,那么您就需要使用百度搜索资源平台的网站改版工具来提交您的改版关系,加速百度对已收录链接的新旧替换
2. 改版规则中的新旧链接一定要使用301的方式进行跳转
3. 建议您尽量使用站点改版和规则改版,会有比较短的处理周期,也缩短后续您反馈问题的追查用时间
4. 百度搜索资源平台对改版规则的校验时间范围为0.5——2小时,改版生效时间范围为12——48小时,整体来看,您从提交改版规则到线上生效,最短12.5小时,最长50小时
5. 该工具针对的是网站链接的改变,网站内容改版不适用于该工具
6. 您提交的三类改版形式,不能有交叉或者包含关系,即不能有一条链接同时属于多个改版形式
7. 改版跳转关系请长期保持,直到新站流量完全稳定
以上是百度改版说明。
规则选择说明
由于WordPress PostID不连续,若使用 规则改版会提示原链接访问错误。(原因可能是不连续ID或者重写规则的问题)
所以我们只能选择 新旧URL对的方式。
规则编写
获取全站文章链接,并将其编辑为旧链接 新链接的形式
在WordPress的根目录添加一个GetId.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."
";}
?>
1
2
3
4
5
6
7
8
9
10
11
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($myrowsas$b){
echo$b->ID."
";}
?>
然后访问你的域名+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-9]\d*)
替换目标:www.qcgzxw.cn/?p=$1 www.qcgzxw.cn/$1.html
1
2
查找目标:(-?[1-9]\d*)
替换目标:www.qcgzxw.cn/?p=$1www.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重定向到新链接。
网站改版对收录还是有一定影响,希望做好心理准备!
转载地址:http://kadko.baihongyu.com/