django-check-seo
为 Django CMS 用户替换 Yoast 或 SEMrush 的部分功能。换句话说,django-check-seo 会告诉你你的网站 SEO 是否存在问题。同时,这些建议对很多搜索引擎都有效。
安装
如果你的网站是基于 django-cms 的,并且 Python 和 Django 版本依次为 (Python >=3,Django >= 2)或(Python > 2.7,Django > 1.8.15),那么你可以按照下面说明安装:
1、安装 django-check-seo
使用 pipenv 安装
pipenv install django-check-seo
或者使用 pip 安装
pip install django-check-seo
2、把它添加到 INSTALLED_APPS 中
3、把它添加到 urls.py 中(django-cms的URL之前,否则不会生效)
url(r"^django-check-seo/", include("django_check_seo.urls")),
或者,如果你使用path,可以这样写
path("django-check-seo/", include("django_check_seo.urls")),
4、使用正确的 URL 更新你的网站参数。(下面是测试环境的例子)
5、(可选)更改一些配置,如是否强制使用https,或者添加认证。
环境依赖
这个应用需要 beautifulsoup4(>=4.7.0), requests,djangocms & djangocms_page_meta(==0.8.5 如果 django<1.11)
配置
基础配置
基础配置(默认配置),写在 django-check-seo/conf/settings.py:
如果你想要修改这些配置,只要 settings.py 文件中定义变量 DJANGO_CHECK_SEO_SETTINGS 即可。
自定义配置的例子
如果你在 settings.py 中这样写:
那么实际的配置将是像这样:
指定主内容(排除不重要的内容)
因为 django-check-seo 会计算词频以及内链的数量,所以排除无关内容有助于提高准确度。
Django-check-seo 使用一个 css 选择器来排除无关的 html 结点。这个选择器的配置名称为 DJANGO_CHECK_SEO_EXCLUDE_CONTENT,像这样:
DJANGO_CHECK_SEO_EXCLUDE_CONTENT = "tag, .class, #id, tag > .child_class"
禁用 https,使用 http
默认情况下,应用会以 https 形式发起请求。
为了让应用发起纯文本的 http 请求,你需要在 settings.py 中将 DJANGO_CHECK_SEO_FORCE_TRUE 设置为 True。像这样:
认证
你请求的网站可能需要先发送一个前置认证请求(比如.htaccess的要求),通过后才能请求 html 页面内容。
为了通过认证,你可以在 settings.py 中设置一个登录信息,名为 DJANGO_CHECK_SEO,像这样:
或者设置在环境变量中,像这样:
界面是什么样的?