前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WordPress更改固定链接诸项事宜

WordPress更改固定链接诸项事宜

作者头像
神无月
发布2018-06-22 10:29:48
1.7K0
发布2018-06-22 10:29:48
举报
文章被收录于专栏:小文博客小文博客

本文目录

前言

记一次站点更改WordPress固定链接并提交百度站长平台链接改版。近日,由于看着 朴素 的链接不顺眼,本着生命在于折腾的心态,准备着手将WordPress固定链接由原本的朴素改为自定义。

即 https://www.qcgzxw.cn/?p=6666 -> https://www.qcgzxw.cn/6666.html

具体思路

由于前几次更换完固定链接后出现新链接访问404的症状,以及担心百度掉收录等等问题,这次大改之前可以说是做足了准备。

固定链接更改后访问文章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;

1234567891011121314

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

  1. 配置好重写规则,更新固定链接
  2. 去各大站长平台添加网站改版规则(目前就百度和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文件,具体代码如下

<?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 />"; } ?>

1234567891011

<?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-9]\d*) 替换目标:www.qcgzxw.cn/?p=$1 www.qcgzxw.cn/$1.html

12

查找目标:(-?[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重定向到新链接。

网站改版对收录还是有一定影响,希望做好心理准备!

打赏博主
打赏博主
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年2月11日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 具体思路
    • 固定链接更改后访问文章404
    • 更改固定链接
    • 添加网站改版规则
      • 规则选择说明
        • 规则编写
        • 后言
        相关产品与服务
        云开发 CloudBase
        云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档