问题描述

在博客上的日期做了一些研究之后,似乎从现有的帖子中删除它们是一个好主意。

考虑:

  1. Self-hosted(在 Bluehost 上)

  2. 超过 1,000 个现有职位

  3. 所有帖子均由 Google 建立索引,许多帖子都与其他域名相关联。许多帖子都被链接到博客里。不想破坏链接。

  4. 不想失去 Google 的职位的 Pagerank 或年龄。这非常重要,因为大部分流量来自 Google,许多网页排名很好。

  5. 当前的 URL 是:http://www.thedomain.com/blog/2012/07/01/blah-blah-blah-blah/

  6. 新网址应为 http://www.thedomain.com/blah-blah-blah-blah/

我知道它可以用 ModRewrite 完成,但这是最好的方法吗? Google 会知道这是同一个帖子吗?

是否可以改变永久链接?

最佳解决方案

你会发现这篇文章由 Joost De Valk 在 changing WordPress permalinks 只包括/%postname% 非常有帮助。

如果您使用最新版本的 WordPress(至少> v3.3.1),您有多少个帖子不再重要。

我相信你的永久链接结构最初是 – 这个/blog/%year%/%monthnum%/%day%/%postname%/ – 现在,你打算使用一个更简单的一个 – /%postname%/ – amirite?

如果上述是正确的,您只需要将此规则添加到.htaccess 文件,并且它应该照顾所有 301 重定向:

RedirectMatch 301 ^/blog/([0-9]{4})/([0-9]{2})/([0-9]{2})/([^/]+)/$ http://www.thedomain.com/$4

由于它是一个 301 重定向,是的,Google 最终会知道该帖子已被移动到一个新的 URL 。

编辑:顺便说一下,重定向规则不需要 mod_rewrite 。它使用 mod_alias,默认情况下大部分 (如果不是几乎所有) 主机启用。

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。