Table des matières
🔍 Outil d'Audit GEO - Documentation
Analyseur en ligne pour évaluer l'optimisation GEO (Generative Engine Optimization) d'une page web.
Installation
Structure des fichiers
Créez un dossier sur votre serveur avec cette structure :
geo-audit/ ├── index.html (Interface utilisateur) ├── audit.php (Backend d'analyse) ├── export-pdf.js (Export PDF professionnel) ├── scraping-config.json (Configuration scraping - optionnel) └── README.md (Documentation)
Prérequis serveur
- PHP : 7.4 ou supérieur
- Extensions PHP :
curl(pour récupérer les pages)dom(pour parser le HTML)json(inclus par défaut)
- Serveur web : Apache, Nginx ou autre
Configuration Apache
Si vous utilisez Apache, créez un fichier .htaccess :
# Réécriture d'URL <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / </IfModule> # Sécurité <Files "audit.php"> Order allow,deny Allow from all </Files> # Compression GZIP <IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/html text/css application/javascript application/json </IfModule> # Cache <IfModule mod_expires.c> ExpiresActive On ExpiresByType text/html "access plus 0 seconds" ExpiresByType text/css "access plus 1 month" ExpiresByType application/javascript "access plus 1 month" </IfModule>
Configuration Nginx
Si vous utilisez Nginx, ajoutez à votre configuration :
location / { try_files $uri $uri/ /index.html; } location ~ \.php$ { fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } # Sécurité add_header X-Frame-Options "SAMEORIGIN" always; add_header X-Content-Type-Options "nosniff" always; add_header X-XSS-Protection "1; mode=block" always;
Utilisation
URL d'accès
Accédez à l'outil via : https://audit.ticoet.me/
Analyse d'une page
- Entrez l'URL de la page à analyser
- Sélectionnez le type de page (article, homepage, etc.)
- Cochez les options si nécessaire (mode compatible, service de scraping)
- Cliquez sur “Lancer l'audit GEO”
- Consultez les résultats détaillés
Mode HTML (pour sites protégés)
Si la page est protégée par Cloudflare :
- Ouvrez la page dans votre navigateur
- Affichez le code source (
Ctrl+U/Cmd+Option+U) - Sélectionnez tout (
Ctrl+A) - Copiez (
Ctrl+C) - Collez dans l'onglet “Analyser du HTML”
Métriques analysées
Entités Schema.org
| Type | Description |
|---|---|
| Organization | Entreprises/organisations |
| Person | Personnes avec relations (worksFor, memberOf) |
| Service | Services proposés |
| Product | Produits |
| LocalBusiness | Entreprises locales |
Éléments multimédias
| Élément | Analyse |
|---|---|
| Images | Comptage total et vérification des attributs alt |
| Vidéos | Détection (YouTube, Vimeo, hébergées) |
| Audio | Détection des fichiers audio |
| Médias GEO | Détection des blocs optimisés (geo-image, geo-video, geo-audio) |
Contenu structuré
| Élément | Analyse |
|---|---|
| FAQ | Détection des FAQ (<details>, Schema.org FAQPage) |
| Citations | Comptage des <blockquote> et <cite> |
| JSON-LD | Vérification de la présence de Schema.org en JSON-LD |
| Microdata | Détection du balisage microdata |
Métadonnées
| Élément | Analyse |
|---|---|
| Title | Présence et longueur |
| Description | Présence et longueur |
| Open Graph | Vérification des balises OG |
| WordPress | Détection automatique du CMS |
Calcul du score
Le score maximum est de 100 points répartis en 4 catégories :
| Catégorie | Points max | Critères |
|---|---|---|
| Entités | 30 | Organization (+10), Person (+5 chacune), Total ≥3 (+10) |
| Médias | 25 | Images avec alt (+10), Vidéos (+10), Audio (+5) |
| Structure | 25 | FAQ ≥2 (+10), FAQSchema (+5), Citations (+5), JSON-LD (+5) |
| Métadonnées | 20 | Title (+5), Description (+5), Open Graph (+5), JSON-LD (+5) |
Interprétation du score
- 80-100 : Excellent - Optimisé pour les IA
- 50-79 : Bon - Améliorations possibles
- 0-49 : À améliorer - Travail nécessaire
Export des résultats
Export PDF
Le rapport PDF professionnel inclut :
- Page 1 : Score global avec répartition par catégorie
- Page 2 : Checklist d'actions avec priorités (critique, important, optionnel)
- Page 3 : Liste des images sans attribut alt (URLs)
- Page 4 : Exemples de code JSON-LD à copier-coller
- Page 5 : Tableau comparatif avant/après avec gains estimés
- Page 6 : Analyse détaillée (entités, FAQ, métadonnées)
- Page 7 : Plugins WordPress recommandés (si WordPress détecté)
- Page 8 : Ressources et prochaines étapes
Export CSV
Le fichier CSV Excel-friendly inclut :
- Sections clairement délimitées (
=== TITRE ===) - Colonnes multiples adaptées par section
- Liste des images sans alt avec URLs
- Détail des entités, FAQ et citations
- Recommandations triées par priorité avec cases à cocher
- Plugins WordPress si applicable
Services de scraping tiers
Pour les sites protégés par Cloudflare ou des systèmes anti-bot.
Services supportés
| Service | Description | Tarification |
|---|---|---|
| ScrapingBee | Excellent pour Cloudflare, JavaScript rendering | 1000 crédits gratuits |
| ScraperAPI | Rotation d'IP automatique | 5000 crédits gratuits |
| Browserless | Headless Chrome complet | Limité sans abonnement |
| ZenRows | Anti-bot avec IA | 1000 crédits gratuits |
Configuration
- Créez un compte sur le service de votre choix
- Récupérez votre clé API
- Modifiez le fichier
scraping-config.json:
{
"service": "scrapingbee",
"api_key": "VOTRE_CLE_API",
"options": {
"render_js": "true",
"premium_proxy": "true",
"country_code": "fr"
}
}
Stratégies de récupération
L'outil utilise plusieurs stratégies en cascade :
- Service de scraping (si demandé et configuré)
- Mode compatible avancé : Google Cache, Web Archive, Googlebot UA, Mobile UA
- Headers Chrome réalistes
- cURL basique
- file_get_contents
- Fallback service de scraping (si configuré mais non demandé)
Plugins WordPress recommandés
Si votre site utilise WordPress, l'audit recommande automatiquement :
GEO Blocks Suite
Blocs Gutenberg optimisés pour le SEO et les moteurs d'IA :
- Blockquote GEO : Citations avec Schema.org (auteur, source, date)
- FAQ GEO : Questions/réponses avec FAQPage Schema
- Image GEO : Images avec métadonnées enrichies
- Video GEO : Vidéos avec VideoObject Schema
- Audio GEO : Audio avec AudioObject Schema
:icon-link: Documentation GEO Blocks Suite
GEO Authority Suite
Suite complète pour l'autorité et la visibilité IA :
- Audits GEO internes automatisés
- Création automatique des entités Schema.org manquantes
- Génération du fichier
llms.txtpour les LLM - Tableau de bord centralisé avec scores
:icon-link: Documentation GEO Authority Suite
Dépannage
Erreur "Impossible de récupérer la page"
Cause : L'URL cible bloque les requêtes (Cloudflare, anti-bot)
Solutions :
- Cochez l'option “Mode compatible”
- Cochez l'option “Service de scraping tiers” (si configuré)
- Utilisez l'onglet “Analyser du HTML”
Vérifier CURL
php -m | grep curl # Installer CURL si absent (Ubuntu/Debian) sudo apt-get install php-curl sudo systemctl restart apache2
Timeout
Cause : Page trop lourde ou serveur lent
Solution : Les timeouts sont configurés à 120 secondes pour les services de scraping.
Personnalisation
Modifier les coefficients de score
Éditez audit.php, fonction calculateBreakdown() :
// Exemple : augmenter l'importance des FAQ if ($audit['content']['faq'] >= 2) $breakdown['structure'] += 15; // au lieu de 10
Ajouter de nouvelles analyses
- Créez une fonction dans
audit.php - Appelez-la dans
analyzeHTML() - Mettez à jour l'affichage dans
index.html
Sécurité
Protection contre les abus
Ajoutez un rate limiting dans audit.php :
session_start(); // Limite : 10 audits par heure if (!isset($_SESSION['audit_count'])) { $_SESSION['audit_count'] = 0; $_SESSION['audit_reset'] = time() + 3600; } if (time() > $_SESSION['audit_reset']) { $_SESSION['audit_count'] = 0; $_SESSION['audit_reset'] = time() + 3600; } if ($_SESSION['audit_count'] >= 10) { http_response_code(429); echo json_encode(['error' => 'Limite atteinte']); exit; } $_SESSION['audit_count']++;
Ressources
Licence
MIT License - Libre d'utilisation et de modification
Auteur
Support
Pour toute question ou bug :
- Contact via https://www.ticoet.fr/
Version : 2.0
Dernière mise à jour : 20 Janvier 2025
