【问题标题】:How Search Engine Bots Crawl Forums?搜索引擎机器人如何爬取论坛?
【发布时间】:2008-11-07 07:45:18
【问题描述】:

如果我有一个包含大量线程的论坛站点,搜索引擎机器人是否会每次都抓取整个站点?假设我的站点中有超过 1,000,000 个线程,每次机器人抓取我的站点时它们都会被抓取吗?或者它是如何工作的?我希望我的网站被索引,但我不希望机器人杀死我的网站!换句话说,我不希望机器人每次爬取我的网站时都一遍又一遍地爬取旧线程。

另外,之前爬过的页面呢?每次爬取我的网站时,机器人都会请求它们以确保它们仍在网站上吗?我问这个是因为我只链接到最新线程,即有一个页面包含所有最新线程的列表,但我没有链接到旧线程,它们必须通过 URL 明确请求,例如http://example.com/showthread.aspx?threadid=7,这样可以阻止机器人关闭我的网站并消耗我所有的带宽吗?

附:该网站仍在开发中,但我想知道如何设计该网站,以免搜索引擎机器人将其关闭。

【问题讨论】:

    标签: seo search-engine


    【解决方案1】:

    复杂的东西。

    根据我的经验,这更多地取决于您使用什么 URL 方案将页面链接在一起,这将决定爬虫是否会爬取哪些页面。

    • 大多数引擎会抓取整个网站,如果它全部正确超链接并带有抓取友好的 URL,例如使用 URL 重写而不是 topicID=123 查询字符串,并且所有页面都可以轻松地从主页点击几下链接。

    • 1234563一个 index.php 用于整个网站。
    • 您不希望机器人意外访问某些执行某些操作的网页,例如链接到“delete.php?topicID=123”的“删除主题”链接,因此大多数爬虫也会检查这些情况。

    • 1234563一年前的帖子可能会被抓取。
    • 还有一些爬虫可以让你自定义它们的爬取行为……比如Google Sitemaps。你可以告诉他们抓取和不抓取哪些页面和订单等。我记得 MSN 和 Yahoo 也提供此类服务,但我自己从未尝试过。

    • 您可以通过在网站根目录中提供 robots.txt 文件来限制抓取机器人,使其不会淹没您的网站。

    基本上,如果您设计的论坛使网址看起来不会对爬虫有敌意,它会愉快地爬取整个网站。

    【讨论】:

      【解决方案2】:

      根据 chakrit 所说,一些搜索引擎(尤其是 Google)只会索引只有一两个参数的页面。之后,该页面通常会被忽略,可能是因为它被视为过于动态,因此 URL 不可靠。

      最好创建没有参数的 SEO 友好 URL,而是将实现隐藏在 Apache 中的 mod_rewrite 或 Rails 中的 routes 之类的后面。 (例如,http://domain.com/forum/post/123 映射到 http://domain.com/forum/post.php?id=123)。

      Chakrit 还提到了Google Sitemaps。这些对于确保 Google 扫描每个帖子并将其永久保存在索引中很有用。 Jeff Atwood 在 Stackoverflow podcast 24 上讨论了这个问题,他解释说,在将 Stackoverflow 帖子都放入站点地图之前,Google 不会保留所有帖子。

      【讨论】:

        【解决方案3】:

        抓取机器人不会一次抓取您的整个网站,而是每次访问时抓取一些网页。每个站点的爬取频率和每次爬取的页面数量差异很大。

        Google 索引的每个页面都会不时重新抓取一次,以确保没有任何变化。

        使用站点地图绝对有助于确保搜索引擎索引尽可能多的页面。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-04-15
          • 2011-05-14
          • 1970-01-01
          • 2010-10-15
          相关资源
          最近更新 更多