首页 > 解决方案 > Angular 8 站点地图和 robots.txt

问题描述

我使用 Angular 8 创建了一个 Angular 应用程序。我正在努力在 Google 上引用我的网站。我在项目的路径中添加了一个 sitemap.xml 和 robots.txt 但是当我尝试通过这样做访问浏览器中的文件时:

https://blablawebsite.fr/sitemap.xml

路由模块正在拾取路由,找不到页面。如何确保路由模块没有选择 sitemap.xml 和 robots.txt?

标签: angularseo

解决方案


与我对接受的答案的理解相反, tt不必仅为添加 sitemap.xml 或 robots.txt 而向您的项目添加角度通用。

正如@David在他的评论中更简洁地说,您需要做的就是

  1. 将文件添加到 /src 中的项目中(在 favicon.ico 旁边)
  2. 将它们添加到angular.json中的projects>architect>build>options> assets中,如下所示:
 "assets": [
                  "src/favicon.ico",
                  "src/assets",
                  "src/robots.txt",
                  "src/sitemap.xml"
                ],

这里有更详细的解释。

添加。评论:

  • 确保您不会仅在 angular.json 中意外捕获“test”的资产,它们会在浏览文件时更早出现
  • 如果您的 robots.txt 文件无效的警告不再出现在 Chrome 开发工具中 Lighthouse 报告的 SEO 部分下方,您可以验证 Google 现在可以识别您的 robots.txt
  • 然而,确实,即使使用 robots.txt,除了 Google 之外的搜索引擎也不能很好地处理没有服务器端渲染的 Angular SPA(例如通过 Angular Universal)。甚至谷歌在这方面的能力也存在争议。这个解释的很好。
  • 我的答案适用于 Angular 10 和 11,其他版本我不知道

推荐阅读