http://www.site.com/shop/maxi-dress?colourId=94&optId=694
http://www.site.com/shop/maxi-dress?colourId=94&optId=694&product_type=sale
我有上千个像上面这样的网址。不同的组合和名称。
我还有这些URL的副本,其中包含查询字符串product_type=sale
我想禁止Google使用product_type=sale
这在robots.txt中是否可行
答案 0 :(得分:21)
Google在robots.txt中支持通配符。 robots.txt中的以下指令将阻止Googlebot抓取任何包含任何参数的网页:
Disallow: /*?
这不会阻止许多其他蜘蛛抓取这些网址,因为通配符不是标准robots.txt的一部分。
Google可能会花时间从搜索索引中删除您阻止的网址。额外的URL可能仍会被索引数月。您可以在网站管理员工具被阻止后使用“删除网址”功能来加快处理速度。但这是一个手动过程,您必须粘贴每个要删除的URL。
在Googlbot找不到没有参数的网址版本的情况下,使用此robots.txt规则也可能会损害您网站的Google排名。如果您通常链接到带参数的版本,您可能不希望在robots.txt中阻止它们。最好使用下面的其他选项之一。
更好的选择是在每个网页上使用rel canonical meta tag。
因此,您的示例网址在主题部分中将包含以下内容:
<link rel="canonical" href="http://www.site.com/shop/maxi-dress">
这告诉Googlebot不要索引页面的这么多变体,只能索引您选择的URL的“规范”版本。与使用robots.txt不同,Googlebot仍然可以抓取您的所有网页并为其分配价值,即使他们使用各种网址参数也是如此。
另一种选择是登录Google Webmaster Tools并使用“抓取”部分中的“网址参数”功能。
在那里,点击“添加参数”。您可以将“product_type”设置为“不影响页面内容”,以便Google不会使用该参数对网页进行抓取和索引。
对您使用的每个不更改页面的参数执行相同的操作。
答案 1 :(得分:9)
是的,这很简单。在robots.txt文件中添加以下行:
禁止:/ * product_type = sale
前面的通配符(*)表示Google不再会抓取包含product_type=sale
的所有网址。
虽然他们以前可能仍然留在谷歌的索引中,但谷歌将不再抓取他们,并且当在谷歌搜索中查看时会说:由于此网站的原因,该结果的描述不可用robots.txt - 了解更多信息。