Google 抓取工具必须能够访问您的 ads.txt 文件。在您创建 ads.txt 文件并在根网域上设置该文件后,Google 抓取工具将执行以下操作:
- 尝试抓取该文件。
- 解析该文件的内容,以确定有权通过您的广告资源获利的卖家 ID。
排查 ads.txt 的抓取工具问题
为确保您的 ads.txt 文件能够被抓取,我们建议您完成以下问题排查步骤。
(高级)这些步骤要求用户了解 HTTP 状态代码,适合高级用户。
确保文件未出现暂时不可用的情况
如果先前看到的 ads.txt 文件在后续重新抓取时不可用,则先前看到的条目将会出现以下情况:
- 如果响应为硬 404 错误(网页实际不存在;HTTP 404 状态),将被完全清除。
- 如果响应为软 404 错误(针对实际不存在的网址返回实际网页;HTTP 200 状态)或服务器错误 500,将被保留最多 5 天。
确保文件可以通过根网域访问
从 domain.com/ads.txt
到 www.domain.com/ads.txt
的重定向相当常见。Ads.txt 的抓取将从根网域开始,而根网域需要从 ads.txt 文件返回或重定向到 ads.txt 文件。
www.domain.com/ads.txt
上的 ads.txt 文件只有在 domain.com/ads.txt
重定向到它时才会被抓取。
确保 robots.txt 未禁止抓取操作
如果某个网域中的 robots.txt 文件不允许以下任意一项,则抓取工具可能会忽略该网域的 ads.txt 文件:
- 抓取用于发布 ads.txt 文件的网址路径。
- 抓取工具的用户代理。
对于 example1.com:
- ads.txt 文件发布在
example1.com/ads.txt
上。 example1.com/robots.txt
中包含以下行:User-agent: *
Disallow: /ads
- 遵守 robots.txt 标准的抓取工具会忽略 ads.txt 文件。
- 您可以按如下方法修改 robots.txt 文件以允许抓取文件(也可以采用其他方法):
- 方法 1:修改不允许抓取的路径。
User-agent: *
Disallow: /ads/
- 方法 2:明确允许 ads.txt;这取决于抓取工具对
Allow
robots.txt 指令的支持情况。User-agent: *
Allow: /ads.txt
Disallow: /ads
- 方法 1:修改不允许抓取的路径。
对于 example2.com:
- ads.txt 文件发布在
example2.com/ads.txt
上。 example2.com/robots.txt
中包含以下行:User-agent: Googlebot
Disallow: /
- Google 抓取工具会忽略 ads.txt 文件。
确保返回的文件具备 HTTP 200 OK 状态代码
虽然对 ads.txt 文件的请求可能会在响应正文中返回文件内容,但是如果响应标头中的状态代码指示未找到该文件(例如状态代码 404),则:
- 系统将会忽略该响应。
- 该文件将被视为不存在。
确保该文件具备 HTTP 200 OK 状态代码。
确保文件中没有格式错误或无效字符
格式错误(例如无效的空白字符)可能难以检测,但却会使 ads.txt 文件难以被抓取工具解析,从而可能导致文件被忽略。请避免从富文本编辑器复制和粘贴 ads.txt 条目;建议使用纯文本编辑器。您还可以使用十六进制编辑器检查 ads.txt 文件中是否存在无效的 UTF-8 字符。
创建通过 HTTP 和 HTTPS 均可访问的 ads.txt 文件
无论在 HTTP 上还是 HTTPS 上,Google 抓取工具都会尝试抓取所有 ads.txt 文件。但是,即使通过 HTTP 对 ads.txt 文件进行抓取,404(或 40X)响应也会导致先前被抓取的条目被完全清除。因此,如果通过 HTTPS 实施的抓取返回 404(或 40X),那么:
- 之前抓取的条目将会被完全清除。
请确保 ads.txt 通过 HTTP 和 HTTPS 都能进行访问。