JS应该动态生成元数据/整个页面吗



所以我会有很多页面,其中有一堆文本,JS和CSS文件将转换为彩色的所有网页。我注意到文本通常会很长,而且由于会有很多网页,我应该降低文件大小。此外,由于我不想破坏文件质量,我决定我的JS文件将提取文本并用它制作一个网页。旁注:我试图做的是制作教程页面,所以我将使用JS生成每个教程页面上的许多内容,如课程列表,以降低文件大小

我注意到元数据(<head>内容(通常会占用JS可以生成的一些空间,所以我想,为什么我不直接用JS生成呢但随后出现了一些浏览器可能无法解析它,或者解析速度可能较慢的问题。所以我在这里询问堆栈溢出:

JavaScript是否应该生成元数据(可能是几乎整个页面,比如完全删除<head>标记并使用JS生成它(?

这取决于您想要的结果。

谷歌已经改进了它的SEO机制,在索引之前呈现你的页面,请参阅此处:

https://developers.google.com/search/docs/guides/javascript-seo-basics

然而,其他机器人可能不会这么做,比如像脸书或推特这样读取Open Graph元标签的社交媒体爬虫,或者像百度这样的其他搜索引擎。

如果机器人没有呈现你的文档,那么javascript就不会被执行,你的meta也不存在。

此外,如果您的初始文档不包含样式表或其他CDN,则客户端需要更长的时间。想象一下这个过程:

带头

  1. 获取文档
  2. 获取资源
  3. 渲染内容

无磁头

  1. 获取文档
  2. 渲染内容
  3. 获取资源
  4. 重新渲染

这太简单了,但它证明了我的观点。

替代方案:

如果您的内容是动态的,您可以考虑服务器端渲染(SSR(或预渲染

您可以通过编程方式构建页面并存储/服务所有页面,或者根据请求在服务器端构建页面。

https://developers.google.com/web/updates/2019/02/rendering-on-the-web

最新更新