Le WordPress d'aujourd'hui, décodé pour les développeurs

Thèmes

Porter un site Joomla vers un thème WordPress, pour une agence de recrutement

Retour sur le portage des menus et catégories d'un site Joomla vers un thème WordPress classique, pour une agence qui change d'outil de gestion de contenu.

Par WordPress Développement • 14 février 2021 • 5 min de lecture • Aucun commentaire
Porter un site Joomla vers un thème WordPress, pour une agence de recrutement

Combien de menus une agence de recrutement peut-elle accumuler sur cinq ans de Joomla, entre le menu principal, le menu du pied de page, et deux ou trois menus additionnels créés pour des campagnes ponctuelles et jamais nettoyés depuis ? La réponse, dans ce projet, était de quatre menus actifs et deux menus orphelins encore rattachés à des modules désactivés.

Le passage à WordPress imposait un choix structurant avant même d’écrire la moindre ligne de thème : fallait-il reproduire cette organisation telle quelle, ou en profiter pour repartir d’une arborescence de menus et de catégories plus simple, alignée sur les besoins réels de navigation de l’agence ?

La différence de modèle entre Joomla et WordPress

Joomla organise son contenu autour de catégories hiérarchiques, potentiellement imbriquées sur plusieurs niveaux, et de menus indépendants qui pointent vers des éléments de menu eux-mêmes reliés à des catégories, des articles isolés ou des vues personnalisées. Cette structure à trois couches (catégories, éléments de menu, modules) n’a pas d’équivalent direct dans WordPress, dont le modèle repose sur des catégories, des pages, et des menus construits par simple glisser-déposer entre ces éléments.

Le piège classique consiste à vouloir recréer un menu Joomla « élément par élément » dans WordPress, sans se demander si chaque élément correspond réellement à une page ou à une catégorie. Un élément de menu Joomla qui affiche une liste d’articles filtrée par catégorie correspond en réalité à une archive de catégorie WordPress, pas à une page statique à créer manuellement.

Cartographier l’existant avant de migrer

La première étape consiste à extraire, depuis l’administration Joomla, la liste complète des catégories avec leur hiérarchie, et la liste des éléments de chaque menu actif. Cet inventaire révèle souvent des catégories imbriquées sur quatre ou cinq niveaux, héritées d’une organisation ancienne qui ne correspond plus à la façon dont l’agence pense son contenu aujourd’hui : par exemple une hiérarchie « Emploi > Secteurs > Industrie > Métallurgie > Offres » qui aurait pu être aplatie en deux niveaux sans perte d’information utile.

L'essentiel à retenir : Les menus Joomla ne correspondent pas terme à terme aux menus WordPress ; Les catégories imbriquées de Joomla demandent un travail d'aplatissement réfléchi ; Le mappage doit être validé avant tout import, pas après

Pour ce projet, l’agence et le développeur ont convenu de ramener cette hiérarchie à deux niveaux maximum : une catégorie de secteur, et une sous-catégorie de spécialité. Ce choix a été validé avec l’équipe de l’agence avant tout import, pas ajusté après coup une fois les données déjà en place dans WordPress.

Construire la table de correspondance

Comme pour toute migration de plateforme, une table de correspondance sert de référence unique entre l’ancien et le nouveau système :

  • Chaque catégorie Joomla est associée à une catégorie WordPress cible, avec son niveau hiérarchique final
  • Chaque élément de menu Joomla est associé à son équivalent WordPress : page, archive de catégorie, ou lien externe
  • Les éléments de menu sans contenu réel (simples séparateurs visuels) sont marqués pour suppression
  • Les modules Joomla annexes (bannières, blocs promotionnels) sont évalués séparément, hors périmètre de la migration de contenu

Reconstruire les menus dans WordPress

Une fois les catégories et les pages créées dans WordPress selon la table de correspondance, la reconstruction des menus se fait depuis l’écran Apparence → Menus, en respectant l’ordre défini dans la table plutôt qu’en recopiant l’ordre d’affichage de Joomla, qui pouvait inclure des éléments désormais obsolètes.

function agence_menus_theme() {
    register_nav_menus( array(
        'menu-principal'  => 'Menu principal',
        'menu-pied-page'  => 'Menu du pied de page',
    ) );
}
add_action( 'after_setup_theme', 'agence_menus_theme' );

Le thème déclare uniquement les emplacements de menu réellement utilisés par l’agence après nettoyage, plutôt que de reproduire les quatre emplacements présents sur l’ancien site Joomla, dont deux n’avaient plus aucune utilité éditoriale.

Ce qui reste hors du périmètre de cette migration

Le portage des utilisateurs Joomla (comptes de rédacteurs, permissions) vers les rôles WordPress ne fait pas partie de cette migration : l’agence a choisi de recréer manuellement les quelques comptes actifs plutôt que d’automatiser ce transfert pour un nombre limité de personnes concernées. De même, les URLs historiques de Joomla nécessitent un travail de redirection distinct, mené une fois la structure de contenu stabilisée dans WordPress.

Sur ce type de portage, le temps gagné à ne pas reproduire fidèlement une arborescence Joomla vieillissante dépasse largement le temps perdu à en discuter avec le client avant l’import. Une hiérarchie de contenu repensée vaut toujours mieux qu’une copie fidèle d’un système devenu confus.

Pour aller plus loin

Cette migration illustre un principe qui vaut au-delà de Joomla : chaque plateforme source impose son propre modèle de contenu, et la tentation de vouloir tout reproduire à l’identique dans WordPress mène souvent à reconduire les défauts structurels de l’ancien système. Prendre le temps de cartographier, de simplifier puis de valider avant d’importer reste la méthode la plus fiable, quelle que soit la plateforme de départ.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Partager :

À propos de l'auteur

WordPress Développement

Développeur WordPress, passionné par Elementor, le FSE et l’automatisation par IA.

Voir tous ses articles

Dans la même veine

À lire aussi