Pourquoi et comment WordPress doit évoluer pour devenir le CMS de référence ?

Pourquoi et comment WordPress peut devenir le CMS de référence

WordPress est un CMS souple, performant et facile d'utilisation. Pour autant, WordPress, pour devenir le CMS de référence se doit d'évoluer (cf article : WordPress, je t’aime moi non plus !).

Le but de cet article n'est pas de critiquer la plateforme du point de vue technique, cela ayant déjà été fait dans l'article cité ci-dessus.

Le but de cet article est d'explorer différentes pistes qui permettraient à WordPress de devenir le CMS de référence.

WordPress est sans doute la plateforme qui se distingue le plus par sa facilité. Facilité pour les développeurs, mais aussi pour les administrateurs et les utilisateurs en charge de publier ou de gérer du contenu.

Pour autant, du fait de certaines caractéristiques techniques ou de certains choix techniques et/ou fonctionnels (totalement assumés par l'équipe de développement de la plateforme), ce CMS est, parfois, limité et s'avère moins simple qu'il n'y paraît, ou qu'il ne le faudrait.

Cela n'empêche, avec WordPress il est possible de créer n'importe quel type de site Web. Mais cela peut avoir un prix … et pas seulement sur le plan financier (voir l'article : Créer un site Internet gratuit ou pas cher, une bonne idée ?).

L'une des grosses faiblesses de WP tient à son modèle de données. N'y revenons pas... pour l'instant. L'autre gros point faible est la manière dont WP gère la personnalisation des structures d'informations (post type, custom fields...) du fait notamment d'un modèle de données inadapté.

De ce fait, de nombreux développeurs hésitent à créer des fonctions personnalisées avec WP pour les besoins de leurs clients. Ils préféreront utiliser des plateformes plus adaptées (Drupal ou Joomla par exemple), mais moins souples sur bien des points, plus complexes à utiliser, moins performantes du point de vue référencement... Au final, le client sera le perdant.

Dans WordPress (mais cela est aussi le cas de nombre d'autres CMS), il n'est pas possible de hiérarchiser l'appartenance d'un article à plusieurs catégories (autrement dit de spécifier qu'un article appartient à la catégorie X, puis à la catégorie B, puis à la catégorie Z, etc.) . De plus, il n'est pas possible de définir la date de fin de validité d'appartenance à une catégorie (par exemple, on peut souhaiter publier un article dans la catégorie « actualités » pour un mois et dans la catégorie « produits » pour tout le temps). Bien entendu, sur ce dernier point il existe des solutions de contournements moyennant un travail de développement car le développeur peut choisir de n'afficher que les articles de la catégorie « actualités » qui datent d'un mois au plus ...

La suite de cet article va tenter de proposer un ensemble de solutions visant à faire de WordPress le CMS incontournable, le CMS de référence.

A l'origine WordPress était un logiciel dédié à l'édition de blogs. Progressivement, WordPress est devenu un CMS. Cependant, WordPress a conservé son architecture initiale qui a été progressivement adaptée pour que WordPress puisse devenir un CMS.

Il s'agit à du premier point qui mériterait d'évoluer en profondeur, car une page « statique » et un billet de blog partagent une caractéristique commune : celui d'être tous les deux du contenu ! Alors qu'il est possible de choisir un modèle spécifique pour une page, cela ne l'est pas pour un article (ou billet). Or, en fonction de la catégorie principale dans lequel un article peut être classé, il apparaît que la mise en forme du-dit billet devrait pouvoir être également paramétrable.

A l'inverse, il n'est pas possible, en standard, d'affecter des catégories aux pages dites « statiques ». Mais dans le cas d'un système de gestion de contenu, cela s'avère pourtant essentiel ! Par exemple, pour un site de formation culinaire, il serait intéressant de pouvoir indiquer qu'une page est dans les catégories « facile » et « pas cher » tandis qu'une autre serait dans « techniques ».

Quand un site construit avec WordPress comprend un grand nombre de pages et/ou d'articles, il est parfois bien difficile de retrouver, depuis le back-office, une page ou un article du fait de la relative pauvreté du système de recherche qui ne fonctionne que sur les titres. L'idéal serait de pouvoir intégrer également une recherche sur l'URL de la page ou de l'article à modifier. Certes, dans le front-office il est possible de placer un lien permettant de modifier la page ou l'article (pour tout utilisateur connecté) mais cela peut poser des problèmes de sécurité !

Au passage, une réorganisation des menus du back-office serait souhaitable, pour plus de simplicité, et pour une meilleure ergonomie :

  • Tableau de bord
  • Le blog (anciennement Articles)
    • Nouvel article
    • Articles
    • Commentaires
    • Mots clés
  • Pages
    • Nouvelle page
    • Pages
  • Catégories
    • Nouvelle catégorie
    • Modifier une catégorie
  • Média
    • Bibliothèque
    • Ajouter un fichier
  • Liens
    • Ajouter un lien
    • Liens
    • Catégories des liens
  • Utilisateurs
    • Ajouter un utilisateur
    • Utilisateurs
    • Votre profil
    • Groupes d'utilisateurs
  • Newsletter
    • Abonnements
      • Ajouter
      • Supprimer
    • Nouvelle lettre d'informations
    • Statistiques
  • Formulaires
    • Ajouter un formulaire
    • Formulaires
    • Statistiques
  • Outils
    • Importer
    • Exporter
    • Sauvegarder (le site en entier, y compris la base de données)
    • Gestion du cache
      • Vider le cache
      • Désactiver le cache
      • Options du cache
    • Langues
      • Ajouter une langue
      • Langues
      • Traductions
        • Thème
        • Extensions
  • Options (anciennement réglages) (comme actuellement, suivi du menu Apparence, puis liste par ordre alphabétique des extensions)
    • Apparence
      • Menus
        • Nouveau
        • Modifier
      • Thèmes
        • Ajouter
        • Choisir
        • Modifier
      • Widgets
      • Options du thème
      • Modifier le thème (cette option est-elle vraiment utile?)
    • Général
    • Ecriture
    • Media (concerne les images, les vidéos, voir les URLs externes)
      • Effet (type lightbox ou autre)
      • Options (dimensions des vignettes, affichage des titres, et autres balises... etc.)
      • Diaporamas (options)
    • Lecture
    • Discussion
    • Permaliens
    • Réseaux sociaux
      • Ajouter un réseau
      • Réseaux sociaux
    • Smartphones
      • Choix du thème
      • Liste des smartphones reconnus
      • Options (pages, catégories d'articles, etc. en fonction du terminal mobile, sous forme de matrice)
    • Vie privée
    • Extensions
      • Extension A
      • Extension B
      • Etc.
  • Statistiques
    • Consulter
    • Purger
  • Base de données
    • Optimiser
    • Sauvegarder
    • Réparer
    • Gérer
      • Visualiser (une table)
      • Modifier (données d'une table)
      • Supprimer (données d'une table)
      • Insérer (données d'une table)
      • Expert
        • Nouvelle table
        • Modifier structure d'une table
        • Supprimer une table

Comme on peut le voir ci-dessus, certaines options sont actuellement absentes de WordPress (par exemple, les statistiques, la gestion de la base de données, etc.). Pourtant certaines de ces fonctionnalités sont essentielles ! Et, de plus , il est possible que cette liste ne soit pas exhaustive !

La réécriture des URLs dans WordPress mériterait également une petite amélioration évitant de passer par une extension dédiée : en effet, à quoi bon incorporer le mot « category » dans les URLs du blog ?

Pour que WordPress puisse devenir un CMS de référence, il devrait également intégrer une gestion des uilisateurs, des droits, des rôles, etc. bien plus fine. Mais aussi, un système de workflow, autrement dit, un système permettant de contrôler finement la publication d'articles ou de pages en fonction des profils d'utilisateurs et des règles métiers !

Dans un monde de plus en plus interconnecté, il serait souhaitable que WordPress propose une API XML (?) permettant aux développeurs d'interfacer un logiciel quelconque avec le site. Par exemple, depuis un logiciel de gestion commerciale, il serait très intéressant de pouvoir envoyer à un site WordPress un fichier XML contenant des nouveaux produits, ou des mises à jour de produits...

En fait, cela existe en partie, via la fonction d'importation mais il n'est pas possible de paramétrer l'importation (par exemple de spécifier le type d'article, les champs personnalisés, etc.)

Le moteur de recherche proposé par WordPress aux internautes est bien pauvre... L'idéal serait qu'il soit possible, sans recourir à de la programmation ou à des extensions plus ou moins satisfaisantes, que le moteur de recherche permette enfin de chercher une information en filtrant les catégories, les mots clés, etc.

L'une des faiblesses majeures de WordPress réside dans ses performances dès lors que le site utilisant ce logiciel est relativement complexe (il suffit de comparer par rapport à Joomla un site présentant le même contenu, sur le même serveur, pour s'en rendre compte). Pour y pallier, il est nécessaire de recourir à des extensions afin d'optimiser le temps de chargement de pages, de procéder à la compression à la volée des feuilles de style, des fichiers de JavaScript, à la mise en cache des requêtes SQL, etc.

Pourquoi ne pas intégrer, un VRAI système d'optimisation (système de cache) en standard (surtout au vu du modèle de données actuel) ? Cela ne serait, en réalité, qu'un pis aller...

Car la solution serait plutôt de modifier (améliorer) le modèle de données afin d'éviter de recourir, parfois, à un nombre de requêtes SQL qui peut-être hallucinant (notamment quand le site fait usage d'un certain nombre de champs personnalisés).

Aujourd'hui, le traitement des média dans WordPress est très basique. Pourquoi ne pas intégrer en standard une sorte d'effet lightbox ?

A l'heure où l'Internet mobile explose, il faut recourir à une extension ou à un développement spécifique pour afficher correctement un site WordPress sur un smartphone ou une tablette tactile.

Mais l'Internet d'aujourd'hui c'est aussi le Web des réseaux sociaux et communautaires ! Pourtant, nativement, WordPress n'offre pas de fonctions permettant de partager un article, une page, de faire le buzz. De même, il faut développer ou utiliser un plugin, pour raccourcir une URL.

WordPress étant de plus en plus largement et massivement utilisé pour créer des sites Web « corporate », il est indispensable que le logiciel permette de créer et de gérer des formulaires sans recourir à des extensions ou encore une fois à des développements spécifiques.

Conclusion

WordPress est un excellent CMS. Pourtant, il ne peut, à l'heure actuelle prétendre à être le CMS de référence.

Il ne lui manque guère de fonctionnalités pour y parvenir. Peut-être faudrait-il, pour que ce logiciel évolue dans la bonne voie, employer une méthode différente au niveau du développement. Actuellement, en effet, on a trop souvent l'impression que les nouvelles versions sont construites sans une feuille de route mûrement réfléchie. Autrement dit, il s'agit de corriger les bugs, et d'apporter des « améliorations » mais sans avoir, au préalable, pensé à atteindre un objectif stratégique.

De ce fait, les nouvelles versions de WordPress apportent, certes, leur lot d'améliorations, mais, au final, ces améliorations donnent plutôt l'impression de n'être que des « petites » retouches.

Encore une fois, il ne s'agit pas de critiquer WordPress sur ces qualités ! Car WordPress est définitivement un excellent CMS.

Simplement, il doit évoluer en profondeur pour être LE CMS de référence et battre à plates coutures ses concurrents (Joomla, Drupal, Typo3, et consorts). Parce qu'au final, le gagnant sera bel et bien le client, mais aussi, toutes les agences Web et tous les freelance qui en ont fait leur cheval de bataille.