首页 > 上海日记 > WordPress 更换固定链接的方法
2013
04-02

WordPress 更换固定链接的方法

  北街在 2007 年下半年开始使用 WordPress 建立个人博客,当时随便买了域名,后来知道这样的域名利于 SEO。年底,北街博客进行了一次域名更换,正式使用ibeijie.cn。最近,又解决掉了一个大难题,就是给 WordPress 博客更换了固定链接。

  Wordpress 更换固定链接的原因是想将 /%postname% 更换为 /%postname%.html。改完之后,不幸的事情发生了,从谷歌和百度收录北街博客的文章链接点击进来,全部是本站的404错误页面。

  于是按照网上的教程尝试使用 Dean’s Permalinks Migration 或者 Permalinks Redirect 两款插件来实现旧页面到新链接之间的跳转。

  首先我使用的是 Dean’s Permalink Migration,安装激活全在 wordpress 后台即可执行。理论上说,按照我的情况,设置也应该十分简单:在 Permalinks Migration 设置 Old Permalink Structure 为 /%postname%,保持当前固定链接为 /%postname%/ 即可。但是如此设置之后,根本没有效果,仍然全部 404 错误页面。

  接下来尝试 Permalink Redirect,这个插件确实可以实现我想要的功能,但是配置较为复杂,如果编程水平一般的朋友,无法实现批量链接替换。

  最后,北街终于发现了一款可以进行301重定向的 Permalink Redirect 插件,作者是Scott Yang(插件主页)。与 Dean’s Permalinks Migration 不同的是,这款插件可把多个旧的固定链接形式,转向当前的固定链接。假如之前的固定链接设置多个并被收录后,这时这一点相当好用。

  其实这种情况也可以编辑 .httacess 文件来解决。作为 SEO,我们肯定推荐使用 301 跳转,当用户访问 domain1.com 时,自动引导用户进入新域名 domain2.com,可以通过程序或域名跳转实现301跳转,这样可以将旧域名 PR 传递到新域名。搜索了下解决方案,有说重新提交更改固定链接后的 sitemap,并等待 Google 的更新。但等待更新不知要等至何时,并且这段时间全是 404 的页面,据说会导致被 Google 降权的危险。于是就得使用传说中的301重定向。

  但是第一次更换域名 301 重定向失败了,老域名的文章没有办法转到新的域名上来。这次域名的更换还继续保留以前的文章和所有的链接,更改成新域名后所有的文章固定链接都发生了变化,虽然老站还在继续运行只是不再更新而已,为了不白白浪费以前的工作和流量,可以通过了 301 重定向,把老站的文章通通转到过来。301 重定向的作用:规范网址;排除了重复页面;增加网址权重。而且在 linux 主机下,通过修改根目录 .htaccess 文件就可以简单实现这个功能。

  在使用301重定向时需要有几个前提条件:
  1. 保持新旧两站文章固定链接一致,搬迁时最好使用 wp-dbmanager 插件进行备份和还原数据库;
  2. 旧域名和空间必须要继续运行一定时间,大概要有两三个月;
  3. 空间主机类型为 linux 主机;

  如果上面的条件都没有问题的话,打开旧空间跟目录的 .htaccess 文件,删除所有的语句,并加入保存以下语句:

# BEGIN WordPress
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine on
rewritecond %{http_host} ^www.your-old-domain.com [nc]
rewriterule ^(.*)$ http://www.your-new-domain.com/$1 [L,R=301]
</IfModule>
# END WordPress

  .htaccess文件代码如下:

Options +FollowSymlinks
RewriteEngine on
rewritecond %{http_host} ^ibeijie.cn [nc]
rewriterule ^(.*)$ http://www.ibeijie.cn/$1 [r=301,nc]

  注释:如果用户访问http://ibeijie.cn/,则跳转至http://www.ibeijie.cn,且返回301状态码;当用户访问http://ibeijie.cn/post/301.html,则跳转至http://www.ibeijie.cn/post/301.html,并返回301状态码。

  通过这样301重定向不但平滑的过度了博客新老域名的更换,而且不会为带来很多的流量损失。

最后编辑:
作者:北街
身高八尺,腰围也是八尺!
捐 赠如果您觉得这篇文章有用处,请支持作者!鼓励作者写出更好更多的文章!

WordPress 更换固定链接的方法》有 44 条评论

  1. 冷柔 说:

    此文必火!

  2. 路过,留个脚印,网站很棒!

  3. 最励志网 说:

    网站不错很漂亮,欢迎互访!

  4. 牛逼思维 说:

    这次改了一次,亏大了。。

  5. 北街 说:

    我的备案了呀~

  6. 北街 说:

    lighttpd是个啥东东

  7. 北街 说:

    问题是 .com 的贵啊……呵呵

  8. cheap jersey 说:

    博客的ico图标太给力了。。。。

  9. 北街 说:

    @interjc 😕 问题是 .com 的贵啊……呵呵

  10. interjc 说:

    .cn 也不保险啊,还是 .com 最好了

  11. 洋洋 说:

    @北街 我用的kloxo。里面有两个可以选择。一个是apache。一个就是ligghttd、lighttd占内存要少一些、、

  12. 北街 说:

    @洋洋 🙄 lighttpd是个啥东东。

  13. 洋洋 说:

    如果用的lighttpd就伤感了。。

  14. 我懂的 说:

    我的也换域名了,从原来的tz81.com 301转向到 wodong.de

  15. yesureadmin 说:

    CN要备案北街不受影响?

  16. 谜尚b.b霜 说:

    看了半天也没弄明白
    还有域名解析的问题。

留下一个回复

你的email不会被公开。

This site uses Akismet to reduce spam. Learn how your comment data is processed.