使用ASP.NET MVC创建动态Google Sitemap的最佳方式?

时间:2010-12-16 16:00:20

标签: asp.net-mvc asp.net-mvc-2 sitemap

是否建议使用ASP.NET MVC创建Google Sitemaps?

我是MVC的新手,这是我第一次需要创建一个,并想知道如何最好地去做它。

我想在网站地图中包含许多静态链接(关于我们,常见问题解答等),但是其他部分需要通过网站上发布的文章动态生成。

非常感谢任何关于如何创建这方面的建议/指导。

3 个答案:

答案 0 :(得分:1)

您可以创建与Web表单相同的通用处理程序,但我倾向于使用控制器操作和自定义路由。

要遵循的一些简单步骤可能是:

  1. 在您的Home Controller中创建一个操作(或创建一个新的操作),将其命名为SiteMap。
  2. 让操作返回包含您的页面数据的视图作为模型。
  3. 创建一个名为SiteMap的视图,其中包含Google XML,然后遍历您的页面数据以生成动态内容。
  4. 向Global.asax文件添加一个指向“/sitemap.xml”或其他内容的自定义路由,并将控制器和操作参数预先填充到新操作的路径中。
  5. 如果您不确定自定义路线,只需复制默认路线并将其粘贴在上方即可。路线先到先得。确保给它一个新名称。

答案 1 :(得分:1)

1 - 您需要的第一件事是为整个网站创建一个包含子项,父项等的节点列表。在不滚动自己的解决方案的情况下执行此操作的最简单方法是使用MVCSiteMapProject。它允许您使用MVCish术语(如操作和控制器名称)来定义节点,这些节点将使用您的路由定义自动拥有正确的URL。

2 - 现在因为MVCSiteMap继承自默认的XmlSiteMap(可能没有正确的名称),您可以使用另一个加入来从您在MVCSiteMapProject中定义的节点生成google站点地图。

有一个bunch of ways to do #2所以由您来决定技术。

答案 2 :(得分:-1)

对于动态网站地图,我发现这是最佳解决方案:http://ben.onfabrik.com/posts/generating-dynamic-xml-sitemaps-in-aspnet-mvc

它使用控制器生成xml文件。