【问题标题】:Angular SEO (HTML snapshots and sitemap)Angular SEO(HTML 快照和站点地图)
【发布时间】:2016-03-18 16:00:56
【问题描述】:
我在学习 Angular 的同时构建了一个 Web 应用程序 - http://magicspoiler.io
目前,我正在使用 grunt-html-snapshots 创建快照,以使网站可被搜索引擎抓取。一切似乎都很好,但我有一些问题。
我的应用程序有很多视图(页面)。有什么简单的方法可以创建海量快照吗?现在,我必须在任务配置中编写指向每个页面的链接。
是否有任何解决方案可以为 SPA 创建站点地图?
谢谢!
【问题讨论】:
标签:
angularjs
gruntjs
single-page-application
sitemap
snapshot
【解决方案1】:
这是一个说明如何使 Angular 站点被索引以及如何创建站点地图:
http://www.yearofmoo.com/2012/11/angularjs-and-seo.html
在您的网站中,使用 hashbang 或 HTML5 URL 来指向内容 - Google 和 Bing 足够聪明,可以确定它们是 AJAX 生成的页面。
这是 AJAX 网页的 sitemap.xml 条目示例。
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
...
<url>
<loc>http://www.yourwebsite.com/#!/home</loc>
<changefreq>daily</changefreq>
<priority>1.0</priority>
</url>
...
</urlset>
【讨论】:
-
@blah 有几点我对这个问题也很感兴趣: 1. 那篇文章真的只是触及了表面。我认为这个问题确实涉及大量静态或大型/动态内容。您如何自动化并保持同步,是否有资源显示如何更轻松地“提供”快照脚本并生成动态站点地图。 2. 需要用#!在站点地图中,尤其是在文章中使用较新的<meta name="fragment" content="!"> 时。见this