关闭

如何使用高版本Django开发网页的SEO模块

时间: 2019-01-17阅读: 1823标签: seo

在使用Google搜索Django的seo插件时,很多插件都没有更新到Python3.x,有的插件更新到了Python的高版本,但是不适用于Django的2.x。

Django在升级到版本2.x的时候删除了很多类。所以,在选择插件时,建议使用 django-snakeoil


1.安装:

最快捷的方法:pip install django-snakeoil

其他方法自行google,对于一个网站都开始设置seo的时候,pip这个东西应该不会出现没有安装的问题了。

插件文档链接:https://django-snakeoil.readthedocs.io/en/latest/


2.配置

在setting.py文件中配置(注:此插件一定要放在最后)

INSTALLED_APPS = [
    '....',
    'snakeoil',
]

运行makemigrations和migrate

正常运行上述两个命令并不会成功生成table表。正确指令:

python manage.py makemigrations seo

python manage.py migrate seo

不是snakeoil,是seo

完毕后,数据库生成seo_seourl表。可以在django后台,根据url配置页面简单title,description


3.html

页面文件开头,添加代码

{% load snakeoil %}
{% get_seo_data %}
<title>{{ seo.head_title }}</title>
<meta name="description" content="{{ seo.meta_description }}">


4.扩展

接下来,我们丰富此插件,添加keywords。

首先,新建一个自己的model,可以继承它原有的基类:

snakeoil.models.SeoModel

也可以重写一个自己的model。简单代码如下:

class MySeo(models.Model):
   head_title = models.CharField(blank=True, max_length=80, verbose_name='head title')
   meta_description = models.TextField(blank=True, verbose_name='meta description')
   keywords = models.TextField(blank=True, verbose_name='key words')

   
   class Meta:
      abstract = True

设定abstract=True,因为此table不需要被加载。我们最终使用到的表就是seo_seourl。

有了自己的seo基类之后,在settings.py中配置seo_seourl的父类。

SNAKEOIL_MODEL = 'MyApp.models.MySeo'

重新运行makemigrations和migrate,seo_seourl会被重新生成。之后,我们在前端添加keywords的读取:

<meta name="keywords" content="{{ seo.keywords }}"/>


5.自定义Tags

接下来进行进一步扩展。在templatetags文件夹下,添加my_tags.py文件,复制snakeiol包下面的templatetags/snakeoil.py全部代码。

然后再settings.py文件中配置引用my_tags.py

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [...],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [...],
            'libraries': {
                'hexseo_tags': 'templatetags.hexseo_tags',
            }
        },
    },
]

之后我们就可以在前端调用。

{% load hexseo_tags %}
{% get_seo_data %}
<title>{{ seo.head_title }}</title>
<meta name="description" content="{{seo.meta_description}}"/>
<meta name="keywords" content="{{ seo.keywords }}"/>

刷新页面,查看是否成功,然后再render代码中写自己需要的逻辑代码去获取seo_seourl中的数据


站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

2.广告联盟: 整理了目前主流的广告联盟平台,如果你有流量,可以作为参考选择适合你的平台点击进入

链接: http://www.fly63.com/article/detial/1831

关闭

robots.txt站点文件_详解网站的robots.txt限制指令怎么编写

robots.txt是一个纯文本文件,是爬虫抓取网站的时候要查看的第一个文件,一般位于网站的根目录下。这篇文章主要介绍:robots.txt是什么?robots.txt中的参数含义。robots.txt写法大全和robots.txt语法的作用,robots.txt编写注意事项

SEO优化中四种链接的重要性

网站内链在SEO优化的过程中很少说到,这是因为在网站建造的阶段,基本上定性了,有了固定的模板,友情链接考究的是质量,许多人对友情链接存在一定的误解,所谓友情链接,不是挂在自己的网站的底部就能够

SEO在网页制作中的应用

当我们在输入框中输入关键词,点击搜索或查询时,然后得到结果。深究其背后的故事,搜索引擎做了很多事情。在搜索引擎网站,比如百度,在其后台有一个非常庞大的数据库,里面存储了海量的关键词

网站流量指标的结构_uv和ip、vv、pv详解

网站流量指标的结构:PV即Page View,网站浏览量,指页面浏览的次数,用以衡量网站用户访问的网页数量。UV即独立访客数,指一天内访问某站点的人数,以cookie为依据。IP即独立IP数,指一天内使用不同IP地址的用户访问网站数量,同一IP无论访问了几个页面,独立的IP数均为1

Vue SEO的四种方案

众所周知,Vue SPA单页面应用对SEO不友好,当然也有相应的解决方案,下面列出几种最近研究和使用过的SEO方案,SSR和静态化基于Nuxt.js来说。1.SSR服务器渲染;2.静态化;3.预渲染prerender-spa-plugin;

关键词的优化怎么调整才能让网站排名靠前

网站的关键词优化是一个漫长的工作,而且需要企业的人员经常分析关键词。而有的企业在短期没看到效果就不继续优化,导致网站的关键词没靠前的排名,网站的关键词是需要优化很长时间

SEO提高网站排名快速见效的方法

SEO如何提升网站排名?seo中文名称搜索引擎优化,是提升网站排名的一种技术手段,常用的手段就是优化标签,内链外链等等,最核心的优化方向,“关键词”。最常见的表现形式就是软文,但是有的时候就算你做了很多,也不见得有效果?

网站seo分析工具_站长工具、seo综合查询推荐

这里给大家分享一些常用的网站分析工具,这些工具可以帮助我们了解网站SEO的情况。比如:检测网站死链接、HTML格式检测、蜘蛛访问、网站速度测试、网站域名IP查询、PR 友情链接检查等等

郑州网站建设告诉你移动端网站关键词怎么优化

现在人人都要用手机,手机已经成为我们生活中不可或缺的一部分,随着互联网的发展,移动端也越来越重要了。移动端网站关键词怎么优化?用户体验优化、移动端内容优化、移动页面细节优化、移动端代码优化

HTML网页 搜索引擎抓取的影响有哪些

如果你的网站升级改版,并且针对部分URL进行了修正,那么它可能急需搜索引擎抓取,重新对页面内容进行评估。大部分站长认为,自百度熊掌号上线以来,它解决了收录问题,实际上目标URL,只有不停的被抓取,它才可以不断的重新评估权重,从而提升排名。

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!