我们在angular中构建了一个简单的页面应用程序,这是一个贷款申请向导。所以每个用户必须从第1页开始,输入一些信息才能到达第2页等。如果没有提交第一页的数据,就不可能进入其他页面。
我是SEO的新手,我的问题是最佳的站点地图文件应该是什么样子。我认为它必须只包含第一页网址并忽略其余网页,因为当抓取工具尝试访问其他网页时,应用程序也会返回第一页(这是在" $ stateChangeStart&#34中处理; - app检查BE上的用户数据和重定向他适当的页面)
感谢您的建议
答案 0 :(得分:1)
首先,这不是关于编程,因此您可以在姐妹网站上获得更好的回复:http://webmasters.stackexchange.com。但无论如何都会提出我的观点。
站点地图只是您网站的一个可选额外提示,可帮助搜索引擎和其他网络抓取工具查找您的所有网页。根本不需要一个,Google会在其他任何地方链接时找到您的网页。站点地图只是加快了流程,也为Google这样的搜索引擎提供了一个地方,可以检查您的网页是否已更新,因为这些原因是推荐的,但仍然不是强制性的,也不是强制要求将所有网页都包含在内它
那么,鉴于此,您希望搜索引擎找到哪些页面?这些页面应该放在站点地图中。如上所述,这并不是说找不到其他页面,因为您没有将它们包含在您的站点地图中,所以不要依赖它。
鉴于您的第二页和后续页面只显示您的第一页,将它们包含在站点地图中似乎没什么意义。在最好的情况下,它们会被忽略,在最坏的情况下,谷歌会认为它们是重复的内容,可能会导致问题。
通常,对于像您这样的网站,您需要Google编制索引的静态网页以及动态应用程序表单的第一页。这就是站点地图应该包含的内容。
另一件需要注意的是,Angular SPA需要相当多的Javascript,搜索引擎可能会或可能不会对其进行正确处理。谷歌抓取工具已经相当不错,但不能保证其他搜索引擎。如果您希望搜索引擎能够理解的最佳变化,那么尽可能多地拥有不依赖于Javascript的内容以及像Angular这样的特别重的框架是最好的。因此,如果您关闭Javascript并且至少没有获得内容的基本页面,那么您可能会遇到麻烦。
由此引发的,以及为什么它与站点地图相关,搜索引擎页面处理哈希URL(由Angular使用)和参数的方式不同。有些人会忽略它们,并使用与同一页面相同的核心URL处理任何内容。将具有不同参数的相同页面添加到站点地图可以指示这些是不同的页面 - 但即使这样,我也看到了很多问题。不确定你是如何处理你的应用程序中的页面移动(相同的网址,哈希网址或参数?)但你只想要或需要你的第一页索引的事实可能会避免很多这些问题。
Google在Google Search Console(又称Google网站管理员工具)中提供了许多有用的工具。如果您尚未注册您的网站,请尽快进行。这样您就可以上传站点地图,查看任何错误,并在Google看到它时获取页面(回答上面提到的Javascript问题)并告诉Google如何处理您网页上的参数 - 以及其他内容。 Google还会使用此功能报告在网站上发现的任何错误,这是使用它的另一个非常重要的原因。
答案 1 :(得分:1)
在src文件夹中粘贴您的sitemap.xml文件,然后转到angular.json文件,只需在资产中添加站点地图即可。
对我有用
"assets": [
"src/favicon.ico",
"src/assets",
"src/sitemap.xml",
],
答案 2 :(得分:0)
无需为每个页面添加可选的站点地图或许多站点地图。只需添加一个站点地图,就可以将所有应用程序链接(url)纳入其中。什么是站点地图? Sitemap是简化搜索爬网引擎工作的源或文件,换句话说,它可以帮助爬虫轻松进入您的站点地图XML文件并索引您的应用程序或网站页面,而不是一个接一个地进行索引。即使它耗时也少。您可以将链接(url)添加到Sitemap XML文件中。
例如: -
Task.map
依此类推,你可以继续增加页数。