【发布时间】:2016-09-22 23:08:43
【问题描述】:
我有一个包含很多图像的 SPA。我想将这些图像公开给搜索引擎。所以我想创建只有机器人才能看到的“特殊”页面。这些页面将包含有关图像的元数据。
是否可以让 googlebot 抓取一个页面但将其索引为另一个页面?
【问题讨论】:
标签: indexing seo bots googlebot google-crawlers
我有一个包含很多图像的 SPA。我想将这些图像公开给搜索引擎。所以我想创建只有机器人才能看到的“特殊”页面。这些页面将包含有关图像的元数据。
是否可以让 googlebot 抓取一个页面但将其索引为另一个页面?
【问题讨论】:
标签: indexing seo bots googlebot google-crawlers
您可以设置只有 Google bot 才能看到的页面。
您基本上设置了一个服务器,其服务类似于客户端的浏览器,它“位于”您的“真实服务器”之间,该服务器提供 HTML 和资产(JS/CSS/图像)和 Crawler Bot。这个服务器被称为 pre-render 服务器,它只将数据发送给机器人,而不是真正的客户端,因为它有自己的 URL 映射到使用它。该 URL 与您网页的任何 URL 相同,但在末尾添加了一些特殊内容(可能)。
pre-render 服务器就像一个浏览器,所以 Javascript 被解析,并且只有在页面准备好时(你需要小心地在你的代码中的某处触发 ready 命令之后所有的 ajax 都被调用并且你的内容已经“稳定下来”,只有当这个命令被调用时,pre-render 服务器才会将内容转发给机器人,所以机器人会看到一个“静态页面”,“用勺子喂它”。
为了使您的 AJAX 应用程序可抓取,您的网站需要 遵守新的协议。本协议基于以下内容:
本站采用AJAX爬取方案。
对于每个动态生成内容的 URL,您的服务器都会提供一个 HTML 快照,它是用户的内容(带有 浏览器)看到。通常,这样的 URL 将是 AJAX URL,即 URL 包含哈希片段,例如 www.example.com/index.html#key=value,其中#key=value 是哈希值 分段。 HTML 快照是页面上显示的所有内容 在 JavaScript 执行之后。
搜索引擎索引 HTML 快照并在搜索结果中提供您的原始 AJAX URL。
这种技术并不容易设置,但它是可能的。
【讨论】:
是的,可以通过 HTTP_USER_AGENT 检测到 Google Bot,但您可能会将 Google Ban 和 PR 设置为 0。
【讨论】: