Informatique

Pourquoi je passe de WordPress à Astro


Ce blog tournait sur WordPress depuis ses débuts (2021). Aujourd’hui, vous le lisez sur un site généré avec Astro. Voici pourquoi j’ai changé d’outil.

Les limites de WordPress

WordPress reste un excellent outil pour démarrer : on installe, on choisit un thème et on publie. Mais avec le temps, j’ai rencontré plusieurs problèmes.

  • C’est du PHP, avec une base de données. Chaque visite exécute du code côté serveur et interroge la base de données, même pour afficher un article qui ne change jamais.
  • Les failles de sécurité. WordPress est la cible favorite des attaques, car il est très répandu. Des failles ont régulièrement été découvertes, dans le cœur comme dans les extensions. Il faut surveiller, mettre à jour, et espérer ne pas être en retard.
  • Les extensions. Certaines extensions gratuites deviennent payantes du jour au lendemain, ou voient leurs fonctionnalités passer en version « Pro ».
  • Les mises à jour qui cassent des choses. Une mise à jour de WordPress, d’un thème ou d’une extension peut en casser une autre. Je l’ai vécu plusieurs fois, et mes articles sur le sujet en témoignent (par exemple les fichiers qui ne changent pas d’URL ou marvyScript is not defined).

Ce qu’Astro change

Avec Astro, tout dépend de moi et de mon code. Il n’y a plus de boîte noire : chaque article est un simple fichier Markdown dans un dépôt Git.

  • Un site statique. Les pages sont générées une seule fois, au moment de la publication. Le serveur n’a plus qu’à envoyer des fichiers HTML déjà prêts.
  • Pas d’interface d’administration. Il n’y a plus de page de connexion à attaquer, plus de PHP, plus de base de données. La surface d’attaque est bien plus réduite : il n’y a rien à pirater côté application.
  • Des performances bien meilleures. Une page statique s’affiche presque instantanément, sans calcul côté serveur. Astro n’envoie du JavaScript que lorsque c’est nécessaire.
  • Je garde la main. Pas de mise à jour qui casse mon site pendant la nuit : je décide quand je mets à jour une dépendance, et je vois le résultat avant de publier.
  • Un workflow de développeur. J’écris en Markdown, je versionne avec Git, et une CI construit puis publie le site automatiquement.

La consommation de ressources

Le changement le plus parlant, c’est la consommation sur mon serveur. WordPress demandait deux conteneurs : un pour WordPress (PHP) et un pour la base de données. Le nouveau blog tient dans un seul petit conteneur, qui sert simplement des fichiers.

Consommation des conteneurs : blog-remi 10,7 Mo, base de données 517,8 Mo, WordPress 260,7 Mo

WordPress Astro
Conteneurs 2 (WordPress et base de données) 1
Mémoire 260,7 Mo + 517,8 Mo, soit environ 778 Mo 10,7 Mo
CPU 0,04 % + 0,02 % 0,01 %
Réseau 30,5 Ko/s + 30,2 Ko/s 28 o/s

Ces chiffres sont un relevé ponctuel, mais l’écart est net : le nouveau blog utilise environ 70 fois moins de mémoire.

Et mes anciennes URLs ?

Pas de panique si vous avez des liens vers mes anciens articles : les adresses des articles n’ont pas changé, et les autres pages de WordPress (catégories, flux RSS, plan du site) sont redirigées automatiquement vers leurs équivalents (redirections permanentes 301), pour ne pas perdre de visiteurs ni de référencement.

Ce que je perds

Rien n’est parfait. Il n’y a plus d’interface pour écrire depuis un navigateur, et les commentaires n’ont pas été repris. Pour un blog technique comme le mien, ce sont des compromis que j’accepte volontiers.

À retenir

Pour un blog dont le contenu change rarement, un site statique est plus simple, plus sûr, plus rapide et bien plus léger. WordPress a ses avantages, mais pour moi, Astro est un meilleur choix.