跳转到主要内容

Django Check SEO 将为您检查网站SEO方面的问题,并在有问题时提供建议。

项目描述

Django Check SEO

为Django & Django-CMS用户替换Yoast或SEMrush的一些功能。

换句话说,django-check-seo会告诉您您的页面是否存在广泛的SEO方面的问题。


PyPI PyPI - Downloads GitHub last commit


安装

仅适用于django >= 2.2 & python >= 3.7,有关python2/django 1.8-1.11版本的安装信息,请参阅此处(长话短说:安装版本 <0.6)。

  1. PyPI安装模块

    python3 -m pip install django-check-seo
    
  2. 将其添加到您的 INSTALLED_APPS

        "django_check_seo",
    
  3. 在您的 urls.py 中添加此内容(如果您正在使用django-cms,请在 cms.urls 行之前放置它,否则它将无法正常工作)

        path("django-check-seo/", include("django_check_seo.urls")),
    
  4. 使用有效URL更新您的Django 网站对象参数(这里是一个开发环境示例)。

  5. 在settings.py中,将 testserver(以及可能还有 www.testserver)添加到您的 ALLOWED_HOSTS 列表中(django-check-seo使用测试框架来获取内容,而不是执行HTTP请求)。

  6. new in 1.0.0 将权限(use_django_check_seo)添加到您希望提供访问权限的用户/组。

  7. (可选)配置设置(请参阅配置)。

  8. that's all folks!


杂项

本应用程序需要 beautifulsoup4 (>=4.7.0) 和 djangocms_page_meta (如果使用 django < 1.11 则为 ==0.8.5)。它可以与或没有 django-cms 一起使用(如果您使用 django-cms,则顶栏将出现一个 django-check-seo 按钮用于检查 SEO)。

如果您不使用 Django CMS(仅使用 Django),以下是访问您的页面报告的链接格式

https://example.com/django-check-seo/?page=/example-page/
  -> will check https://example.com/example-page/

https://example.com/fr/django-check-seo/?page=/example-page/
  -> will check https://example.com/example-page/
     (using localized url (if you add django-check-seo in i18n_patterns))

配置

基本设置

基本配置(默认使用)位于 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,
}

如果您需要更改某些设置,只需在您的 settings.py 中定义一个名为 DJANGO_CHECK_SEO_SETTINGS 的字典。

自定义设置示例

如果您将以下内容放入您的 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,  # 1 if using default settings
    "external_links": 1,
    "meta_title_length": [15,30],  # [30, 60] if using default settings
    "meta_description_length": [50, 160],
    "keywords_in_first_words": 50,
    "max_link_depth": 3,
    "max_url_length": 70,
}

想了解更多吗?请参阅维基页面 设置说明

模板

django_check_seo/default.html 模板有一个名为 seo_aside<aside> 块,您可以根据需要替换它,使用 extends{% block seo_aside %} 指令,如下所示

{% extends "django_check_seo/default.html" %}

{% block seo_aside %}
    Hi!
{% endblock seo_aside %}

此模板将用 "Hi!" 替换所有 About/DocumentationRaw data(在 <aside> 块中的内容)。


选择主要内容(排除头部/页脚/...)

由于 django-check-seo 会计算主要内容中的单词数和内部链接数,因此仅选择页面的 主要内容(页脚中的地址不是您页面的主要内容)非常重要。

Django-check-seo 使用一个字符串(命名为 DJANGO_CHECK_SEO_EXCLUDE_CONTENT)来排除 HTML 内容中的不需要的 HTML 节点

DJANGO_CHECK_SEO_EXCLUDE_CONTENT = "tag, .class, #id, tag > .child_class"

您可以在 css 选择器 的参考表中找到解释(在 mdn 文档中)。

示例:请参阅 此问题的评论 以获取示例。


需要截图吗?

screenshot

其他(较旧)的截图和视频可在 维基 上找到。


单元测试

它们位于 tests 文件夹中。

文件 launch_tests.sh 用于管理测试的启动。您只需要 python3-venv(用于 Python3 venv)和 virtualenv(用于 python2 venv)才能使其工作。


贡献

请参阅 CONTRIBUTING.md


想了解更多吗?

请查看 维基

项目详情


下载文件

下载适用于您平台的应用程序文件。如果您不确定选择哪个,请了解有关安装软件包的更多信息。

源代码分发

django_check_seo-1.0.1.tar.gz (594.7 kB 查看哈希值)

上传时间 源代码

构建分发

django_check_seo-1.0.1-py3-none-any.whl (583.8 kB 查看哈希值)

上传时间 Python 3

支持者

AWSAWS云计算和安全赞助商DatadogDatadog监控FastlyFastlyCDNGoogleGoogle下载分析MicrosoftMicrosoftPSF赞助商PingdomPingdom监控SentrySentry错误日志StatusPageStatusPage状态页