Google 的 John Mueller 和 Martin Splitt 联手制作了另一个版本的“Ask Google Webmasters”视频系列,以回答有关 JavaScript SEO 的问题。
他们一起轮流回答了一系列相当技术性的问题,每个人都添加了自己独特的见解。
以下是每个问题和答案的快速回顾。
问题一:旧资产怎么办?
“当使用 Rails 资产管道缓存我们给旧资产什么状态码时? Googlebot 会抓取我们目前拥有 404 的这些陈旧资产。 我们是改为 410 还是让旧资产存活几个月?”
一般来说,应该保留旧资产,直到它们不再被抓取。 最终,Google 将重新抓取 HTML 内容并获取新资产。
如果您 404 旧资产,那么您最终可能会出现损坏的渲染,这是应该避免的。
问题 2:不相关的元素
“在预渲染中,我们可以替换或跳过不相关的元素吗? 即 JS 生成的 svg 条形图?”
一切都应该包含在预渲染中,或者至少包含尽可能多的元素,以便 Googlebot 可以看到完整的内容。
问题 3:重写标题标签
“如果您的网站具有重写标题标签以通知访问者的聊天功能,您或应用程序供应商如何阻止 Google 索引标题标签的 JS 重写版本?”
简而言之,您无法阻止 Google 索引已由 JavaScript 动态重写的标题标签。
在这种特殊情况下,您可以通过延迟用户交互后的聊天来解决此问题。 这样一来,用户必须在打开聊天按钮并更改标题标签之前单击它。 由于 Googlebot 不与任何东西交互,它永远不会看到重新编写的标题标签。
问题 4:渲染输出中的 JavaScript
“在预渲染中:里面还可以是JS吗? JS 会生成较小的内容布局更改,但不会生成 AJAX 请求。”
是的,在预渲染方面,JavaScript 仍然可以在渲染输出中使用。 从用户体验的角度来看这样做是有意义的,因此无需从预渲染页面中删除 JS。
问题 5:预渲染或动态渲染会消失吗?
“预渲染或动态渲染会消失吗?”
动态渲染最终可能会消失,因为它更像是一种解决方法,希望不再需要太久。
另一方面,服务器端渲染和预渲染从长远来看更有用,因为它们允许用户(和爬虫)更快地接收内容。
请参阅下面的完整视频: