Googlebot抓取Discourse时看到的内容

TL:DR,半人力即可复制 Googlebot 抓取 Discourse。以下是入门方法……

与 Googlebot 合二为一

  1. 打开一个隐身窗口(始终从头开始)
  2. 打开开发者工具
  3. 打开开发者工具中的网络条件
  4. 取消勾选“使用浏览器默认设置”
  5. 在选择菜单中选择 Googlebot Smartphone
  6. 然后访问 https://meta.discourse.org(看起来大不相同;没关系,因为你的 Googlebot 和机器人不在乎)
  7. 转到视图 > 开发者 > 查看源代码
  8. 复制并粘贴到某个 .html 文件中

干得好!您已创建了供人类参考的文件,以查看 Googlebot 抓取缓存的内容。

Googlebot 的工作完成了。现在是时候在浏览器中渲染缓存的文件了。

与 Chrome 合二为一

  1. 打开终端并运行 npx http-server
  2. 导航到文件
  3. 打开 Chrome 开发者工具
  4. 在“元素”面板中,右键单击 <html>... 并选择“复制 outerHTML”。
  5. 这就是将被索引的内容,而不是缓存,是索引

总之,Googlebot 检索 HTML,Chrome 渲染它。渲染后的 HTML 是黄金。确保您的宝贵内容和链接出现在那里。

2 个赞

“成为 Chrome 的一部分”下的步骤的目的是什么?

您不能在第一个列表的第 7 步中替换“复制 outerHTML”步骤吗?

我认为您也可以使用 curl 来获取它:

curl -s https://meta.discourse.org/ > page.html

(它将包含 \"crawler\" 类。)

然后用浏览器打开 page.html 文件。

或者在编辑器中检查代码:

curl -s https://meta.discourse.org/ | vim -
2 个赞

缓存的 HTML 在 Chrome(无头模式)中进行渲染。渲染时,可能会通过 JavaScript 在 DOM 中引入补充性文案和链接。Google 会将渲染后的信息纳入索引考量。

这就是 Googlebot 从富含 JavaScript 的应用程序中获取内容的方式。在 Google 中搜索您知道仅通过 JavaScript 渲染内容的内容 > 点击三个点图标 > 点击“缓存”按钮 > 点击“查看源代码” > 复制并将其在 Chrome 中渲染,即可看到出现在 DOM 中的内容。

注意:在 Chrome 中渲染之前,请将任何相对路径(CSS 和 JS 资源)更新为绝对路径。

使用 curl 会更方便,太棒了!

请确保包含 Googlebot 用户代理字符串,例如:Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)。服务器可能会向 Googlebot 发送不同的 HTML。

我认为输出是相同的,但添加用户代理并没有坏处。我不确定 Chrome,但在 Firefox 中,你可以在网络选项卡中右键单击请求并选择“复制为 curl”,以获取一组完整的标头,这些标头将模仿浏览器请求。