Aujourd’hui, nouvelle galère !
J’ai voulu optimiser la gestion des landing pages d’un client sous WordPress en les séparant des pages courantes. J’aurai pu le faire avec la fonction Landing Page de Elementor, mais actuellement elles ne fonctionnent pas si vous utilisez des permaliens personnalisés.
CPT et CPT UI
Je suis donc passé par le plugin CPT UI, qui permet de créer et gérer des CPT. Si vous ne le savez pas, CPT veut dire « Custom Post Type » ou « Type d’article personnalisé » en français. Si vous êtes développeur, le plugin n’est pas utile, c’est plus efficace de coder un CPT soit même que passer par le plugin.
En fait, WordPress nous permet de récupérer les fonctions des autres types de publication du site (page ou article), et de les réutiliser dans des types de publication personnalisée. Par exemple, dans mon cas, j’ai réutilisé les pages de WordPress pour créer un nouveau type de page qui sont les landing page. Cependant, je livre des sites clé en main, donc j’essaye toujours de laisser le contrôle à mes clients. La solution du code ne fonctionne pas dans mon cas.
Mais voilà, je me retrouve avec des URLs qui ont comme structure https://lesiteweb.fr/landing_page/la-landing-page. Donc complétement cramé que vous vous retrouvez sur une landing page personnalisée, et pas très propre à la vue des utilisateurs.
Premiers pas pour nettoyer les URLs
Après de longues recherches, on peut uniquement réduire les URLs via CPT UI en désactivant « Avec base » dans les paramètres de slug :

Mais ça ne fait pas tout. J’ai toujours ce « landing_page » dans mes URLs.
Maintenant, on nettoie tout le reste !
Encore une fois, si vous êtes développeur, vous trouverez beaucoup de bouts de code capable de remplir notre fonction.
J’ai écumé le web à la recherche d’une solution gérable par le client, et la seule alternative vient d’un plugin : https://fr.wordpress.org/plugins/permalink-manager/.
Le plugin va permettre de revoir toute la structure des CPT manuellement et surtout comme on le veut !


Via l’onglet « Permastructures », on peut définir le template de base pour toutes nos landing pages. Toutes les landing pages qui seront créées à partir de maintenant, auront ce template.

Ou alors directement sur la page en question, on peut tout personnaliser.