因为灵活的 Rewrite 模块,导致在使用 WordPress 建立网站很容易遇到链接失效的情况,这种链接对于网站的用户体验和 SEO 都是非常不利的。
假如你修改了一个分类的别名,那么这个分类之前的链接会失效;甚至你修改了固定链接,这样所有文章的链接都会失效。如果这些链接已经存在了一段时间,被搜索引擎收录或者被用户添加进了收藏夹,当它们再次访问的时候就会找不到这篇文章,出现 404 页面,非常尴尬。
解决这个问题最好的办法就是利用 301 跳转 (永久重定向) 。当有人访问这个链接的时候自动跳转到新的链接,无论对于用户还是搜索引擎来说都不会产生太大的影响。
得力于强大的插件资源,在 WordPress 中可以很轻松的做到这一点,不用懂得任何编程或服务器知识。
Redirection
插件 Redirection 就是用来进行 301 重定向的。在安装并启用它之后,可以通过点击后台的 「工具」→「转向 (Redirection)」 来进入它的控制面板:
控制面板首页:
如何设置 301 重定向
在插件的控制面板,找到下边的 「添加新的转向记录」 版块,可以设置将本网站的任意链接重定向到任意网站的任意链接:
这里有一些比较复杂的选项,不过别担心。如果你只想设置一个简单的 301 跳转,不需要选择什么,只需要设置 「原始 URL」 和 「目标 URL」,然后点击 「添加转向记录」 即可。
添加完之后别忘了去测试一下,确保设置的成功有效。
更改固定链接自动跳转失效的文章链接
(本节可能要掌握一定的正则表达式知识) 。
如果你更改了固定链接,之前的文章链接会全部失效,一个一个的添加跳转是非常不明智的。
因为修改固定链接导致的文章链接失效,通常原链接和新链接之间会有一些规律,利用 Redirection 插件的正则表达式匹配链接功能,把这些规律通过正则表达式书写出来,就能让插件自动将失效的文章链接跳转到新的文章链接。
比如我之前就将本站的固定链接从 「/%postname%.html」 更换成了 「/%postname%/」,然后在插件里添加这样的跳转记录:
现在访问本站类似 「www.weixiaoduo.com/post-name-xxx.html」 的链接会全部跳转到 「www.weixiaoduo.com/post-name-xxx/」 。
分组
如果你添加了很多跳转记录,那么强烈建议利用插件的分组功能来把跳转记录分组,方便日后的维护和管理。
在插件控制面板的 「分组」 选项卡下,就可以建立和管理分组:
可以在 「添加分组」 版块下面添加分组。先输入分组的名称,然后点击 「添加」 按钮就行了。
接下来编辑跳转记录的时候就可以在 「组」 选项选择之前创建的分组了:
404 错误日志
「404s」 选项卡记录了网站出现的所有 404 错误。鼠标悬浮到任意一条 404 记录上,日期的下方会出现一个叫做 「Add redirect」 的按钮,点击就可以直接创建 301 跳转。
点击 「Add redirect」 之后
如上图,错误的链接自动出现在输入框中,输入一个跳转目标,就可以给这个 404 页面设置跳转了,非常方便。
同时,这个日志还可以帮助你发现一些网站攻击者的 IP 地址,虽然很少有攻击者用真实 IP,但是有时候封禁这些 IP 也能阻止一些攻击和扫描。
随机文章
分享一个插件使用小技巧,Redirection 插件支持把一个链接跳转到一篇随机文章。添加一条类似这样的跳转记录:
访问原始地址,是不是发现跳转到了一篇文章呢?多试几次就会发现,这个链接会把访客带到一篇随机文章上,把这个链接添加到网站上,可以增加趣味性哦!
使用 Apache 和 Nginx 进行跳转
「模块」 选项卡可以根据我们的跳转记录生成用于 Apache 和 Nginx 的服务器重写规则 (前提是要把记录对应的分组的模块设置好) 。用 Apache 和 Nginx 进行跳转,速度和资源消耗都会优秀不少,而且还支持在对 404 进行页面缓存的情况下跳转。
配置起来不是很复杂,感兴趣的同学可以尝试一下,这里我不再阐述。