module-revolucy-seo
Moteur d'audit SEO & GEO (Generative Engine Optimization) pour Django.
Analyse une page web et produit un score sur 100 avec des recommandations, organisees en 4 categories : SEO, GEO & IA, Contenu, Technique.
Installation
pip install module-revolucy-seo
Configuration
# settings.py
INSTALLED_APPS = [
...
'revolucy_seo',
]
# urls.py
path('seo/', include('revolucy_seo.urls')),
Migration :
python manage.py migrate revolucy_seo
Variables d'environnement
Toutes optionnelles :
| Variable | Usage | Sans la variable |
|---|---|---|
URL_PROTOCOL |
Protocole pour les URLs du panneau admin (http ou https) |
Defaut : https |
URL_DOMAIN |
Domaine pour les URLs du panneau admin | Defaut : localhost |
Categories d'analyse
SEO (22 checks)
Titre, meta description, H1, H2, hierarchie des titres, mot-cle (titre, H1, slug, densite, premier paragraphe, 100 premiers mots), canonical, robots, hreflang, images alt, liens internes/externes, OpenGraph, Twitter Card.
GEO & IA (9 checks)
Donnees structurees JSON-LD, Schema Organization/LocalBusiness, Schema BreadcrumbList, Schema FAQ, Schema WebSite, signaux E-E-A-T, Schema HowTo, liens vers des sources fiables (Wikipedia, .gouv.fr, Europa, etc.), fil d'Ariane HTML visible.
Contenu (6 checks)
Nombre de mots (>= 300), contenu approfondi (>= 600 mots pour GEO), lisibilite Flesch FR, structure H2 + H3, listes ou tableaux, donnees chiffrees et statistiques.
Technique (7 checks)
Attribut lang, meta viewport, longueur URL, profondeur URL, slug lisible, ancres vides, alt trop courts.
Utilisation
Analyse HTML (sans requete reseau)
from revolucy_seo.services.analyzer import analyze_html
result = analyze_html(html, url, focus_kw="erp")
print(result['score']) # 75
print(result['checks']) # liste des checks avec category, ok, hint
Panneau admin
Ajoute un panneau SEO & GEO en bas de n'importe quel ModelAdmin :
from revolucy_seo.admin import SeoPanelAdminMixin
class PageAdmin(SeoPanelAdminMixin, admin.ModelAdmin):
readonly_fields = ['seo_panel']
Le panneau pre-remplit l'URL de la page via reverse() si le modele a un champ lien qui correspond a un nom de route Django.
Crawler CLI
python manage.py seo_audit --start-url https://exemple.fr --focus-kw "erp" --max-pages 50
Crawle le site en BFS et affiche le score SEO & GEO de chaque page.
Dependances
- Django >= 4.2
- requests
- beautifulsoup4
- lxml (fallback automatique sur html.parser si absent)
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file module_revolucy_seo-0.1.1.tar.gz.
File metadata
- Download URL: module_revolucy_seo-0.1.1.tar.gz
- Upload date:
- Size: 14.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1b03ea16a9058f7daabdeec3578a188a6785e1fbad07059c49a9ac66703caeb6
|
|
| MD5 |
c1efef919d66fe2a23461deea40389d7
|
|
| BLAKE2b-256 |
f326825561cdc47faca4ff7f4ee4638aeae58595c0086ea7cd974ec0c2dd3e7e
|
File details
Details for the file module_revolucy_seo-0.1.1-py3-none-any.whl.
File metadata
- Download URL: module_revolucy_seo-0.1.1-py3-none-any.whl
- Upload date:
- Size: 17.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1cd2adff3648fb7054ba9f3c19f16ffd16fed1f77e223b7e7a7f988ed300ef8a
|
|
| MD5 |
3cfbebbc2c823612547bc7bd7c343f09
|
|
| BLAKE2b-256 |
455d2210320c2d7e8af0fa9129944cc0fef93067e33c96aa259a950e572871c2
|