Django Site Builder:如何使用站点地图来实现站点地图
站点地图是网站上所有链接的集合。搜索引擎可以根据站点地图轻松抓取您站点地图中注册的网址,因此请将您的站点地图提交给搜索引擎。允许它注册您的内容是增加网站流量的非常重要的手段,特别是对于新网站。 Sitemap是SEO的必备工具。这里简单介绍一下Django项目如何快速生成站点地图
1。安装站点地图
站点地图是一个应用程序,因此要使用它,您需要先安装该应用程序。在项目的setting.py 文件中的INSTALLED_APPS 中,添加以下内容:
'django.contrib.sitemaps',
2。在项目应用程序中部署站点地图生成的文件
创建一个新的 sitemaps.py 文件。例如,如果要在sitemap中嵌入一篇博客文章的链接,则在博客应用下新建一个sitemap.py文件,定义ArticleSitemap类并继承Django类Sitemap,如下:
class ArticleSitemap(Sitemap):
changefreq = 'weekly'
priority = 1.0
def items(self):
return Article.objects.all()
def lastmod(self, obj):
if obj.update_date:
return obj.update_date
return obj.add_time
Sitemap类使用,否则忘记import
from django.contrib.sitemaps import Sitemap
a。 changefreq和priority对应于sitemap.xml中的changefreq和priority。
b。 item 方法返回所有 item 对象。 locate() 将在 element 返回的对象上调用 get_absolute_url 方法。该值将被放置在 xml 中的 loc 位置。
c。因此,如果不重写locate方法,则必须在相应模型中实现get_absolute_url方法。例如,这里是需要实现 get_absolute_url 方法的文章模型。这里需要注意的是,参数必须配置在url中。匹配。因为使用了reverse,所以必须导入。
from django.urls import reverse
def get_absolute_url(self):
return reverse('blog:article_detail', kwargs={'article_id': self.id})
d。 lastmod 也对应于 xml 中的lastmod
e。这样就完成了模型的 Web 地图实现。同样的方法也可以实现其他需要录入站点地图的模型
3。让sitemap高效
在项目的url.py中,添加sitemap.py中实现的类,如下: 如果还有实现的其他类,只需将其添加到sitemap字典中即可。
from blog.sitemaps import ArticleSitemap
sitemaps = {
'articles': ArticleSitemap
}
在urlpatterns中添加url,如下:
url(r'^sitemap\.xml$', sitemap, {'sitemaps': sitemaps}, name='django.contrib.sitemaps.views.sitemap'),
这里使用了Sitemap,所以需要import模块
from django.contrib.sitemaps.views import sitemap
4。前端html页面设置
在网站底部,根据页面布局添加sitemap超链接,如下
<a href="/sitemap.xml" title="Sitemap" target="_blank">网站地图</a>
5.看效果
如果配置了这些,你可以在浏览器中输入URL/sitemap.xml来查看,也可以直接点击网页底部的sitemap,它会自动跳转到该URL。 /sitemap.xml,例如我的网站是http://www.0a0z.cn/sitemap.xml。您可以在站点地图上检查格式。
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。