Priestly
← Tous les projets

Étude de cas 04 / 04 · SEO / Outil de bureau

JPFW SEO

Un outil que j'ai construit pour auditer des sites web : il lit un site comme Google, fait 76 vérifications, et rédige un rapport qu'un chef d'entreprise comprend, avec une note technique pour son développeur. En français ou en anglais.

Rôle
Seul · conception + développement
Statut
Outil fonctionnel · code privé
Technologies
TypeScript · Node.js · Lighthouse
Mis à jour
oct. 2026
Exemple de rapport Code privé, disponible sur demande
localhost:4321
Rapport d'audit de www.garage-exemple.cm : 13 pages analysées, le nom et le site de l'agence, et 13 problèmes comptés par gravité : 4 urgents, 1 important, 6 à prévoir, 2 mineurs

01

Ce qu'il fallait, et ce que j'ai construit

Beaucoup de sites d'entreprises au Cameroun sont introuvables sur Google, et leurs propriétaires ne savent pas pourquoi. Les outils d'audit existent, mais ils sont en anglais, écrits pour des spécialistes du SEO, et pleins d'alertes qui ne sont pas de vrais problèmes. Le propriétaire ne sait pas ce qui compte, et un rapport avec de fausses alertes perd sa confiance.

01 · Des mots simples

ProblèmeLes outils d'audit parlent aux spécialistes du SEO. Un chef d'entreprise ne sait pas ce qui compte ni quoi faire.

ConstruitChaque problème dit ce qu'il change et quoi faire, avec des exemples du site. Les trois à corriger en premier ouvrent le rapport.

Messages en français et en anglais avec les mêmes variables, de vrais pluriels, et la note technique repliée pour le développeur

« Commencez par ces 3 » : une page qui plante, un site sans cadenas, et une page qui ne s'adapte pas aux téléphones, chacun avec quoi faire en une phrase

02 · Confiance

ProblèmeUne fausse alerte dans un rapport fait douter le propriétaire de tout le reste.

ConstruitLes vérifications ne se déclenchent que sur une preuve claire, et le rapport dit ce qu'il n'a pas pu vérifier au lieu d'affirmer qu'il n'y a pas de problème.

Des sites enregistrés rejoués hors ligne : le test exige exactement les constats attendus, dans l'ordre

Rapport d'audit de www.garage-exemple.cm : 13 pages analysées, le nom et le site de l'agence, et 13 problèmes comptés par gravité : 4 urgents, 1 important, 6 à prévoir, 2 mineurs

03 · Plusieurs sites

ProblèmeAuditer plusieurs sites un par un, puis comparer à la main avec le mois dernier, prend un après-midi.

ConstruitUne file de 20 sites maximum avec une barre de progression en direct, et chaque rapport comparé avec l'analyse précédente du site.

Une analyse à la fois, pour que les mesures de vitesse ne se gênent pas ; chaque analyse enregistrée en JSON avec son rapport

File de trois sites : l'un mesure la vitesse sur un téléphone simulé à 60 %, les deux autres attendent leur tour
Toutes les fonctionnalités (10)
  • 76 vérifications : indexation, liens cassés et redirections, titres et descriptions, titres de section, données structurées, HTTPS, images, vitesse et informations d'entreprise locale
  • Un rapport écrit pour le propriétaire : ce que chaque problème change et quoi faire, avec des exemples de son propre site, et une note technique repliée pour son développeur
  • « Commencez par ces 3 » : les problèmes les plus graves et les plus répandus d'abord, sur une première page qui s'imprime comme un résumé à envoyer au client
  • Vitesse mesurée dans un vrai Chrome avec Lighthouse, trois mesures par page, jugées sur la médiane et ajustées à la vitesse de l'ordinateur
  • Les menus construits en JavaScript sont suivis : la page d'accueil est d'abord lue dans Chrome, donc l'analyse ne s'arrête pas à une page
  • Une file de 20 sites maximum avec une barre de progression en direct, l'historique de chaque analyse, et « ce qui a changé depuis la dernière analyse » dans chaque rapport
  • Le type de site peut être choisi (boutique, commerce local, média, association…), donc un site d'actualité n'est jamais jugé sur ses moyens de paiement
  • Prospection : trouve les liens morts sur des pages d'annuaire, la copie archivée de ce qu'ils pointaient, et un message prêt à envoyer au propriétaire de la page
  • Interface et rapports en français ou en anglais, avec le nom de l'agence sur chaque rapport
  • Un paquet Windows avec son propre Node.js, et des mises à jour qui ne téléchargent que le code modifié (environ 1 Mo au lieu de 74 Mo)

02

Comment c'est construit

J'ai construit un moteur de diagnostic et une petite application qui le lance. Le moteur lit les pages du site comme Google, puis vérifie les titres, les liens, les redirections, les données structurées, les informations d'entreprise locale, la vitesse sur téléphone et ce que les assistants IA peuvent lire. Chaque problème explique ce qu'il change, quoi faire, avec des exemples pris sur le site, et une note repliée pour le développeur. Le rapport commence par les trois choses à corriger en premier, et s'imprime en PDF prêt à envoyer.

Langage
TypeScript on Node.js 22Un seul langage du robot au rapport. Node exécute le TypeScript directement, donc pas d'étape de compilation qui casse.
Robot
Crawlee + CheerioCrawlee gère la file, les nouvelles tentatives, robots.txt et le rythme ; Cheerio lit le HTML sans navigateur, ce qui est rapide.
Vitesse
Lighthouse + PuppeteerLes mêmes mesures que Google, dans un vrai Chrome sur un téléphone simulé, dans un module à part pour que le robot reste léger.
Interface
Plain HTML, no frameworkUne application locale sur 127.0.0.1 avec quelques pages. Du HTML simple n'a rien à compiler ni à mettre à jour.
Tests
Vitest + recorded sitesChaque vérification est testée sur des sites avec des problèmes plantés et sur de vrais sites enregistrés à l'octet près, hors ligne et identiques à chaque fois.
Distribution
GitHub Actions + ReleasesChaque fusion est testée sur Linux et Windows, empaquetée, et publiée comme mise à jour que l'application installe seule après avoir vérifié son empreinte.

03

Ce qui était difficile

  • Pas de fausses alertes. Un rapport qui signale ce qui n'est pas un problème perd la confiance du propriétaire. Chaque vérification est testée sur 18 sites avec des problèmes plantés et des pièges, et sur 7 vrais sites enregistrés et revus constat par constat : un test échoue si un problème est manqué ou si un problème qui ne devrait pas apparaître apparaît.
  • Même site, même rapport. Les serveurs répondent dans un ordre aléatoire, donc une limite de pages pouvait couper l'exploration à une page différente à chaque fois. Le robot lit les pages par vagues, dans l'ordre des liens, donc deux analyses du même site s'arrêtent au même endroit.
  • Les menus construits en JavaScript. Certains sites n'ont aucun lien dans leur HTML, donc l'analyse s'arrêtait à la page d'accueil. L'outil ouvre maintenant la page d'accueil dans Chrome et suit les liens qui apparaissent une fois le JavaScript exécuté.
  • Les mises à jour sur données mobiles. Le paquet complet pèse 74 Mo. Chaque version enregistre une empreinte de Node.js et des bibliothèques ; quand elle n'a pas changé, l'application ne télécharge que le code, environ 1 Mo.

04

Résultat

C'est un outil fonctionnel que j'utilise pour mes audits : une application Windows qui se met à jour seule, avec 865 tests automatisés lancés sur Linux et Windows à chaque modification. Le code est dans un dépôt privé ; l'exemple de rapport montre exactement ce que reçoit un client.

05

Écrans

6 écrans · touchez pour agrandir

Vous voulez savoir ce que Google voit de votre site ?

Je lance cet audit sur votre site et je vous explique le rapport.

Discuter sur WhatsApp