我已经设置了一个使用 ui-state 路由器的 AngularJS 应用程序。它有一些静态页面,除此之外它还有基于配置文件 ID 生成动态页面的配置文件页面。
出于 SEO 的目的,我使用了 PhantomJS 并生成 HTML 来提供爬虫响应。
但是,如何生成包含所有动态页面 URL 的 sitemap.xml,并且该爬虫可以获取并在搜索引擎上列出?
我已经设置了一个使用 ui-state 路由器的 AngularJS 应用程序。它有一些静态页面,除此之外它还有基于配置文件 ID 生成动态页面的配置文件页面。
出于 SEO 的目的,我使用了 PhantomJS 并生成 HTML 来提供爬虫响应。
但是,如何生成包含所有动态页面 URL 的 sitemap.xml,并且该爬虫可以获取并在搜索引擎上列出?
使用 JavaScript
您可以使用 XMLWriter 创建 XML。然后,您可以将此 XML 作为字符串传递给您的 Web 服务器。检查一下XML Writer。
这是使用 XMLWriter 编写 XML 的可用方法的教程 -教程
使用 Node.js
您可以编写一个节点 js 函数来从生成的 URL 生成站点地图。请参阅此链接以获取示例。
更好的方法是在后端创建一个脚本来定期生成它来更新站点地图。查询表、创建 URL 并生成 XML 文件。您可以在服务器中配置 cron 作业以定期生成站点地图。
每种 BE 技术都将提供用于生成站点地图的库和教程。
例如:
Ruby on Rails - Nokogiri
Elixir - sitemap
.Net - Tutorial
Java - Tutorial
Express JS - express-sitemap
很简单,您需要生成创建所有动态 URL 的在线站点地图。只需搜索在线站点地图生成器。输入您的网站 URL 并创建 Sitemap.XML 文件,您需要下载该文件并上传到您的服务器。
之后使用 www.mydomain.com/sitemap.xml 检查站点地图