【问题标题】:Remove pages from sitemap从站点地图中删除页面
【发布时间】:2013-03-22 15:01:28
【问题描述】:

我正在使用 Django Cms 2.3.5,并且我正在生成类似这篇文章的站点地图,来自 docs

现在我的问题是有一个简单的解决方案来隐藏此站点地图中的两个页面,因为。 我在我的 CMS 中集成了 404 和 500 错误,我不希望站点地图中有这些错误!?

有人有想法吗?

【问题讨论】:

    标签: python django sitemap django-cms django-sitemaps


    【解决方案1】:

    我会这样尝试:

    新建一个类,覆盖SiteMap类的get_url方法

    class CustomCMSSitemap(CMSSitemap):
        def get_urls(self, *args, **kwargs):
           super(CustomCMSSitemap, self).get_urls(*args, **kwargs)
           //your code here
    

    Here 是类SiteMap 的来源

    不要将url(r'^sitemap.xml$', 'django.contrib.sitemaps.views.sitemap', {'sitemaps': {'cmspages': CMSSitemap}}) 添加到主urls.py 中,而是添加url(r'^sitemap.xml$', 'django.contrib.sitemaps.views.sitemap', {'sitemaps': {'cmspages': CustomCMSSitemap}})

    【讨论】:

      【解决方案2】:

      在 django-cms 中从站点地图中删除页面的最简单方法是取消发布它。特别是如果该页面尚未准备好(输出 404 或 500 错误)。

      【讨论】:

      • 页面已准备就绪,但我不希望它们出现在我的站点地图中
      最近更新 更多