Module SEO Google Docs : Optimisez vos articles pour le référencement
Un bon référencement est essentiel pour augmenter la visibilité d’un article en ligne. Ce tutoriel vous montre comment créer un module SEO Google Docs qui analyse les critères SEO de vos articles et vous aide à ajuster votre contenu pour un référencement optimal. Avec cette solution, vous améliorez la lisibilité et la visibilité de vos documents, car chaque aspect SEO est pris en compte pour atteindre un meilleur score.
Étape 1 : Les critères d’évaluation
Ce fichier Google Docs évalue les aspects essentiels du SEO et de la lisibilité pour optimiser vos contenus en ligne.
Critères SEO
Les principaux critères SEO que ce module évalue sont les suivants :
- Images : Incluez des images pertinentes pour enrichir le contenu et rendre vos articles plus attrayants.
- Liens internes : Ajoutez des liens vers d’autres articles pertinents pour renforcer le maillage interne et guider les lecteurs vers des ressources complémentaires.
- Densité de la requête cible : Assurez-vous que la requête cible soit présente au moins deux fois pour garantir la pertinence.
- Mot-Clé dans le titre SEO : Placez le mot-clé cible au début du titre pour un référencement optimal.
- Mot-Clé dans les sous-titres : Ajoutez le mot-clé dans les sous-titres (H2 et H3) pour améliorer la pertinence SEO de votre article.
- Mot-Clé dans l’introduction : Placez votre requête cible dès la première phrase de l’introduction pour en renforcer l’impact.
- Longueur de la méta description : Limitez la méta description à 155 caractères pour éviter qu’elle ne soit coupée dans les résultats de recherche.
Critères de lisibilité
Une lecture agréable encourage l’engagement des lecteurs. Voici les critères de lisibilité pris en compte par ce module :
- Phrases courtes : Privilégiez les phrases de moins de 20 mots pour une meilleure compréhension.
- Mots de transition : Utilisez des mots de transition comme “car,” “toutefois,” et “donc” pour structurer votre texte et guider la lecture.
- Répétition de mots : Évitez les répétitions en début de phrase pour rendre le texte plus fluide.
- Voix active : Favorisez la voix active pour un ton plus direct et engageant, limitant ainsi la voix passive.
Ces critères garantissent un contenu optimisé pour le SEO tout en offrant une expérience de lecture agréable.
Étape 2 : Créer le script pour calculer le score SEO
Avant de publier mes articles sur mon blog, je les rédige dans Google Docs. Cet outil sera le support d’édition. Commencez donc par ouvrir l’éditeur Apps Script dans Google Docs en suivant ces étapes :
- Dans Google Docs, allez dans Extensions > Apps Script.
- Remplacez le contenu de l’éditeur par le code ci-dessous (un extrait du code vous est proposé) pour analyser votre document et calculer le score SEO.
function calculerScoreSeo(requeteCible, metaDescription) { const document = DocumentApp.getActiveDocument(); const texte = document.getBody().getText(); // Critères SEO avec des logs pour chaque critère const imagesExist = document.getImages().length > 0; Logger.log("Images présentes:" + imagesExist); const liensInternesExist = (texte.match(/https:\/\/docs\.google\.com/g) || []).length > 0; Logger.log("Liens internes présents:" + liensInternesExist); const densiteMotCle = requeteCible && (texte.match(new RegExp(requeteCible, "gi")) || []).length >= 2; Logger.log("Densité Mot-Clé >= 2:" + densiteMotCle); const motCleDansTitre = requeteCible && document.getName().toLowerCase().startsWith(requeteCible.toLowerCase()); Logger.log("Mot-Clé dans Titre:" + motCleDansTitre); const motCleDansTitresExist = requeteCible && document.getBody().getParagraphs().some(p => { const headingType = p.getHeading(); return (headingType === DocumentApp.ParagraphHeading.HEADING2 || headingType === DocumentApp.ParagraphHeading.HEADING3) && p.getText().toLowerCase().includes(requeteCible.toLowerCase()); }); Logger.log("Mot-Clé dans Titres H2/H3:" + motCleDansTitresExist); const motCleDansIntro = requeteCible && new RegExp(requeteCible, "i").test(texte.split(/[.!?]/)[0]); Logger.log("Mot-Clé dans Intro:" + motCleDansIntro); const longueurRequeteValide = requeteCible && requeteCible.split(' ').length <= 4; Logger.log("Longueur Requête <= 4 mots:" + longueurRequeteValide); const longueurMetaDescriptionValide = metaDescription && metaDescription.length <= 155; Logger.log("Longueur Méta Description <= 155 caractères:" + longueurMetaDescriptionValide); // Critères de lisibilité const phrasesCourtesExist = (texte.split(/[.!?]/).filter(s => s.trim().split(' ').length <= 20).length / texte.split(/[.!?]/).length) >= 0.5; Logger.log("Phrases Courtes >= 50%:" + phrasesCourtesExist); const pourcentagePhrasesTransition = calculerPourcentagePhrasesTransition(texte); const motsTransitionRespectes = pourcentagePhrasesTransition >= 30; Logger.log("Pourcentage de phrases avec transition >= 30%: " + motsTransitionRespectes); // Calculer la proportion de phrases à la voix passive const pourcentageVoixPassive = calculerPourcentageVoixPassive(texte); const voixPassiveRespectee = pourcentageVoixPassive <= 10; Logger.log("Voix Passive Respectée <= 10%: " + voixPassiveRespectee); // Pondération des critères const poids = { densiteMotCle: 15, motCleDansTitre: 15, longueurMetaDescription: 10, liensInternes: 10, images: 5, phrasesCourtes: 15, motsTransition: 10, repetitionMots: 5, voixPassive: 5, longueurRequete: 10, }; // Calcul du score pondéré const totalPoids = Object.values(poids).reduce((acc, val) => acc + val, 0); let scorePondere = 0; const criteres = { densiteMotCle, motCleDansTitre, longueurMetaDescription: longueurMetaDescriptionValide, liensInternes: liensInternesExist, images: imagesExist, phrasesCourtes: phrasesCourtesExist, motsTransition: motsTransitionRespectes, voixPassive: voixPassiveRespectee, longueurRequete: longueurRequeteValide, }; for (const [critere, estRespecte] of Object.entries(criteres)) { if (estRespecte) { scorePondere += poids[critere]; } } const scoreSeo = Math.round((scorePondere / totalPoids) * 100); Logger.log("Score SEO Calculé:" + scoreSeo); // Suggestions d'amélioration const suggestions = []; if (!criteres.images) suggestions.push("Ajoutez des images pertinentes pour enrichir le contenu visuel de l'article."); if (!criteres.liensInternes) suggestions.push("Incluez des liens internes vers d'autres articles ou sections pour améliorer le maillage interne."); if (!criteres.densiteMotCle && requeteCible) suggestions.push("Assurez-vous que la requête cible est mentionnée au moins deux fois dans le texte."); if (!criteres.motCleDansTitre && requeteCible) suggestions.push("Placez le mot-clé cible au début du titre SEO pour un meilleur référencement."); if (!criteres.motCleDansTitresExist && requeteCible) suggestions.push("Ajoutez le mot-clé dans les sous-titres (H2 et H3) pour améliorer la pertinence."); if (!criteres.motCleDansIntro && requeteCible) suggestions.push("Placez la requête dans la première phrase pour améliorer sa visibilité."); if (!criteres.longueurMetaDescription && metaDescription) suggestions.push("Limitez la méta description à 155 caractères maximum."); if (!criteres.phrasesCourtes) suggestions.push("Utilisez des phrases plus courtes pour améliorer la lisibilité."); if (!criteres.motsTransition) suggestions.push("Ajoutez plus de mots de transition (ex: 'car', 'toutefois', 'donc') pour faciliter la lecture."); if (!criteres.voixPassive) suggestions.push("Privilégiez la voix active et réduisez l’utilisation de la voix passive."); // Retourne les résultats finaux return { score: scoreSeo, details: criteres, suggestions: suggestions }; }
Le script analysera chaque critère et fournira un score SEO détaillé pour chaque article.
Voici la pondération que j’ai choisi pour les critères SEO.
Critère | Poids (%) |
---|---|
Densité de la requête cible | 15% |
Mot-Clé dans le titre SEO | 15% |
Longueur de la méta description | 10% |
Liens internes | 10% |
Images | 5% |
Phrases courtes | 15% |
Mots de transition | 10% |
Évitement de répétition de mots | 5% |
Voix passive | 5% |
Longueur de la requête cible | 10% |
Étape 3 : Ajouter une barre latérale pour afficher le score
Créez un fichier HTML nommé BarreLaterale avec le contenu suivant. Cette barre latérale affichera le score SEO et les détails des critères dans une interface similaire à Google Docs.
<div class="input-group"> <label for="requete">Requête cible</label> <input type="text" id="requete" placeholder="Entrez la requête cible ici"> </div> <div class="input-group"> <label for="metaDescription">Méta description</label> <input type="text" id="metaDescription" placeholder="Entrez la méta description ici"> </div>
Étape 4 : Tester l’add-on
- Saisir votre article
- Ensuite, depuis le menu Extensions, cliquez sur L’atelier informatique puis Calculer le score SEO
Vous verrez une barre latérale, permettant d’évaluer votre article selon les critères SEO et de lisibilité.
Avec ce module SEO pour Google Docs, vous obtenez un score SEO directement dans Google Docs et pouvez ajuster votre contenu pour une optimisation complète. En suivant ces critères de référencement et de lisibilité, vous améliorez la visibilité de vos articles tout en assurant une expérience de lecture agréable.
L’atelier informatique vous accompagne dans vos projets technologiques en vous proposant des tutoriels et des solutions pour optimiser vos tâches quotidiennes.