Installer WordPress en mode headless
On installe le moteur, on retire la carrosserie.
2.1Installation locale
Pour développer en local, tu as plusieurs options. La plus simple : Local by Flywheel (gratuit). Il installe WordPress en un clic avec PHP, MySQL et un serveur web.
localwp.common-cms-headless2.2Configurer WordPress en mode headless
Une fois WordPress installé, on va le transformer en CMS headless. L'objectif : désactiver le front-end PHP et ne garder que l'admin + l'API.
Commence par supprimer le thème actif. Crée un thème "coquille vide" :
wp-content/themes/headless/
├── style.css # Obligatoire (métadonnées du thème)
├── index.php # Obligatoire (redirige vers le front Next.js)
└── functions.php # Configuration headlessLe fichier style.css avec les métadonnées minimales :
/*
Theme Name: Headless
Description: Thème coquille vide pour WordPress headless
Version: 1.0
*/Le fichier index.php qui redirige les visiteurs vers ton front Next.js :
<?php
// Redirige les visiteurs vers le front-end Next.js
wp_redirect('https://www.monsite.fr');
exit;Et le functions.php pour activer l'API REST et nettoyer WordPress :
<?php
// Active le support de l'API REST
add_theme_support('post-thumbnails');
// Supprime les éléments inutiles du head
remove_action('wp_head', 'wp_generator');
remove_action('wp_head', 'wlwmanifest_link');
remove_action('wp_head', 'rsd_link');
// Désactive le front-end WordPress (sauf /wp-admin et /wp-json)
add_action('template_redirect', function() {
if (!is_admin() && !defined('REST_REQUEST')) {
wp_redirect(home_url('/wp-admin'));
exit;
}
});2.3Plugins essentiels
En mode headless, tu n'as besoin que de quelques plugins ciblés :
Advanced Custom Fields (ACF)
Ajoute des champs personnalisés à tes posts. Indispensable pour structurer du contenu riche.
WooCommerce (optionnel)
Si tu as besoin d'e-commerce : produits, commandes, paiements. Le tout accessible via l'API REST.
Application Passwords
Intégré depuis WP 5.6. Permet l'authentification API sans exposer ton mot de passe admin.
2.4Vérifier que l'API fonctionne
WordPress expose une API REST par défaut. Ouvre ton navigateur et teste :
# Liste des articles
http://mon-cms-headless.local/wp-json/wp/v2/posts
# Liste des pages
http://mon-cms-headless.local/wp-json/wp/v2/pages
# Infos du site
http://mon-cms-headless.local/wp-json/Si tu vois du JSON, c'est gagné ! Ton WordPress est prêt à servir du contenu à n'importe quel front-end.
2.5Permalinks et configuration finale
Dernière étape : configure les permalinks en mode "Post name" dans Réglages > Permaliens. Ça donne des URLs propres et surtout, ça active correctement les routes de l'API REST.
# Dans wp-admin > Réglages > Permaliens
# Sélectionne : "Nom de l'article" (Post name)
# Résultat : /%postname%/
# Ça active aussi les jolis slugs pour l'API :
# /wp-json/wp/v2/posts?slug=mon-article