在Djang中为50000多个url创建站点地图

2024-05-19 09:47:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我在我的网站地图上有大约60000个网址,而且这个数字每天都在以5000个的速度增长。在

Google建议在一个站点地图中只有50K个url,如果超过这个数量,则创建另一个站点地图。在

所以,目前我有以下代码来生成站点地图网址.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}),
)

我想要的是在URL数量超过50000之后创建第二个站点地图,在URL数量超过100K之后创建第三个站点地图

我阅读了Django文档,但对其中的内容(它将如何为每50000个url生成单独的站点地图)和这个问题How to create index for django sitemaps for over 50.000 urls

谢谢


Tags: urlmap数量dateadmin站点video地图
1条回答
网友
1楼 · 发布于 2024-05-19 09:47:12

documentation

The sitemap framework also has the ability to create a sitemap index that references individual sitemap files, one per each section defined in your sitemaps dictionary.

您可以使用相同的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}),
)

相关问题 更多 >

    热门问题