Québec, Canada

403-1381 1re Avenue

+1 581.849.27.96

bdgouthiere@gmail.com

Ce que mon blog de développeur me rapporte vraiment, chiffres en main

Ou : La comptabilité d’un blog dont le lecteur le plus assidu est son auteur

Ce dimanche 25 octobre 2026, ce blog publie son vingt-deuxième article en vingt-deux jours. La question qu’on pose à tout développeur qui tient un blog technique ne change jamais : qu’est-ce que ça te rapporte ? De la visibilité, des clients, un meilleur poste, de l’argent ? J’ai sous la main de quoi répondre sans enjoliver : les journaux du serveur, la Search Console de Google et l’historique Git du site. Ils racontent une histoire moins glorieuse que les conseils de carrière habituels, et plus intéressante. Les lecteurs envoyés par les moteurs de recherche tiennent dans un mouchoir de poche. Ce que l’écriture rapporte se mesure ailleurs : dans le code qu’il a fallu faire tourner avant de l’expliquer, et dans les bogues trouvés en chemin.

Tenir un blog technique quand on est développeur : audience, apprentissage et coût réel

Les lecteurs, ou le mouchoir de poche

Commençons par ce qui se compte. Sur les trente jours qui se terminent le 16 octobre 2026, j’ai trié les requêtes reçues par le serveur selon la méthode décrite dans l’article sur la mesure d’audience sans JavaScript : uniquement les pages servies sans erreur, et sans les robots qui se déclarent comme tels1.

Section du siteRequêtes de pagesDont venues d’un moteur de recherche
Articles du blog84710
Guides5 470253

Dix. En un mois, les moteurs de recherche ont envoyé dix requêtes vers les articles du blog, et deux cent cinquante-trois vers les guides. Le reste des lectures du blog vient des liens internes du site (82), de X (14), et surtout de requêtes sans référent (738). Cette dernière catégorie mélange les gens qui tapent l’adresse, les lecteurs de flux et les scripts qui se font passer pour un navigateur, dans des proportions que je ne connaîtrai jamais.

Ce n’est pas une anomalie de mon site, c’est la norme. Ahrefs a passé au crible environ 14 milliards de pages en 2023 : 96,55 % ne reçoivent aucune visite depuis Google2. Un article technique, en français, publié sur un domaine personnel, réunit à peu près toutes les caractéristiques des pages de cette majorité silencieuse.

Google, d’ailleurs, ne les garde pas toutes. Au 15 octobre, la Search Console comptait 237 pages du site indexées et 288 non indexées, dont une quinzaine d’articles du blog3. Publier un article ne garantit même pas qu’il existe aux yeux du moteur.

Ce que l’écriture rapporte : l’obligation de vérifier

Paul Graham ouvre un essai de 2022 sur une idée simple : écrire sur un sujet, même un sujet qu’on maîtrise, montre en général qu’on le connaissait moins bien qu’on le croyait4. Un blog technique pousse la logique un cran plus loin. Une phrase fausse dans une conversation s’évapore. Une phrase fausse publiée à côté d’un bloc de code reste en ligne, et quelqu’un finira par copier le code.

Alors je fais tourner le code avant de l’écrire. Depuis le début du mois, les articles qui montrent du Go indiquent la version qui l’a exécuté, Go 1.27.1, et c’est souvent en l’exécutant qu’ils ont trouvé leur meilleur passage. Trois exemples, tous du mois d’octobre.

Le premier n’était même pas prévu. En publiant l’article sur l’injection SQL en Go, j’ai fait échouer la validation AMP du site : 94 225 octets de CSS, pour une limite de 75 000. Le coupable n’était ni le thème ni le design, mais la coloration syntaxique de Hugo, qui écrivait chaque couleur dans le HTML. Il a fallu comprendre, corriger, et la correction est devenue un article.

Le deuxième est venu en décrivant l’outil d’audit SEO que j’ai écrit en Go. En relisant ses avertissements pour l’article, quatre lignes m’ont arrêté, et elles étaient fausses : un bogue de normalisation qui ne touchait que les catégories du site dont le nom porte un accent. Aucun tableau de bord ne l’aurait signalé, puisque c’était le tableau de bord qui se trompait.

Le troisième tient à une phrase des notes de version de Go 1.27, selon laquelle le texte des messages d’erreur de JSON « peut différer ». Pour l’article sur la migration vers JSON v2, j’ai compilé le même programme deux fois, avec et sans l’ancienne implémentation : deux messages sur neuf ont changé. « Peut différer » est devenu « deux sur neuf, et voici lesquels », ce qui est exactement la différence entre lire une documentation et la vérifier.

DevOps Dave : Mon blog a reçu dix visites de Google ce mois-ci. J’arrête.

Security Sarah : Et le bogue de ta configuration que tu as trouvé en écrivant ton dernier billet ?

DevOps Dave : Il n’apparaît pas dans les statistiques.

Security Sarah : Il serait apparu dans tes rapports d’incident, si tu ne l’avais pas trouvé avant.

Une trace publique, avec ses trous

Le blog a une autre fonction, plus discrète : il date ce que je sais faire, et la façon dont je l’ai appris. Les deux plus anciens articles encore en ligne remontent au 24 octobre 2024. L’un raconte mon retour aux études, une AEC en développement d’applications sécuritaires au Cégep Limoilou, l’autre mon stage chez Libéo. Viennent ensuite, de février à avril 2026, douze articles sur les tests en Go, puis la série sur l’authentification par lien magique, puis le rythme quotidien.

L’historique a aussi ses trous, et Git ne les maquille pas. Entre le 25 avril et le 24 septembre 2026, aucun article. Le dépôt montre que le travail était ailleurs : un livre sur la migration vers le cloud, une lettre d’information, des guides. Un blog tenu par une seule personne suit la vie de cette personne, et ses silences se voient autant que ses articles.

Cette trace a-t-elle été lue par un recruteur, un client, un futur collègue ? Je n’en sais rien, et mes outils non plus. Un journal de serveur connaît des adresses, des heures et des user-agents. Il ne connaît pas les intentions, et il ne saura jamais si la personne qui a lu l’article sur les tests de concurrence cherchait à embaucher ou à corriger un bogue un vendredi soir.

Ce que ça coûte, et ce qu’on ne voit pas

Le coût évident, c’est la rigueur : des sources primaires pour chaque chiffre, du code exécuté, des liens contrôlés avant publication. Il y en a un autre, moins visible. Publier pénalise les articles déjà publiés.

L’audit SEO dont je parlais l’a mesuré. La page d’accueil pointe vers les trois derniers articles, la première page du blog vers les neuf derniers, et ces deux pages valent 99 sur 100 dans le calcul de PageRank interne de l’outil. Les quatre articles les plus récents obtenaient entre 9,8 et 16,2, les plus anciens tombaient à 1,2. Avec un article par jour, un billet quitte la page d’accueil en trois jours. Écrire davantage fait couler plus vite ce qu’on a écrit, et le seul remède connu est le lien d’un article à l’autre, quand il a du sens. Celui-ci en compte huit, et ce n’est pas par politesse.

Reste l’argent. Le blog n’affiche aucune publicité et ne vend aucun abonnement. S’il rapporte quelque chose, c’est de façon indirecte, et aucun de mes journaux ne sait le mesurer. Un bilan honnête s’arrête là où s’arrêtent les données.

Le lecteur dont je suis sûr

Le serveur a compté dix lectures venues des moteurs de recherche en un mois. Il ne compte pas le lecteur qui a le plus fréquenté ces articles : celui qui les a relus avant publication, qui a fait tourner leur code, et qui a découvert, plus souvent qu’il ne l’aurait cru, qu’il se trompait. Dans le tableau de l’article sur les journaux du serveur, la plus grosse ligne s’intitulait « inconnus, peut-être humains ». Ce lecteur-là est le seul dont je sois certain qu’il est humain.



  1. Journal du serveur Caddy, du 17 septembre au 16 octobre 2026. Sont comptées les requêtes GET qui ont reçu une réponse 200, vers une page d’article ou de guide (hors pages de pagination), dont le user-agent ne contient aucune signature de robot connue. « Venue d’un moteur » veut dire que le référent est Google, Bing, DuckDuckGo, Qwant, Brave, Ecosia, Yahoo, Startpage ou Yandex. Ce sont des requêtes, pas des personnes : un lecteur qui recharge la page compte deux fois, un robot déguisé en navigateur compte comme un lecteur, et une visite venue d’un moteur peut se cacher parmi les requêtes sans référent quand le navigateur n’en transmet pas. ↩︎

  2. Tim Soulo, « 96.55% of Content Gets No Traffic From Google », Ahrefs, 1er décembre 2023 : « 96.55% of all pages in our index get zero traffic from Google ». L’étude porte sur la base Content Explorer d’Ahrefs, environ 14 milliards de pages, et précise elle-même que cet index n’est pas une image exacte du web entier. ↩︎

  3. Rapport « Indexation des pages » de la Google Search Console, consulté le 15 octobre 2026. La grande majorité des pages non indexées se répartit entre deux états : « Détectée, actuellement non indexée » (226 pages), où Google connaît l’adresse sans l’avoir explorée, et « Explorée, actuellement non indexée » (53 pages), où il l’a lue et a choisi de ne pas la garder. Les guides mis en ligne en bloc depuis la fin septembre en forment l’essentiel. ↩︎

  4. Paul Graham, « Putting Ideas into Words », février 2022. La première phrase de l’essai se termine ainsi : « you didn’t know it as well as you thought ». ↩︎