【问题标题】:Angular 4 and SEOAngular 4 和 SEO
【发布时间】:2017-11-08 03:53:25
【问题描述】:

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

如果这仍然是问题,那么使用 Angular Universal 进行服务器端渲染真的是最好的解决方案吗?除了为普通客户端呈现的应用程序提供服务的主服务器之外,我还必须设置另一台为服务器端呈现的应用程序提供服务的服务器吗?如果是,我如何告诉 googlebot 转到服务器端呈现的应用程序的端口和正常的 http 流量转到客户端呈现的应用程序的端口?爬虫不是http流量吗?

【问题讨论】:

  • 这个问题似乎离题了,因为它不在帮助中心所述的讨论范围内。
  • 使用 Angular Universal 的服务器端渲染应该可以解决 SEO 方面的问题。 googlebot 和正常流量都应该访问同一台服务器。 googlebots IMO 不应单独安排。这是一个很好的阅读:coursetro.com/posts/code/68/…
  • @Deepakswain 是的,新人,是的。这是一个推荐问题(“使用 Angular Universal 进行服务器端渲染真的是最好的解决方案吗?”)和关于 Googlebot 如何工作的组合,这不是这里的主题。去阅读seo标签。

标签: node.js angular express seo


【解决方案1】:

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

要查看谷歌看到的内容:

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

这将是谷歌的初始视图。之后,谷歌将获取外部文件,运行您的 javascript 并呈现页面。 Google 页面速度会因您在获取外部资源之前和之后的首屏像素发生任何变化而受到惩罚。

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

希望对您有所帮助。

【讨论】:

    猜你喜欢
    • 2018-06-15
    • 2015-04-16
    • 1970-01-01
    • 2021-05-23
    • 2018-02-22
    • 1970-01-01
    • 1970-01-01
    • 2016-03-18
    • 1970-01-01
    相关资源
    最近更新 更多