WordPress更改固定链接诸项事宜

本文目录

前言

记一次站点更改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重定向到新链接。

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏小文博客

红米note3全网通线刷救砖——小文’s blog

1K2
来自专栏杨建荣的学习笔记

运维平台的建设思考-元数据管理(二)(r8笔记第11天)

之前分享过一篇元数据管理的文章 运维平台的建设思考-元数据管理,如果服务器不多,或者人也不多,基本都是按照下面的方式来管理。 比如下面是14台服务器,会在特定...

39115
来自专栏企鹅号快讯

Ubuntu更新内核和NVIDIA:修复Meltdown与Spectre漏洞

正如承诺的那样,Canonical刚刚发布了新内核和Nvidia更新,以解决所有受支持的Ubuntu Linux版本中的Meltdown和Spectre安全漏洞...

2586
来自专栏Jack-Cui

Jetson TX1开发笔记(一):开机设置与刷机

PC平台(Host): 虚拟机Ubuntu14.04 嵌入式平台(Target): Jeston TX1 一、开箱测试     Jetson TX1是英伟...

45110
来自专栏皮振伟的专栏

[x86][gcc]PAUSE指令在Skylake上引起的性能问题

前言: docker部署的相同的业务,Host OS也是相同的版本,但是一段代码跑在E5-2630 v4和Gold 5118上,性能却相差很多。业务在在Gold...

1934
来自专栏安恒网络空间安全讲武堂

【译】使用Apache的mod重写来保护你的C2 Empire

背景 伴随着维基红色团队基础架构(Red Team Infrastructure Wiki)的发布,今年圣诞节早早来临。 它在Jeff Dimmock和Stev...

2475
来自专栏新智元

入坑搞定Python多种任务,Go 1.11 新版本正式发布!

新版本在工具链、运行时和库等方面有很多变化和改进,兼容性方面也依然会兼容旧版本。此外,新版本增加了两个最激动人心的新特性:对模块(modules)和WebAss...

1311
来自专栏游戏杂谈

网页二维码推广App的实现

1、已经下载过的用户,可以直接打开应用(一般人的手机上安装的应用都非常多,要快速找到某个应用是很困难的事情,而且Android、IOS的搜索都做的很烂~ ~ )...

1552
来自专栏木子昭的博客

教你在Github写开源电子书

前段时间, 写了一篇从Github下载开源电子书, 收到很多赞, 有朋友问我, 如何写自己的开源电子书? 我在这里就详细的写一写... 前期准备: 申请一个自...

3957
来自专栏java思维导图

思维导图之《鸟哥的Linux私房菜基础篇-第三版》

作者:被称为L的男人 原文链接:http://www.jianshu.com/p/ec06e1ace0bd 说明 使用思维导图 Mindjet MindMana...

3104

扫码关注云+社区