更改永久链接(Permalink)

终于痛下决心改变原有的永久链接结构了,下面所说的都是wp环境下的问题,其他环境的博客请不要对号入座。由于每改动一次链接对网站流量来说就像是一次地震,虽然有很好的重定向,但是也不能完全解决问题,所以做出这样的决定也是无奈之举,趁现在流量还不算太大的时候改变要比流量大了之后再修改要好很多。

一、原因分析

由于之前为了链接优化,听从了他人的建议,将永久链接结构改成了/archives/%postname%.html这样的形式,这种形式的好处是,在搜索引擎里就能抓取到连接中的文字,这对于搜索优化效果应该是最好的,而从google搜索一下试试就知道,事实也正是如此,链接中的字很明显的变成了搜索关键词,并加以粗体显示:

gudinglianjie

而百度搜索不能识别这种链接中的中文,中文部分显示乱码,可以自行测试。

在链接地址的显示上也有所差异:

以“做啥网采纳了我的建议”这篇文章为例,在firefox,chrome下显示:

https://joojen.com/fangyang/archives/做啥网采纳了我的建议.html

在IE下实现则是这样的:

https://joojen.com/fangyang/archives/%e5%81%9a%e5%95%a5%e7%bd%91%e9%87%87%e7%ba%b3%e4%ba%86%e6%88%91%e7%9a%84%e5%bb%ba%e8%ae%ae.html

在多数情况下拷贝的链接都是第二种形式,这种形式的链接将中文文字全部转化成编码,所以使得链接变得很长,使用起来不方便,而前一种形式在有些网站是支持的,但是也不完美,经常由于中英文混搭导致链接不完整,例如,在做啥上就将这篇文章的链接变成了这样:

http://zuosa.net/qeip.u做啥网采纳了我的建议.html

只将前面英文部分转换成了链接,而中文部分则被忽略,这样导致的结果是点击链接之后打开的是https://joojen.com/fangyang/archives/,到达不了该篇文章,导致404错误。

二、解决问题

将链接结构调整为/archives/%post_id%.html这种短结构,上面那篇文章的链接变成了https://joojen.com/fangyang/archives/812.html

简单了很多,在各种浏览器下均如此现实,在链接传递过程中也不会出现被截断的现象。

唯一的缺点是无法实现上文中提到的搜索引擎链接优化效果,不过好在现在的搜索引擎技术有了长足的进步,这些小问题已经不是阻碍搜索引擎收录的门槛。

三、重定向

接下来所要做的就是重定向,否则那些搜索引擎或者各大网站收录的你的文章链接都将失效,这将会被搜索引擎认为很不友好,会降权或者惩罚,我试过.htaccess和Dean’s Permalinks Migration插件,均无法完美完成这个任务,如果你的%postname%是英文的连接结构那么Dean’s Permalinks Migration插件则是首选,简单快捷的实现重定向,含中文的则无法实现。

今天花了一些时间终于找到了一个插件可以完美实现包含中文的链接结构%postname%到%post_id%的重定向,该插件为Permalink Redirect,目前2.04版本,激活该插件后在Old Permalink Structures:区域填上以前的链接结构(/archives/%postname%.html)保存即可,这将对《放羊博客》在用户阅读体验上有所提升。该插件还能完美重定向你的feed和hostname,这里不再详细介绍。

目前测试没有发现问题,如有任何异常,欢迎报告。

PS:昨天查看主机的发现,一段时间没上来看我的1G空间用掉了700M多,对于只装几个wp博客的服务器实在不正常,即使我装了很多插件和主题用于测试,但也不至于700M之多,并且这个数字还在增加,打开cpanel仔细排查之后发现error_log文件就占到了600M左右,着实把我吓着了,由此可见服务器稳定和网站优化是多么重要。

56 Comments

  1. 这个就是Z-Blog的默认命名规则嘛,我认为不好。文件名一定要用有意义的英文(或汉语拼音)来生成,即尽可能的用包含关键字的英文名(或汉语拼音)来命名文件名,这样,可以扩大被搜索的范围,亲身体验啊,你从SE来的流量肯定会增加很多的。

    1. 这个我知道,每篇文章都要手动添加很不方便,用插件的话也是机械的将中文翻译过来,也不好,不如一次性改成这样一了百了,虽然会损失一部分流量

  2. 我的博客正好刚刚从Z-BLOG转到WordPress,需要调整相应的链接,这篇恰是及时雨,学习啦!!

  3. 我的是域名/post/id,有的人也说要改成archives,其实我感觉没什么很大的区别,实际上可能就是如果链接那样可以匹配广告什么的

      1. 就因为这个单词是有准确意义的,我曾经试过在另外一个博客上用meirong这个目录做固定链接分类,结果你猜怎样,一个空博客,没有任何文章,GG广告直接显示美容相关的广告

    1. 这样对于中文博客会比较麻烦,所以放弃了。如果是英文博客的话建议还是保留

  4. 我感觉用什么链接无所谓,毕竟通过搜索来博客的人不多,再说了,写博客的目的不是为了获得多少多少ip,目的是交流,即便是链接全改了,喜欢你博客的人照样会来,不喜欢的不改也不会来

    1. 这正是我想的,不想链接地址占到好几行,这样看得人很累,也不方便复制粘贴

  5. 如果我用的是permalink的别名功能呢?原来GOOGLE中收录的是我的ID.HTML的格式,现在想变成别名.html,怎么设置.htaccess呢?

  6. 博客目录在blog/下如何重定向?收录的文章都无法重定向,不带blog的全部重定向跳转了!

Comments are closed.