2015-10-13 91 views
0

我們遇到了一個問題,Google認爲/product.html與/category/product.html相同。他們都是相同的內容,但兩個單獨的頁面。我可以手動使用robots.txt或301重定向修復重複錯誤

Redirect 301 /product1.html https://www.website.com/category/product1.html 
Redirect 301 /product2.html https://www.website.com/category/product2.html 

但我們有成千上萬的產品和新的將不斷增加。

我想知道是否有做這樣的事情的一種方式:

Disallow: /*.html$ 
Allow: /*/*.html$ 

在robots.txt文件?或者,如果有一種方法可以在.htaccess文件中使用301重定向來做到這一點。或者,如果Opencart有辦法將/product.html自動301添加到/category/product.html(與此相關的問題是每個產品都有多個類別)。

感謝

回答

0

這裏有兩個事情可以做:

在你的.htaccess

一個普通的301重定向

RewriteEngine On 

RewriteRule ^category/(.+)$ $1 [L,R=301] 

在HTML模板

在您的產品模板中添加以下內容。這將有助於谷歌在重複內容時知道哪個是正確的頁面。

<link rel="canonical" href="https://www.website.com/product1.html" /> 

谷歌不建議使用robots.txt爲此目的:

雖然我們鼓勵您使用上述任何一種方法,他們都不是必需的 。如果您沒有指明規範網址,我們會標識我們認爲最好的版本或網址爲 。

請勿將robots.txt文件用於規範化目的。不要使用URL清除工具 進行規範化:它會從搜索中刪除所有版本的 URL。不要指定不同的URL作爲同一頁面的 的規範(例如,使用rel =「canonical」的網頁中的一個URL和相同的 頁面的不同URL)。

https://support.google.com/webmasters/answer/139066?hl=en#2


根據您的意見,這是重定向example.com/規則*。html的,以example.com/category/ *。html的

RewriteEngine On 

RewriteRule ^([^/]+.html)$ category/$1 [L,R=301] 
+0

謝謝回覆。 Canonicals對我們來說幾乎是不可行的,我們已經嘗試設置它們,但無法讓它們正常工作。 Opencart創建同一頁面的多種變體(例如,如果您鍵入example.com/randomletters/product.html它將不會404,但它會在該網址創建該頁面),但會保留所有這些的標準標記;使規範標籤無用。那麼301重定向到底做了什麼?它重定向類別/ *嗎?我們正在尋求將example.com/*.html重定向到example.com/category/*。html –

+0

我明白了相反的意思。檢查我的編輯,我已經添加了一個rewriterule以符合您的需求 –

+0

感謝您的編輯。那將product.html頁面添加到category/correct?但所有這些product.html頁面都在不同的類別中。我不認爲我能用301做到這一點,除非我單獨做每件產品 –