Google:在robots.txt中禁用某些查询字符串

The*_*Kid 12 seo robot google-search query-string

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
Run Code Online (Sandbox Code Playgroud)

我有上面数以千计的网址.不同的组合和名称.我还有这些具有查询字符串的URL的副本product_type=sale

我想禁用谷歌索引任何东西 product_type=sale

这在robots.txt中是否可行

Ste*_*ler 22

Google支持robots.txt中的通配符.robots.txt中的以下指令会阻止Googlebot抓取任何包含任何参数的网页:

Disallow: /*?
Run Code Online (Sandbox Code Playgroud)

这不会阻止许多其他蜘蛛抓取这些网址,因为通配符不是标准robots.txt的一部分.

Google可能会花时间从搜索索引中删除您阻止的网址.额外的URL可能仍会被索引数月.您可以在网站管理员工具被阻止后使用"删除网址"功能来加快处理速度.但这是一个手动过程,您必须粘贴每个要删除的URL.

在Googlbot找不到没有参数的网址版本的情况下,使用此robots.txt规则也可能会损害您网站的Google排名.如果您通常链接到带参数的版本,您可能不希望在robots.txt中阻止它们.最好使用下面的其他选项之一.


更好的选择是在每个页面上使用rel规范元标记.

因此,您的示例网址在head部分中将包含以下内容:

<link rel="canonical" href="http://www.site.com/shop/maxi-dress">
Run Code Online (Sandbox Code Playgroud)

这告诉Googlebot不要索引页面的这么多变体,只是索引您选择的URL的"规范"版本.与使用robots.txt不同,Googlebot仍然可以抓取您的所有网页并为其分配价值,即使他们使用各种网址参数也是如此.


另一种方法是登录Google网站站长工具并使用"抓取"部分中的"网址参数"功能.

在那里,单击"添加参数".您可以将"product_type"设置为"不影响页面内容",以便Google不会使用该参数对网页进行抓取和索引.

在此输入图像描述

对于您使用的不更改页面的每个参数执行相同操作.


moo*_*bot 9

是的,这很简单.在robots.txt文件中添加以下行:

禁止:/*product_type = sale

前面的通配符(*)表示任何包含的网址product_type=sale都不会被Google抓取.

虽然他们之前可能仍然留在谷歌的索引中,但谷歌将不再抓取它们,并且当在谷歌搜索中查看时会说:由于该网站的robots.txt,此结果的描述不可用 - 了解更多.

进一步阅读:Robots.txt规格

  • 将URL添加到robots.txt将不会**立即从索引中删除它们.它只会阻止Googlebot再次抓取它们.要从Google索引中删除网址,您需要添加noindex元标记或rel规范元标记(并让google抓取它们); 或者在robots.txt中手动输入每个网站管理员工具删除请求 (2认同)