【问题标题】:Best way to create a dynamic Google Sitemap using ASP.NET MVC?使用 ASP.NET MVC 创建动态 Google 站点地图的最佳方法?
【发布时间】:2010-12-16 16:00:19
【问题描述】:

是否有使用 ASP.NET MVC 创建 Google 站点地图的推荐方法?

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

我有一些静态链接(关于我们、常见问题解答等),我希望将它们包含在站点地图中,但随后需要从站点上发布的文章中动态生成其余链接。

任何关于如何创建它的建议/指导将不胜感激。

【问题讨论】:

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


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

      一些简单的步骤可能是:

      1. 在您的 Home Controller 中创建一个操作(或创建一个新的),将其命名为 SiteMap。
      2. 让操作返回一个以您的页面数据作为模型的视图。
      3. 创建一个名为 SiteMap 的视图,其中包含 Google XML,然后遍历您的页面数据以生成动态内容。
      4. 将自定义路由添加到指向“/sitemap.xml”或其他任何内容的 Global.asax 文件,并使用新操作的参数预填充控制器和操作参数。

      如果您不确定自定义路由,只需复制默认路由并将其粘贴到上方即可。路线先到先得。确保给它一个新名称。

      丰富

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-01-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多