使用robots.txt或301重定向来修复重复错误

时间:2015-10-13 11:38:38

标签: .htaccess redirect http-status-code-301 robots.txt

我们遇到的问题是Google认为/product.html与/category/product.html相同。它们都是相同的内容,但有两个单独的页面。我可以手动

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文件中?或者,如果有一种方法可以使用301重定向在.htaccess文件中执行此操作。或者,如果在Opencart中有一种方法可以自动将/product.html 301添加到/category/product.html(问题在于每个产品都有多个类别)。

由于

1 个答案:

答案 0 :(得分:0)

你可以做两件事:

在您的.htaccess

通用301重定向

RewriteEngine On

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

在您的HTML模板中

在产品模板中添加以下内容。这将有助于Google在有重复内容时知道哪个页面正确。

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

Google建议不要将robots.txt用于此目的:

  

虽然我们鼓励您使用这些方法中的任何一种,但它们都不是   需要。如果您没有指明规范网址,我们会确定哪些内容   我们认为是最好的版本或URL。

     

请勿将robots.txt文件用于规范化目的。不要用   规范化的URL删除工具:删除所有版本的   来自搜索的网址。不要将不同的URL指定为规范   同一页面(例如站点地图中的一个网址以及相同的网址)   页面使用rel =“canonical”)。

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]