Google 支持 robots.txt 中的通配符。 robots.txt 中的以下指令将阻止 Googlebot 抓取任何具有任何参数的网页:
Disallow: /*?
这不会阻止许多其他蜘蛛抓取这些 URL,因为通配符不是标准 robots.txt 的一部分。
Google 可能会花一些时间从搜索索引中删除您已阻止的网址。额外的 URL 可能仍会被索引数月。在网址被阻止后,您可以使用网站站长工具中的“删除网址”功能来加快这一过程。但这是一个手动过程,您必须粘贴要删除的每个单独的 URL。
如果 Googlbot 找不到不带参数的 URL 版本,则使用此 robots.txt 规则还可能会损害您网站的 Google 排名。如果您经常链接到带有参数的版本,您可能不希望在 robots.txt 中阻止它们。最好使用下面的其他选项之一。
更好的选择是使用rel 规范元标记 http://googlewebmastercentral.blogspot.com/2009/02/specify-your-canonical.html在您的每个页面上。
因此,您的两个示例 URL 的标题部分都将包含以下内容:
<link rel="canonical" href="http://www.site.com/shop/maxi-dress">
这告诉 Googlebot 不要为页面的这么多变体建立索引,而只为您选择的 URL 的“规范”版本建立索引。与使用 robots.txt 不同,Googlebot 仍然能够抓取您的所有网页并为其分配值,即使它们使用各种网址参数也是如此。
另一种选择是登录谷歌网站管理员工具 https://www.google.com/webmasters/tools/并使用“抓取”部分中的“URL 参数”功能。
到达那里后,单击“添加参数”。您可以将“product_type”设置为“不影响网页内容”,这样 Google 就不会抓取具有该参数的网页并将其编入索引。
对您使用的每个不更改页面的参数执行相同的操作。