2017-06-07 98 views
7

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

如果这仍然是问题,使用Angular Universal进行服务器端渲染真的是最好的解决方案吗?就像我必须建立另一台服务器,除了提供普通客户端渲染应用程序的主服务器之外,还提供服务器端渲染的应用程序?如果是这样,我该如何告诉googlebot去服务器端渲染的应用程序的端口和正常的http流量去客户端渲染应用程序的端口?不是抓取工具的HTTP流量?

+1

此问题似乎是无关紧要的,因为它不在讨论范围内,如帮助中心所述。 – Will

+0

使用Angular Universal的服务器端渲染应该解决搜索引擎优化问题。 Googlebot和正常流量都应该碰到同一台服务器。不应该为googlebots IMO单独安排。这是一个很好的阅读:https://coursetro.com/posts/code/68/Make-your-Angular-App-SEO-Friendly-(Angular-4-+-Universal) – Raptor

+0

@Deepakswain是的,新人,它是。这是一个推荐问题(“服务器端渲染使用Angular Universal真的是最好的解决方案吗?”)和Googlebot的工作方式的组合,关于Googlebot是如何工作的,这不在话题中。阅读[tag:seo]标签。 – Will

回答

0

这个问题不是Angular4特有的。由JavaScript动态生成的任何数据将首先显示为空白,然后加载其内容。我假设你正在寻找google page speed Insights

要查看谷歌看到:

  1. 评论你的外部CSS
  2. 评论了你的外部JS

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

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

希望有所帮助。