我的站点地图中有大约60000个网址,而且这个数字每天都会增长5000个。
Google建议在一个站点地图中只有50K网址,如果数量超过,则创建另一个站点地图。
所以,目前我在项目的urls.py中有以下代码生成站点地图
video_map = {
'queryset': Video.objects.all(),
'date_field': 'pub_date',
}
sitemaps = {
'static': StaticViewSitemap,
'blog': GenericSitemap(info_dict, priority=0.5,changefreq="daily"),
'videos': GenericSitemap(video_map, priority=0.2,changefreq="daily"),
}
urlpatterns = patterns('',
url(r'^admin/', include(admin.site.urls)),
url(r'^sitemap\.xml$', 'django.contrib.sitemaps.views.sitemap', {'sitemaps': sitemaps}),
)
我想要的是在网址数量超过50000后创建第二个站点地图,在网址数量超过100K后创建第三个站点地图。
我阅读了Django文档,但无法理解它(如何为每个50000网址生成单独的站点地图。)这里的问题How to create index for django sitemaps for over 50.000 urls
由于
答案 0 :(得分:1)
站点地图框架还可以创建站点地图索引 引用单个站点地图文件,每个部分定义一个 在您的站点地图字典中。
您可以使用相同的sitemaps
对象并将其传递给django.contrib.sitemaps.views.index(),它将引用个人(分页)站点地图:
urlpatterns = patterns('django.contrib.sitemaps.views',
(r'^sitemap\.xml$', 'index', {'sitemaps': sitemaps}),
(r'^sitemap-(?P<section>.+)\.xml$', 'sitemap', {'sitemaps': sitemaps}),
)