angular - Angular 8 站点地图和 robots.txt
问题描述
我使用 Angular 8 创建了一个 Angular 应用程序。我正在努力在 Google 上引用我的网站。我在项目的路径中添加了一个 sitemap.xml 和 robots.txt 但是当我尝试通过这样做访问浏览器中的文件时:
https://blablawebsite.fr/sitemap.xml
路由模块正在拾取路由,找不到页面。如何确保路由模块没有选择 sitemap.xml 和 robots.txt?
解决方案
与我对接受的答案的理解相反, tt不必仅为添加 sitemap.xml 或 robots.txt 而向您的项目添加角度通用。
正如@David在他的评论中更简洁地说,您需要做的就是:
- 将文件添加到 /src 中的项目中(在 favicon.ico 旁边)
- 将它们添加到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,其他版本我不知道
推荐阅读
- c - 需要帮助 Systick 处理程序没有被调用
- php - PHP,Laravel,未找到特征
- node.js - WebRTC 通过带有 nodeJS express 和 socketio 的主机
- traefik - Traefik 无法访问仪表板
- javascript - Javascript:如何从脚本动态创建的元素中获取ElementById
- spring-boot - 如何使用 Spring Data R2DBC 和 Postgres 将字段保存为 JSON
- javascript - NodeJS 从经过身份验证的外部源批量/批量下载图像
- firebase - 无法在 Flutter 中的 DatabaseService 类中使用 uid
- rest - 实时数据库 - Arduino 和 REST API
- javascript - 有没有办法下载 GitHub 存储库并通过 JavaScript 对其进行初始化?