【问题标题】:Will google crawl or index if API is disallowed in robots.txt如果 robots.txt 中不允许使用 API,Google 会抓取或编制索引
【发布时间】:2017-02-27 12:46:06
【问题描述】:

我希望 googlebot 将动态添加到我的站点地图的网址编入索引。我添加的 URL 用于配置文件 (example.com/username)、博客等...我使用带有 react-router 的服务器端渲染,并且一些组件使api 调用api.example.com/...。在阅读了有关爬虫和robots.txt 的文档之后。我了解到 googlebot 在抓取页面时会向链接发出请求。因此,服务器从googlebot.com 获取请求,googlebot 也在进程中与robots.txt 交互。

好吧,我不希望谷歌抓取我的 api 或链接到它的人。这会使服务器过载。 Instagram 的做法完全相同 https://instagram.com/robots.txt

User-agent: *
Disallow: /api/

由于我的理解,我有点困惑谷歌如何抓取公共个人资料的页面(谷歌“Kelly Slater instagram”)。

另外,https://developer.android.com/training/app-indexing/enabling-app-indexing.html#robots(最后一段 - 页面底部)说我需要改为允许 google 向/api/ 发出请求。

问题

  1. 因为/api/被屏蔽了,google如何爬取Instagram页面?它是否等待来自服务器的响应并忽略robots.txt,因为它是来自另一个页面的间接请求?

  2. 网络抓取与应用抓取不同吗?我是否需要启用/api/ 以使我未来的android 应用程序可抓取?

  3. 我还注意到 Instagram 的 robots.txt 中没有 Sitemap: ... 字段。他们是否使用google ping 等搜索引擎的api 提交站点地图?

【问题讨论】:

    标签: android api reactjs sitemap google-search


    【解决方案1】:

    这篇文章中有很多问题,但我们最近遇到了这个问题,总结一下:

    • 首先 Google 加载了我们的初始 HTML 页面。
    • 然后它将 API 调用视为 499 错误,并在检索响应之前关闭连接。
    • 如果页面需要来自被阻止的 API URL 的数据,则无法获取数据,因此(在我们的网站上)无法正确加载页面。

    因此,如果您希望 Google 仍然抓取页面但无需必要的 API 调用,请务必先设置后备或阻止页面被抓取。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-07
      • 1970-01-01
      • 2017-02-28
      • 1970-01-01
      • 1970-01-01
      • 2011-02-13
      相关资源
      最近更新 更多