php - 阻止机器人抓取页面的 406 错误
问题描述
我将 SEMrush 用于 SEO 目的。我不确定为什么我在他们的网站上收到以下错误以抓取我的页面:
由于 HTTP 错误 406,我们无法使用 SEMrushBot 用户代理抓取此页面。尽管如此,我们还是收集了一些关于此页面的一般想法。请确保您的页面可以被搜索引擎爬虫访问,然后开始使用我们的想法对其进行优化。
什么可能导致 406 错误阻止机器人抓取页面?我相信谷歌能够抓取它,因为我没有任何错误。
我可以检查什么?
Robots.txt 文件:
User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /junk/
Disallow: /admin/
Disallow: /old-site/
sitemap: https://example.com/sitemap.xml
解决方案
406是错误,它告诉您服务器不会为您提供任何数据,因为您的用户代理不在其接受列表中。
根据请求中接收到的主动协商标头字段,目标资源没有用户代理可以接受的当前表示,并且服务器不愿意提供默认表示。
所以基本上解决这个问题的方法是改变你的用户代理。
推荐阅读
- c# - 去掉圆圈中间的点
- oracle - where 子句中的 CASE 语句中的 IN 运算符
- python - 用公式填充列而不删除标题
- c# - 具有纯色填充颜色的 C# EPPlus 数据栏条件格式
- c++ - MySQL 删除 JSON 字符串中的转义字符
- python - Python 正则表达式在文本的前面和后面找到多个换行符“\n”
- html - 嵌入启用了自动播放和全屏功能的 YouTube 视频
- python - 如何在 Python 中编写随机投票生成器
- mysql - MySql5.6中创建复合外键时,为什么主键的位置相关?
- python - 在 multiprocessing.Pool 工作人员之间避免使用全局变量来实现不可提取的共享状态