Après WordPress puis Next.js, mes anciens blogs prennent la direction d’Astro et de Cloudflare Pages. L’idée : conserver leurs archives, alléger mon serveur et continuer à publier simplement.

Logo officiel Astro sur fond sombre

Logo Astro — ressources officielles.

En septembre 2024, je vous racontais comment j’avais abandonné WordPress pour Next.js. Après des années à entretenir des installations et des plugins vieillissants, j’avais enfin retrouvé quelque chose de plus simple : des articles en Markdown, des images dans des dossiers et un site dont je maîtrisais le fonctionnement.

Deux ans plus tard, me voilà encore en train de changer de moteur ;) Cette fois, le sujet est surtout l’hébergement. Je veux garder ces blogs accessibles sans continuer à les faire tourner sur mon serveur comme des applications qui auraient besoin de calculer des choses à chaque visite.

Des archives qui méritent de rester en ligne

2803, blog4auto et blogdecodesign ne publient plus au rythme des grandes années du blogging. Mais il y a là des années d’articles, de découvertes et de liens. Sur 2803 seulement, la migration a repris 3 241 billets, dont certains remontent à 2005.

Effacer tout cela pour économiser quelques ressources serait dommage. Continuer à entretenir un serveur pour héberger principalement des archives me semblait aussi un peu excessif. Je cherchais donc une sorte de parking pour mes vieux blogs, avec une vraie porte d’entrée et les lumières allumées !

L’objectif était assez simple : conserver le contenu et l’identité de chaque site, tout en réduisant la maintenance et la place occupée sur mon serveur après la bascule.

Pourquoi Astro ?

Avec la version Astro, les articles et les pages de listes sont générés au moment de la construction du site. Le résultat est un ensemble de fichiers HTML, CSS, JavaScript et d’images que l’hébergeur peut ensuite distribuer directement. C’est le fonctionnement statique proposé par défaut par Astro.

Un billet publié il y a quinze ans n’a généralement pas besoin d’être recalculé à chaque lecture. Mes fichiers Markdown conviennent très bien à ce fonctionnement : je modifie un article, je lance une nouvelle construction et les pages sont mises à jour.

Next.js sait aussi générer un site statique. Passer à Astro n’était donc pas la seule possibilité. Dans mon cas, c’était l’occasion de repartir sur une structure centrée sur le contenu, avec peu de JavaScript côté navigateur et sans processus Next.js à maintenir sur mon serveur pour ces blogs.

Les thèmes clair et sombre, le menu mobile et les vidéos restent bien présents. Statique ne veut pas dire figé visuellement.

Et pourquoi Cloudflare Pages ?

Le circuit devient assez confortable : le code et les articles sont sur GitHub, Cloudflare Pages construit le site à chaque mise à jour de la branche de production, puis le distribue sur son réseau.

Cloudflare propose une offre gratuite qui convient à ce projet. Les requêtes vers les fichiers statiques sont gratuites et illimitées, tandis que les fonctions exécutant du code ont leurs propres quotas. Il faut aussi respecter les limites de construction et de fichiers du service : gratuit ne veut pas dire sans limites.

Pour moi, l’intérêt est de sortir ces blogs de mon serveur. Une fois le nouveau site vérifié et le domaine basculé, je peux arrêter l’ancien processus Next.js, conserver une sauvegarde puis retirer les fichiers devenus inutiles. Le gain concerne les ressources, l’espace disque et surtout les choses à surveiller.

Le plus gros du travail reste dans les vieux contenus

Changer de framework est finalement la partie la plus visible. Le vrai chantier se trouve dans les articles et leurs anciennes habitudes WordPress.

On retrouve des balises de galeries, des légendes mal converties, des liens vers des pages de pièces jointes, des vidéos intégrées avec des formats disparus et des images qui ne sont plus disponibles. Certaines absences existaient déjà dans les fichiers de départ : une migration ne fait malheureusement pas réapparaître une image perdue.

J’ai conservé les fichiers Markdown historiques et adapté leur rendu. Les images disponibles ont reçu des versions adaptées aux différentes tailles d’écran. Les vidéos reconnues retrouvent un lecteur intégré ; pour certains anciens contenus externes, un lien vers la source remplace une intégration devenue inutilisable.

J’en ai profité pour reprendre le menu mobile, la pagination et la navigation entre les articles, tout en gardant le design des versions Next.js. Je voulais retrouver mes blogs, pas leur inventer une nouvelle identité.

Les anciennes URL comptent autant que les nouvelles pages

Un blog de cet âge a connu plusieurs formes d’adresses. Des liens circulent encore avec une catégorie, une date ou un identifiant numérique dans l’URL.

Il faut donc reconnaître ces anciennes adresses et les rediriger vers le bon article. Envoyer tout le monde sur la page d’accueil ferait perdre le contexte aux lecteurs qui arrivent depuis un ancien lien.

Selon le blog et le nombre d’adresses à reprendre, nous avons utilisé des règles de redirection ou une petite fonction qui reconnaît les anciens formats. Les pages actuelles restent servies directement comme fichiers statiques.

Cela demande un peu de vérification, mais c’est une bonne partie de la valeur de la migration : garder les chemins qui mènent à vingt ans de contenu.

Le formulaire de contact reste disponible

Le site est principalement statique, mais j’ai voulu conserver un vrai formulaire de contact.

L’envoi passe par une fonction Cloudflare et l’API de Brevo. Turnstile, un champ piège invisible et des contrôles côté serveur complètent la protection antispam. Les clés privées restent côté serveur.

Nous avions d’abord essayé le SMTP utilisé sur les anciennes installations. Après des difficultés de connexion dans ce nouvel environnement, l’envoi par API HTTPS s’est révélé plus simple à faire fonctionner. Cela reste un point à tester après chaque configuration d’un nouveau domaine.

Est-ce que ce sera meilleur pour le SEO ?

La nouvelle version fournit directement le texte des articles dans le HTML, avec les titres, les descriptions, les adresses canoniques et les données structurées. Le sitemap, les liens internes et les redirections font aussi partie des vérifications.

Ce sont de bonnes bases techniques. Cela ne permet pas de promettre que Google va soudain remettre tous mes billets de 2007 en tête des résultats ! La qualité du contenu, son intérêt aujourd’hui et les liens qui y mènent continuent de compter.

Il faudra regarder Search Console après les bascules pour voir comment les moteurs explorent et indexent les nouvelles versions. Je préfère vérifier cela dans le temps plutôt que confondre une migration réussie avec une hausse de trafic garantie.

Une nouvelle étape pour ces blogs

À l’heure où j’écris ces lignes, les trois blogs, 2803, blog4auto et blogdecodesign, sont désormais en ligne sur Cloudflare Pages.

Je continue à écrire en Markdown, je garde la main sur les fichiers et je peux faire évoluer les sites sans retrouver toute la mécanique des anciennes installations WordPress. Il reste des dépendances à mettre à jour, des sauvegardes à conserver et quelques services à configurer, mais l’exploitation quotidienne est plus légère.

Ces blogs ont commencé bien avant les outils qui les font tourner aujourd’hui. Leur offrir une nouvelle maison est aussi une bonne excuse pour retourner lire ce qu’on racontait à l’époque du web 2.0 ;)

Publié le