Ajax 识别搜索引擎爬虫

Ajax 识别搜索引擎爬虫,ajax,web,web-crawler,Ajax,Web,Web Crawler,我在一个网站上工作,该网站通过AJAX加载数据。我还希望整个网站可以被谷歌和雅虎等搜索引擎抓取。 我想做2个版本的网站。。。 [1] 当用户到来时,超链接应该像GMAIL一样工作 [2] 当爬虫出现时,超链接应该正常工作(AJAX模式关闭) 如何识别爬虫程序???爬虫程序的http头应包含用户代理字段。您可以在服务器上检查此字段 是大量用户代理的列表。一些例子: Google robot 66.249.64.XXX -> Googlebot/2.1 ( http://www.googleb

我在一个网站上工作,该网站通过AJAX加载数据。我还希望整个网站可以被谷歌和雅虎等搜索引擎抓取。 我想做2个版本的网站。。。 [1] 当用户到来时,超链接应该像GMAIL一样工作 [2] 当爬虫出现时,超链接应该正常工作(AJAX模式关闭)


如何识别爬虫程序???

爬虫程序的http头应包含用户代理字段。您可以在服务器上检查此字段

是大量用户代理的列表。一些例子:

Google robot 66.249.64.XXX ->
Googlebot/2.1 ( http://www.googlebot.com/bot.html)       

Harvest-NG web crawler used by search.yahoo.com 
Harvest-NG/1.0.2     

爬虫程序的http标头应包含用户代理字段。您可以在服务器上检查此字段

是大量用户代理的列表。一些例子:

Google robot 66.249.64.XXX ->
Googlebot/2.1 ( http://www.googlebot.com/bot.html)       

Harvest-NG web crawler used by search.yahoo.com 
Harvest-NG/1.0.2     

爬虫程序通常可以通过用户代理HTTP头来识别。查看爬虫的用户代理列表。例如:

谷歌:

  • Mozilla/5.0(兼容;Googlebot/2.1;+)
  • 谷歌机器人/2.1(+)
  • 谷歌机器人/2.1(+)
此外,以下是一些以各种语言获取用户代理字符串的示例:

PHP:
$_SERVER['HTTP_USER_AGENT']

Python Django:
request.META["HTTP_USER_AGENT"]

Ruby On Rails:
request.env["HTTP_USER_AGENT"]

...

爬虫程序通常可以通过用户代理HTTP头来识别。查看爬虫的用户代理列表。例如:

谷歌:

  • Mozilla/5.0(兼容;Googlebot/2.1;+)
  • 谷歌机器人/2.1(+)
  • 谷歌机器人/2.1(+)
此外,以下是一些以各种语言获取用户代理字符串的示例:

PHP:
$_SERVER['HTTP_USER_AGENT']

Python Django:
request.META["HTTP_USER_AGENT"]

Ruby On Rails:
request.env["HTTP_USER_AGENT"]

...

您不应该向您的用户和爬虫提供不同形式的网站。如果谷歌发现你这么做,他们可能会因此降低你的搜索排名。此外,如果你有一个只针对爬虫的版本,它可能会在你没有注意到的情况下崩溃,从而给搜索引擎带来坏数据


我建议您构建一个不需要AJAX的站点版本,并且在每个页面上都有指向非AJAX版本的突出链接。这也将帮助那些可能不喜欢AJAX版本的用户,或者那些拥有无法正确处理它的浏览器的用户。

您不应该向您的用户和爬虫提供不同形式的网站。如果谷歌发现你这么做,他们可能会因此降低你的搜索排名。此外,如果你有一个只针对爬虫的版本,它可能会在你没有注意到的情况下崩溃,从而给搜索引擎带来坏数据


我建议您构建一个不需要AJAX的站点版本,并且在每个页面上都有指向非AJAX版本的突出链接。这也将帮助那些可能不喜欢AJAX版本的用户,或者那些拥有无法正确处理它的浏览器的用户。

这种方法只会让你的生活变得困难。它要求您维护站点的两个完全独立的版本,并尝试猜测为任何给定用户提供哪个版本。搜索引擎不是唯一没有JavaScript可用和启用的用户代理


遵循和的原则。这就避免了确定给用户提供哪个版本的需要,因为JS在保留一个正常工作的HTML版本时可能会失败。

这种方法只会让你的生活变得困难。它要求您维护站点的两个完全独立的版本,并尝试猜测为任何给定用户提供哪个版本。搜索引擎不是唯一没有JavaScript可用和启用的用户代理


遵循和的原则。这避免了需要确定给用户提供哪个版本,因为JS可能会在留下一个正常工作的HTML版本时失败。

如果我给注册用户提供一个使用AJAX版本的选项会怎么样?如果我给注册用户提供一个使用AJAX版本的选项会怎么样?谢谢,我将搜索更多关于这个的信息。关于哪个搜索引擎我将搜索更多关于这方面的信息。关于搜索引擎,我将搜索更多关于这方面的信息。。但正如Brian所说,这可能会影响搜索引擎排名:(谢谢你的回答,我会在上面搜索更多。)但正如Brian所说,这可能会影响搜索引擎排名:(我理解这一点,我的计划是用简单的HTML方式来实现……只是为了增强页面在用户浏览器中的加载,如果用户具有JS功能,URL将以ajax形式更改,如……从(abc.com?var=xyz)更改为(abc#var=xyz)因此,我将制作传统版本以及基于ajax的版本…现在,当我意识到其缺点时,我将重新考虑它,谢谢..我理解这一点,我的计划是用简单的HTML方式来实现…只是为了增强页面加载到用户浏览器中,如果用户具有JS功能,URL将以ajax形式更改,如…从(abc.com?var=xyz)到(abc#var=xyz),因此我将制作传统版本以及基于ajax的版本…现在,当我意识到缺点时,我将重新考虑它,谢谢。。