WordPress : retour d'expérience

Quelques réflexions sur WordPress

Suite au développement d'un gros, très gros site avec WordPress, comportant plusieurs millions de pages, plusieurs types d'articles personnalisés, et des moteurs de recherche avancés, nous en avons tiré quelques réflexions ...

WordPress peut permettre de créer des sites complexes et parfois très volumineux tout en conservant de très bonnes performances.

Retour d'expérience sur WordPress

Par contre, dès que l'on veut développer un site complexe (structure, hiérarchie et typologie du contenu, gestion du contenu dans le back-office) WordPress montre vite quelques limites.

Limites qu'il est parfaitement possible de contourner, du moins pour certaines. Pour d'autres, cela s'avère un peu plus compliqué, même si cela reste parfaitement surmontable.

A l'origine, WordPress est un moteur de blog. Aujourd'hui, le développement de WordPress a pour objectif principal d'en faire un CMS.

Pour se faire, les développeurs ont essentiellement introduit des fonctions permettant de transformer le moteur de blog en CMS.

Oui ... mais ... l'approche n'est pas satisfaisante. Un CMS n'est pas un moteur de blog, et inversement ! Les besoins des utilisateurs ne sont pas les mêmes.

WordPress souhaite rester facile d'utilisation. Objectif louable, mais ce n'est pas pour autant qu'il ne peut pas évoluer plus dragstiquement pour être à la fois un moteur de blog et UN CMS !

L'un des points forts de WordPress est d'être hautement personnalisable par les développeurs et les designers (pour peu, qu'ils connaissent un tant soit peu le PHP).

L'un des points faibles de WordPress tient dans son modèle de données qui n'a pas évolué pour tenir compte des besoins en matière de CMS.

Un simple exemple, le modèle utilisé pour une page n'est pas défini dans la table wp_posts, mais dans la page wp_postmeta, ce qui fait que WordPress doit examiner deux tables pour savoir comment afficher une page ... Et ne parlons pas de la hiérarchie des modèles, qui est totalement, dans ce cas précis, inepte !

En tant qu'utilisateur d'un CMS, on n'a pas forcément besoin, ou envie, de recourir à un développeur à chaque fois que l'on veut ajouter un nouveau type de contenu !
Par exemple, en imaginant un photographe : au départ son site contient quelques pages, un blog et un portfolio. Il se peut qu'il souhaite, dans le futur, ajouter un nouveau type de contenu : "Références".
Pour ce faire, il devra, soit faire appel à un développeur, soit installer une extension et mettre les mains dans le camboui !

Quand on a une partie du site qui comporte plusieurs centaines, plusieurs milliers voire plusieurs millions de pages, WordPress est un bien piètre compagnon pour gérer ce genre de contenu depuis le back-office. Pour finir, l'un des plus gros problèmes est la documentation technique de WordPress pour les développeurs, qui perdent un temps précieux à trouver l'information dont ils ont besoin (quand elle existe). Tout simplement, parce que la documentation n'est pas hiérarchisée, pas structurée. Et, aussi, parce que cette documentation n'est plus appropriée aux besoins des développements orientés, de plus en plus, CMS.

Malgré tout WordPress reste une excellente plateforme pour créer à peu près n'importe quel type de site Internet

WordPress présente d'indéniables avantages, pour les développeurs, pour les designers et, surtout, pour les clients !