2016-12-22 4 views
2

У меня есть sitemap.xml с 150k строк. Я использую разбивку на страницы, так что есть sitemap.xml?p=1, sitemap.xml?p=2 и т. Д.Ping google about paginated карта сайта django

Как я могу сообщить Google об этих страницах, используя Django?

Или Google откроет sitemap.xml и все страницы с p param?

спасибо.

+0

http://www.mugo.ca/Blog/Google-Sitemaps-for-big-sites-splitting-the-sitemap-into-multiple-files – outoftime

ответ

1

Вместо того, чтобы использовать нумерацию страниц с параметрами запроса, Django позволяет создать sitemap index, который в соответствии с Документами:

Вы должны создать индексный файл, если один из ваших Sitemaps имеет более 50000 URL. В этом случае Django автоматически разбивает карту сайта , и индекс будет отражать это.

Внутри файл URLconf вы должны иметь что-то подобное (взятое из docs):

urlpatterns = [ 
    url(r'^sitemap\.xml$', views.index, {'sitemaps': sitemaps}), 
    url(r'^sitemap-(?P<section>.+)\.xml$', views.sitemap, {'sitemaps': sitemaps}, 
     name='django.contrib.sitemaps.views.sitemap'), 
] 

Обратите внимание, что section аргумент ключевого слова является обязательным.

Поскольку sitemaps на самом деле словарь, который представляет классы Sitemap (вероятно, определяется внутри sitemap.py), Django создаст индекса Sitemap файл (sitemap.xml), который будет ссылаться на отдельные файлы Sitemap (карту сайта classes, определенный в файле sitemap.py) ,

Check here как выглядит файл индекса сайта sitemap.

Надеюсь, это поможет!