angular4和SEO

Express有一个简单的Angular 4项目。 当我尝试使用Googlebot访问我的网站时,它只显示了一个空白页面(AppRoot的innerHTML)。 我以为谷歌声称它的机器人支持Angular 4 / JS网站?

如果这仍然是问题,使用Angular Universal的服务器端渲染真的是最好的解决scheme吗? 就像我必须build立另一台服务器,服务器端提供的应用程序,除了服务于普通的客户端渲染应用程序的主服务器? 如果是这样,我怎么告诉googlebot去端口的服务器端渲染的应用程序和正常的httpstream量去客户端呈现应用程序的端口? 不是抓取工具的HTTPstream量?

这个问题不是Angular4特有的。 任何由javascriptdynamic生成的数据将首先显示为空白,然后加载其内容。 我假设你正在寻找谷歌页面速度见解 。

看看谷歌看到:

  1. 注释掉你的外部CSS
  2. 注释掉你的外部js

这将是谷歌初始视图。 之后,谷歌将获取外部文件,运行您的JavaScript和呈现页面。 在获取外部资产之前和之后,Google页面的速度将会惩罚您折叠之前的任何更改的像素。

Angular Universal(或任何服务器端渲染,因为这不是一个angular度问题)将解决这个问题。

希望有所帮助。