1.首先理解sitemap
Sitemap 可方便网站管理员通知搜索引擎他们网站上有哪些可供抓取的网页。最简单的 Sitemap 形式,就是XML 文件,在其中列出网站中的网址以及关于每个网址的其他元数据(上次更新的时间、更改的频率以及相对于网站上其他网址的重要程度为何等),以便搜索引擎可以更加智能地抓取网站。
对于SEO 更利于蜘蛛日志抓取
2.配置sitemap
1.启用sitemap
在INSTALLED_APPS中加入
'django.contrib.sitemaps',
'django.contrib.sites'
然后migrate数据库:
python manage.py makemigrations
python manage.py migrate
在数据库 中django_site 中加入网站域名和名称 -------与之对应ID 然后在settings.py中加入SITE_ID = 1来制定当前的站点。
2、添加sitemap功能 显示文章网址 ()
在articlet models 中添加
def get_absolute_url(self):
return '/article/?id=%s' % (self.id)
在 urls 中加入
info_dict = {
'queryset': articlet.objects.all(),
'date_field':'add_time',
}
path('sitemap.xml', sitemap,
{'sitemaps': {'Earth': GenericSitemap(info_dict,priority=0.6)}},
name='django.contrib.sitemaps.views.sitemap'),
3.如果显示的不知文章 还有其他
class StaticViewSitemap(Sitemap):
priority = 0.5
changefreq = 'daily'
def items(self):
return Article.objects.all()
def lastmod(self, obj):
return obj.last_mod_time ----自己model 的字段
def get_absolute_url(self):
return '/article/?id=%s' % (self.id) ----这个写自己的转地址
2.
class ArticleSiteMap(Sitemap):
priority = "0.6"
def items(self):
return Article.objects.all()
def lastmod(self, obj):
return obj.last_mod_time ----自己model 的字段
def get_absolute_url(self):
return '/article/?id=%s' % (self.id) ----这个写自己的转地址
###1在url 添加
sitemaps = {
'blog': ArticleSiteMap,
'Category': CategorySiteMap,
'Tag': TagSiteMap,
'User': UserSiteMap,
'static': StaticViewSitema
}
url(r'^sitemap\.xml$', sitemap, {'sitemaps': sitemaps},
name='django.contrib.sitemaps.views.sitemap'),
网友评论