从网站地图中移除页面
我正在使用Django Cms 2.3.5,并且我按照这篇文章的方式生成网站地图,文章来自文档
现在我想问,有没有简单的方法可以把两个页面从这个网站地图中隐藏掉?因为我在我的CMS中集成了404和500错误页面,我不想让它们出现在网站地图里!
有没有人有什么想法?
2 个回答
0
在django-cms中,最简单的方法来从网站地图中移除一个页面,就是把它取消发布。特别是当这个页面还没有准备好(比如显示404或500错误)的时候,这样做很有效。
4
我会这样尝试:
创建一个新的类,并重写 SiteMap
类中的 get_url
方法。
class CustomCMSSitemap(CMSSitemap):
def get_urls(self, *args, **kwargs):
super(CustomCMSSitemap, self).get_urls(*args, **kwargs)
//your code 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}})
。