为google bot crawler提供不同的页面[关闭]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为google bot crawler提供不同的页面[关闭]相关的知识,希望对你有一定的参考价值。

我有一个SPA,里面有很多图像。我想将这些图像暴露给搜索引擎。所以我想创建只有机器人才能看到的“特殊”页面。页面将包含有关图像的元数据。

是否可以让googlebot抓取一个页面,但将其编入另一个页面?

答案

您可以设置一个只有谷歌机器人才能看到的页面。

How it works:

您基本上设置了一个服务器,它像客户端的浏览器一样,并且“位于”提供html和资产(JS / CSS /图像)的“真实服务器”和Crawler Bot之间。此服务器称为预渲染服务器,它只将数据发送给僵尸程序,而不是发送给真正的客户端,因为它有自己的映射使用它的URL。 URL就像你的任何网页的URL一样,但最后有一些特殊的添加(可能)。

预呈现服务器就像一个浏览器,所以只有在页面准备就绪时才会解析javascript(在调用了所有ajax之后你需要在代码中的某个地方小心地触发ready命令,而你的内容已经“安顿下来“,只有当调用该命令时,预渲染服务器才会将内容提供给机器人,因此机器人将看到一个”静态页面“,”用勺子喂它“。

enter image description here

https://developers.google.com/webmasters/ajax-crawling/docs/learn-more#what-the-user-sees-what-the-crawler-sees

为了使您的AJAX应用程序可以抓取,您的网站需要遵守新协议。该协议基于以下内容:

  1. 该网站采用AJAX抓取方案。
  2. 对于每个动态生成内容的URL,您的服务器都会提供HTML快照,这是用户(使用浏览器)看到的内容。通常,此类URL将是AJAX URL,即包含散列片段的URL,例如www.example.com/index.html#key=value,其中#key = value是散列片段。 HTML快照是执行JavaScript后页面上显示的所有内容。
  3. 搜索引擎为HTML快照编制索引,并在搜索结果中提供原始AJAX URL。

这种技术设置起来不是那么容易,但它是可能的。

另一答案

是的,可以通过HTTP_USER_AGENT检测Google Bot,但您可能会将Google Ban和PR设置为0。

以上是关于为google bot crawler提供不同的页面[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

PHP 使用PHP检测Bot,Crawlers和Spiders(西班牙语)

javascript NodeJs ExpressJS中间件,允许特定于bot / crawler的路由。基于OS项目的Prerender.IO中间件用于节点。

有没有办法根据谁是客户端,网络爬虫和网络应用客户端呈现不同的页面?

App Crawler

apache_conf 使用和配置Google Ajax Crawler以方便搜索引擎索引ajax富页面(客户端MVC和Google Ajax Crawli)

React / JSX生成的HTML元素是否对Google Web Crawlers不可见?