Django Check SEO将为您检查网站的SEO方面,并在出现问题时提供建议。
 取代django CMS用户的Yoast或SEMrush的某些功能。
 换句话说,django-check-seo会告诉您有关页面SEO方面的问题。
安装
以下说明适用于使用python> = 3和django> = 2的基于djangocms的网站上的安装,或适用于使用python> = 2.7和django> = 1.8.15的基于djangocms的网站上的安装。
- 使用pipenv安装模块:
pipenv install django-check-seo
- 或点子:
pip install django-check-seo
- 将其添加到已安装的应用程序中:
    "django_check_seo",
- 将其添加到您的urls.py(之前url(r'^', include('cms.urls')),,否则将不起作用):
    url(r"^django-check-seo/", include("django_check_seo.urls")),
- 或添加以下内容(如果您使用路径):
    path("django-check-seo/", include("django_check_seo.urls")),
先决条件
本申请的需要beautifulsoup4(> = 4.7.0), requests,djangocms及djangocms_page_meta (使用Django <1.11 == 0.8.5如果)。
设定档
基本设置
基本配置(默认使用)位于django-check-seo/conf/settings.py:
DJANGO_CHECK_SEO_SETTINGS  = {
     “ content_words_number ”:[ 300,600 ],
    “ internal_links ”:1,
     “ external_links ”:1,
     “ meta_title_length ”:[ 30,60 ],
    “ meta_description_length ”:[ 50,160 ],
    “ keywords_in_first_words ”:50,
     “max_link_depth “:3,
     ” max_url_length “:70,
}如果您需要更改某些内容,只需DJANGO_CHECK_SEO_SETTINGS在settings.py中定义一个命名为dict的字典即可。
自定义设置示例:
如果将其放在settings.py文件中:
DJANGO_CHECK_SEO_SETTINGS  = {
     “ internal_links ”:25,
     “ meta_title_length ”:[ 15,30 ],
}然后,这将是应用程序使用的设置:
DJANGO_CHECK_SEO_SETTINGS  = {
     “ content_words_number ”:[ 300,600 ],
    “ internal_links ”:25,
     “ external_links ”:1,
     “ meta_title_length ”:[ 15,30 ],
    “ meta_description_length ”:[ 50,160 ],
    “ keywords_in_first_words ”:50,
     “max_link_depth “:3,
     ” max_url_length “:70,
}选择主要内容(不包括页眉/页脚/ ...)
由于django-check-seo会计算主要内容中的单词数和内部链接数量之类的内容,因此仅选择页面的主要内容非常重要(页脚中的地址不是页面的主要内容)。
 Django-check-seo使用css选择器的字符串(名为DJANGO_CHECK_SEO_EXCLUDE_CONTENT)从html内容中排除不需要的html节点:
DJANGO_CHECK_SEO_EXCLUDE_CONTENT = "tag, .class, #id, tag > .child_class"
使用http代替https
默认情况下,应用程序将尝试使用https发出请求。
 要启用纯HTTP查询,可以在settings.py中添加一个名为DJANGO_CHECK_SEO_FORCE_HTTPset 的变量True。
例:
#强制HTTP 
DJANGO_CHECK_SEO_FORCE_HTTP  =  True
#强制HTTPS(默认情况下,与未定义变量相同)
DJANGO_CHECK_SEO_FORCE_HTTP  =  False认证方式
由于.htaccess文件(或可能使用wsgi-basic-auth),因此要测试的网站可能需要事先连接,这将阻止django-check-seo访问其html代码。
 为防止这种情况,您可以在DJANGO_CHECK_SEO_AUTH词典中(在您的网站设置中)指定登录信息(用户名/密码)。
 该词典必须包含两个名为user和的键pass。
例:
- 在mywebsite/settings.py:
DJANGO_CHECK_SEO_AUTH  = {
     “用户”:os.getenv(“ HTACCESS_USER ”),
     “通过”:os.getenv(“ HTACCESS_PASS ”),
}- 在.env文件中:
export HTACCESS_USER=myusername
export HTACCESS_PASS=mypassword
WSGI_AUTH_CREDENTIALS=$HTACCESS_USER:$HTACCESS_PASS
需要截图吗?
单元测试
它们位于tests文件夹中。
 该文件launch_tests.sh在这里用于管理为您启动的测试。您仅需要python3-venv(对于python3 venv)和virtualenv(对于python2 venv)才能使其正常工作。


