問題描述

在部落格上的日期做了一些研究之後,似乎從現有的帖子中刪除它們是一個好主意。

考慮:

  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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。