Magazine High tech

Comment fonctionne WordPress ?

Publié le 23 novembre 2017 par Seomix @rochdaniel

Au moment où j'écris cet article, WordPress représente 29% du web mondial. Pourtant, très peu de personnes comprennent réellement comment cela fonctionne. Et malheureusement, ceci est vrai autant pour les débutants que pour des utilisateurs plus avancés, développeurs inclus.

L'idée ici est donc de faire comprendre globalement à chacun ce qui se cache derrière cet outil gratuit afin d'en comprendre les atouts. Le but est bien entendu d'éviter de multiples erreurs pour le référencement naturel, la sécurité, le développement ou encore pour l'ergonomie. Il ne suffit pas d'utiliser WordPress avec ses fonctions de base, mais bien de la maîtriser complètement.

Cet article s'adresse donc avant tout à ceux qui veulent savoir comment utiliser WordPress, mais aussi aux développeurs qui ont une fâcheuse tendance à ne pas maîtriser réellement tous les aspects de ce dernier.

Qu'est ce que WordPress ?

WordPress est un CMS : Content Management System. En résumé, c'est un outil permettant de publier et de gérer des contenus sur Internet. On peut ainsi écrire différents types de publications, les catégoriser, les modifier ou encore les supprimer, le tout en gérant l'ensemble du site Internet avec un ou plusieurs utilisateurs et une interface relativement simple (ce qu'on appelle le WYSIWYG : " What You See Is What You Get ").

Il existe d'ailleurs de très nombreux CMS gratuits comme Joomla, Magento, Prestashop, Spip ou encore Drupal.

Ils sont pour la plupart sous licence Open Source, c'est à dire que tout le monde peut les télécharger gratuitement, en lire le code et les modifier à volonté. A l'inverse, il existe des CMS " propriétaires " pour lesquels vous devrez la plupart du temps payer, et pour lesquels il ne vous est pas possible d'accéder au code (et nous vous déconseillons très fortement ce type de CMS fermés sur eux-mêmes).

Pour sa part, WordPress est un excellent CMS qui peut évoluer quasiment sans limite (nous en parlerons plus loin). Mais attention, les autres outils le sont tout autant. Une seule chose peut réellement faire pencher la balance quand vous choisirez un système de publication de votre site : votre maîtrise de l'outil (ou la maîtrise qu'en possèdent vos prestataires).

Il y a quoi dans WordPress ?

Un CMS Open Source et GPL

Le fait d'être Open Source est l'un des atouts majeurs des CMS comme WordPress : il est comme indiqué sous licence GPL (" General Public Licence "). C'est grâce à cela que vous pouvez consulter le code source et que vous pouvez le modifier sans contrainte juridique.

D'ailleurs, WordPress est issue directement de cette licence. A l'origine, il existait un CMS appelé Cafelog/B2 créé à l'origine par Michel Valdrighi. Quelques années plus tard, Matt Mullenweg et Mike Little ont en effet crée ce qu'on appelle un fork de ce premier CMS, c'est à dire une copie de l'original pour le développer d'une autre façon. Ils ont repris la base de code de B2 pour créer WordPress.

Et cette licence implique plusieurs choses :

  • tout le monde peut créer des forks de WordPress ;
  • tout le monde peut lire le code du CMS, le partager et le modifier ;
  • personne ne peut appliquer une licence propriétaire à du code WordPress : les développeurs d'extensions et de thèmes ne peuvent donc pas vous faire payer du code, mais uniquement le service qui va avec (le temps passé, le support, etc.). Ils ne peuvent pas non plus le protéger contre la copie.

Les langages de WordPress

Pour fonctionner, ce CMS est basé sur plusieurs langages informatiques :

  • PHP (de la version minimale 5.2.4 à la dernière version PHP 7) : c'est ce qui fait fonctionner WordPress ;
  • SQL : une base de pour stocker vos contenus (ainsi que toutes vos options et vos utilisateurs) ;
  • HTML : pour générer le rendu des contenus. C'est ce que l'utilisateur voit dans son navigateur ;
  • CSS : pour mettre en forme les contenus ;
  • JavaScript: pour enrichir les fonctionnalités du site.

WordPress se base ainsi sur PHP et toutes les fonctions de ce langage pour fonctionner. Il y ajoute ensuite ses propres fonctions (dont nous allons parler plus loin).

Pour la partie JavaScript, sachez que WordPress s'oriente de plus en plus vers ce langage. Les développeurs WordPress devront donc de plus en plus se former à ce dernier afin de pouvoir réellement maîtriser tous les aspects du CMS. Par exemple, les équipes du cœur de l'outil développent notamment :

  • L'API REST, une api permettant d'envoyer et de recevoir des données de WordPress au format JSON ;
  • Calypso, une interface d'administration de WordPress entièrement en JavaScript (que l'on peut voir active si vous avez un blog WordPress.com) ;
  • Gutenberg, le futur éditeur de WordPress en live (pour pouvoir éditer un contenu sans devoir utiliser l'administration du site) ;
  • Etc.

Les fichiers du CMS

Vous pouvez télécharger les fichiers de WordPress sur le site officiel. Il vous faudra ensuite un hébergement sur lequel vous copierez ces fichiers (pour faire fonctionner WordPress). Avec cet hébergeur, vous aurez aussi besoin de créer une base de données pour que le CMS puisse s'y connecter afin de stocker vos contenus et réglages. Vous pouvez notamment faire appel à Infomaniak ou encore à WP Serveur.

Et voici à quoi ressemble l'arborescence d'une installation de WordPress :

Petite remarque importante : vous n'avez le droit de ne toucher qu'aux fichiers et dossiers suivants. Ne modifiez JAMAIS les autres !

  • Dossier wp-content
  • wp-config.php
  • .htaccess

Voici également une présentation de la base de données mise en place par défaut, et dans laquelle chaque table contient un aspect précis des données de WordPress. Pour ceux qui ne savent pas ce dont il s'agit, il faut imaginer la base de données SQL comme un fichier Excel, et dans lequel chaque table correspondrait à un onglet de ce même fichier. Par exemple, la table wp_options de votre base de données va contenir toutes les options de votre site WordPress.

WordPress, c'est de la m****

C'est récurrent. C'est même un running gag. WordPress ne serait pas un bon CMS. Il serait lent, non optimisé pour le SEO et non sécurisé. Il serait même conçu uniquement pour de petits blogs, et ne serait conçu que pour des blogs et pas pour d'autres types de sites. Pire encore, j'ai même entendu dire qu'il " volerait le travail des vrais développeurs "...

Autant vous dire que tout cela est faux. Mais pourquoi ces mythes persistent-ils ? Tout simplement car un nombre bien trop important de développeurs et utilisateurs ne maîtrisent pas bien l'outil, et ils provoquent ainsi de nombreux problèmes.

29% du web mondial

Nous en avions déjà parlé : WordPress est de très loin le CMS le plus utilisé dans le monde, avec 29 % de parts de marché (28% lorsque l'article avait été rédigé). La raison de cet engouement est simple : WordPress est simple à utiliser, il est extensible et il est théoriquement rétrocompatible lors des mises à jours.

Attention cependant, WordPress n'est PAS le meilleur CMS. Tout dépendra de votre besoin et surtout de la compétence des personnes qui vont créer, maintenir et faire évoluer votre site.

Et c'est là que la bât blesse : par expérience à l'agence SeoMix, nous estimons que la plupart des développeurs, agences, webmasters ou utilisateurs finaux sont incompétents. Et cet article est justement là pour poser les bases de tout ce que vous DEVEZ savoir sur ce CMS !

L'obsolescence de WordPress

Chez les développeurs puristes, ceux-ci vous diront sans doute que WordPress n'est pas bien codé. En soi, c'est vrai. Si l'on prend en considération les meilleures pratiques de développement en 2017, WordPress semble sortir d'un autre âge. Mais cette remarque est valable pour tous les CMS. C'est aussi valable pour toutes les solutions développées sur mesure (elle peut être parfaite au moment du développement, mais être déjà dépassée et même être une mauvaise pratique l'année d'après).

Mais cela n'a pas d'importance. Pourquoi ? Tout simplement car le plus important dans un outil est qu'il fonctionne correctement, pas qu'il soit parfait. Si d'ailleurs vous recherchez la perfection dans un site web ou un CMS, passez votre chemin. Tout peut TOUJOURS être amélioré.

Et concernant les notions d'obsolescence, WordPress est bien mieux loti qu'un grand nombre de concurrents dans le sens où les équipes de développeurs cherchent à être le plus rétrocompatible possible. Cela veut dire une chose simple : vous pouvez mettre WordPress à jour quasiment les yeux fermés (attention, je parle du cœur du CMS, pas des extensions et des thèmes) car cela est prévu.

Decisions, not options

Decisions, not options, cette phrase fait partie de l'essence même de WordPress. Et sa signification est simple : les développeurs du cœur de WordPress laissent le moins d'options disponibles pour les utilisateurs. Ils font des choix en amont pour éviter à ces derniers de devoir en faire.

L'explication est simple :

A chaque fois que vous donnez à un utilisateur une option, vous lui demandez de prendre une décision. Quand ce dernier ne comprend pas l'intérêt de cette dernière ou n'en a pas l'intérêt, cela amène fatalement de la frustration.

C'est pour cela que l'interface d'administration de WordPress est " relativement " simple, et que bon nombre de développeurs de thèmes et d'extensions devraient impérativement s'inspirer du cœur de la philosophie de WordPress.

Le potentiel de WordPress

Maintenant que les bases sont posées, essayons de comprendre le potentiel de WordPress. Ce CMS est capable de gérer quasiment tout type de site et tout type de trafic. On peut ainsi l'utiliser pour :

  • Faire des sites de contenus avec un très fort trafic ;
  • Créer une boutique e-commerce ;
  • Mettre en place un intranet/extranet ;
  • Gérer une webtv ou des lives ;
  • Installer un wiki public ou interne ;
  • Etc.

Ceci n'est possible qu'à une seule condition : savoir comment fonctionne WordPress, savoir comment l'installer et comment développer dessus.

Commençons donc par passer en revue ce que cet outil va pouvoir faire.

Les fonctions natives de WordPress

La gestion de contenus

WordPress est un CMS : sa fonctionnalité de base est donc de pouvoir gérer du contenu, c'est à dire publier, modifier, supprimer, classer et structurer différents types de publications (de base, des articles et des pages). WordPress dispose d'une interface d'édition relativement simple pour pouvoir publier du contenu, notamment avec un éditeur WYSIWYG similaire à ce que les logiciels de bureautique peuvent proposer :

À cela s'ajoute également une bibliothèque de médias permettant aux rédacteurs de pouvoir insérer différents types de contenus : images, vidéos, PDF, fichiers Word, etc. Attention cependant, aussi simple soit cette interface, elle peut toujours être mal utilisée si l'utilisateur final n'est pas formé. Ce dernier peut en effet se tromper, par exemple :

  • en supprimant un contenu sans le rediriger (mauvais en référencement naturel) ;
  • rédiger des pavés de textes compacts (mauvais en ergonomie) ;
  • mettre en ligne des images trop lourdes (mauvais en temps de chargement) ;
  • Etc.

Tous ces contenus et les réglages que vous ferez seront stockés dans votre base de données (SQL) grâce aux fichiers PHP du cœur de WordPress.

Changer l'aspect visuel avec le thème

Les contenus sont donc gérés nativement par le CMS. Il faut ensuite faire appel aux thèmes de WordPress pour gérer l'aspect de votre site. C'est le thème qui va modifier le rendu visuel.

Ce thème peut-être changé à tout moment par un autre parmi les plus de 5 000 thèmes gratuits de WordPress.org, avec des thèmes payants sur d'autres sites ou encore mieux avec un thème créé sur mesure par un développeur.

Ce thème est développé en PHP, CSS, HTML et JS. Il ne contient théoriquement aucun contenu, mais va juste définir comment ces derniers doivent s'afficher (nous y reviendrons plus tard). Ils sont situés dans le dossier wp-content/themes/ de votre installation WordPress. C'est notamment le thème qui va gérer :

  • les couleurs ;
  • les polices d'écriture ;
  • les emplacements des éléments ;
  • le fait que votre site soit responsive (c'est à dire le fait qu'il soit compatible pour les mobiles et tablettes) ;
  • les menus ;
  • les widgets (des zones du site où l'utilisateur peut insérer ou supprimer facilement des fonctionnalités, comme par exemple un agenda, la liste des derniers articles ou encore les dernières publications Facebook) ;
  • etc.

Cela veut dire une chose : si votre thème rajoute des fonctionnalités ou des types de contenus, ceux-ci devraient théoriquement aller dans une extension !

Ajouter des fonctionnalités avec des extensions

En plus du thème, les extensions (" plugins " en anglais) vont pouvoir rajouter des fonctionnalités. Il en existe plus de 53 000 extensions gratuites sur le site officiel.

Comment fonctionne WordPress ?Vous pourrez ainsi :

  • ajouter des formulaires de contact ;
  • créer un slider ;
  • sécuriser le site ;
  • mettre en place une newsletter ;
  • etc.

En bref, les extensions sont le cœur du CMS car c'est ce qui fait la force de WordPress : pouvoir proposer des solutions pour la plupart des besoins. Attention cependant, voici quelques conseils :

  • essayez de réduire le nombre d'extensions : plus vous en avez, plus le risque de temps de chargement élevé ou de sécurité faible augmente ;
  • ces extensions sont créées et maintenues par des développeurs passionnés. N'hésitez pas à les remercier et à laisser un avis positif sur la page présentant leur plugin. Et si vous avez un problème ou un bug, contactez-les simplement sur le support de cette même page ou par email ;
  • testez bien vos extensions : elles peuvent fonctionner correctement seules mais peuvent planter avec d'autres ;
  • vérifiez bien le paramétrage de ces dernières, car certaines peuvent parfois être gourmandes en ressources.

Gérer des utilisateurs

Autre point natif (mais basique) de WordPress : la gestion des utilisateurs. Vous pouvez (et devez) créer des comptes pour chaque personne qui va être amenée à utiliser le site. Certains utilisateurs peuvent avoir tous les droits, d'autres ne peuvent que soumettre à relecture des contenus.

Soyons honnêtes, c'est sans doute l'aspect le moins abouti de WP...

Étendre et améliorer WordPress

Au-delà de ces concepts de base, il faut voir WordPress comme une boite à outils qui va vous permettre de développer n'importe quel type de site facilement.

Les API de WordPress

Et cela commence avec les API intégrées directement dans le cœur de l'outil. Si l'on devait expliquer ce que cet acronyme veut dire, on pourrait dire qu'il s'agit d'une partie d'un programme informatique qui est rendu publique et qui permet de manipuler des données. Par exemple, l'API REST permet d'envoyer, de modifier ou de recevoir des données de WordPress au format JSON.

Et sur WordPress, il y a beaucoup d'API ... :

  • Database API
  • HTTP API
  • REST API
  • Rewrite API
  • Transients API
  • XML-RPC WordPress API
  • Etc.

Un bon développeur WordPress doit donc les apprendre (ou tout du moins savoir à quoi elles servent et quand les utiliser) afin de pouvoir toujours trouver la meilleure solution technique lors de chaque développement.

Un WordPress Multi-site

Il faut aussi savoir que WordPress propose nativement une fonction multi-site : c'est à dire qu'une seule installation de WordPress peut permettre de gérer plusieurs sites différents sur le même nom de domaine ou sur plusieurs noms de domaines différents. On peut ainsi centraliser la gestion des utilisateurs, des extensions, des thèmes et des paramètres dans une seule interface.

Et le meilleur exemple d'un WordPress multisite, c'est le service en ligne WordPress.com qui vous propose gratuitement de créer un blog sur leur plateforme (passez faire un coucou aux mixeurs SEO). Le service en ligne existe depuis 2005, et permet d'accueillir près de 409 millions de visiteurs qui consultent 15,5 milliards de pages chaque mois (donc oui, WordPress ça tient la charge).

Par les extensions

Ensuite, ce sont les extensions qui vont venir rajouter les pans entiers manquants au cœur de WP. Il est fréquent en effet d'avoir des besoins plus poussés pour créer un site, et c'est là que le concept des plugins va prendre tout son sens. Par exemple, vous pourriez vouloir mettre en place :

  • un site e-commerce, avec par exemple WooCommerce (qui représente plus de 50% du e-commerce mondial) ou Easy Digital Downloads pour les produits dématérialisés ;
  • d'autres langues, avec l'excellent Polylang ;
  • des fonctionnalités de référencement naturel, avec par exemple Yoast SEO ou notre future extension de référencement naturel SEOKEY ;
  • etc.

Les concepts clés de WordPress

Nous venons de voir le fonctionnement de base de ce Content Management System. Mais il reste encore des points importants pour comprendre comment fonctionne et comment installer WordPress proprement.

Quand vous demandez l'URL d'un site WordPress, voici (très) grossièrement ce qui se passe. Le CMS :

  1. se connecte à la base de données (wp-config.php) ;
  2. charge :
    • les fichiers de traductions ;
    • les mu-plugins (nous allons en parler plus bas) ;
    • les fonctions du core ;
    • les extensions.
  3. il exécute ensuite son API des règles de réécriture pour savoir ce que l'utilisateur a demandé (la page d'accueil, un article, une catégorie, etc.) ;
  4. il définit le contenu à afficher ;
  5. il charge ensuite le thème et le thème enfant (nous allons en parler plus bas aussi ) ;
  6. puis il commence ensuite à renvoyer les données à l'utilisateur

C'est le fonctionnement du cœur de WordPress. Pour un détail plus poussé et technique, je vous conseille le lire le WordPress Flow.

Si nous expliquons cela, c'est que cela a de l'importance : WordPress se charge dans un ordre précis. Et cet ordre a de l'importance si l'on veut que nos thèmes et extensions puissent fonctionner correctement. Ce qui nous amène au sujet suivant :

Les hooks

Quand on parle de développement WordPress ou de programmation WordPress, le concept même des hooks est indispensable. Pour faire simple, dans le code PHP de WordPress, ce dernier exécute des actions dans un ordre précis (comme expliqué au point précédent). Par exemple, il exécute les actions suivantes :

  • muplugins_loaded (quand les mu-plugins ont été activés) ;
  • after_setup_theme (quand le thème a fini d'être chargé) ;
  • template_redirect (pour faire des redirections 301 proprement) ;
  • etc.

Il s'agit là des hooks d'actions pendant lesquels vous pouvez ajouter vos fonctions. Par exemple, dans notre tutoriel sur les mots clés de WordPress, le code pour supprimer définitivement les étiquettes utilise un hook d'action. Sachez d'ailleurs que dans vos développements, vous pouvez aussi créer vos propres actions.

Il y a également un autre type de hooks : les filtres. Là, il s'agit de pouvoir modifier des données en cours d'utilisation. Par exemple, dans notre article sur la suppression du nofollow dans WordPress, nous modifions des données avec ces filtres, notamment pour supprimer l'attribut " nofollow " des commentaires.

À vous ensuite de trouver quel est le hook le plus adapté pour le développement que vous voulez faire, et de faire en sorte que celui-ci se déclenche au bon moment. Si vous faites un temps soit peu de développement WordPress, il est impératif de maîtriser ce concept !

Les mu-plugins

Les mu-plugins sont aussi un concept important mais qui reste encore trop peu connu. Un mu-plugin (Must Use plugin) est tout simplement une extension traditionnelle, mais elle diffère sur plusieurs aspects :

  • elle s'active automatiquement ;
  • elle ne peut être désactivée par un utilisateur, même par un administrateur ;
  • cette extension obligatoire se chargera avant toutes les extensions traditionnelles, et avant le thème ;

Le seul moyen de supprimer/ajouter un mu-plugin est donc de passer par un logiciel FTP. Ils sont notamment très utiles pour forcer l'activation de certaines fonctions, par exemple pour des raisons de sécurité (ou pour des raisons liées à des utilisateurs qui font n'importe quoi).

Les thèmes enfants

Autre élément indispensable, les thèmes enfants. Le principe est simple : votre thème gère l'affichage de votre site WordPress.

Si c'est un thème créé sur mesure quand vous faites appel à votre agence ou aux mixeurs pour la création de votre site Internet, aucun problème. Mais souvent, vous utilisez un thème gratuit ou un thème payant. Et le problème, c'est que ces derniers vont vous proposer des mises à jour. Si vous modifiez directement les fichiers (par exemple pour changer l'aspect visuel du pied de page), chaque mise à jour va écraser intégralement votre personnalisation.

C'est là que le concept du thème enfant intervient. Il s'agit d'un thème qui dépend d'un autre, et dans lequel nous allons créer les fichiers que l'on veut modifier (ces fichiers sont " prioritaires "). Ainsi, on peut modifier l'aspect visuel de notre site WordPress dans le thème enfant, tout en continuant à profiter des mises à jour du thème parent.

Lorsque nous faisons nos optimisations lors de notre accompagnement SEO avec nos clients, c'est justement ce que l'on fait.

Post Type et Taxonomies

Là encore, c'est un concept très simple mais pourtant très important : WordPress est " livré " de base avec les articles et les pages. Il s'agit de ce qu'on appelle des " Post Types " (des types de contenus). Le Post Type Article peut ensuite être classé avec des catégories et des étiquettes, ce qu'on appelle des Taxonomies.

Rien ne vous empêche de supprimer ces Post Types et ces Taxonomies par défaut et d'en rajouter d'autres. C'est d'ailleurs ce que font très souvent les thèmes et extensions, notamment quand vous allez trouvez dans l'administration de WordPress de nouveaux menus à côté de vos pages et articles :

Faites juste attention à bien vérifier que ces ajouts soient faits proprement. Lors de nos audits SEO, on voit très souvent des thèmes et extensions WordPress qui ajoutent de nouveaux Post Type en les paramétrant mal, générant ainsi des contenus dupliqués ou des publications peu pertinentes.

Les autres concepts intéressants

Bien entendu, il y a plein d'autres concepts dont on pourrait parler ici, mais cet article s'allongerait encore. S'il y en a deux que je trouve intéressants, ce sont ces derniers :

  • les transients : il s'agit d'une fonction permettant de stocker temporairement certaines données. Les transients sont très utiles quand vous calculez des fonctions complexes, ou que vous sollicitez des services externes (par exemple récupérer des tweets).
  • l'oEmbed : c'est une technologie intégrée à WordPress qui permet avec un simple lien d'intégrer le contenu de certaines plateformes. Il existe par exemple de l'oEmbed pour Twitter et Youtube. Par exemple, pour ajouter une vidéo Youtube dans un contenu sur WordPress, il suffit de sauter à la ligne puis de copier l'URL de la vidéo.

PS : et rien ne vous empêche de créer votre propre passerelle oEmbed si nécessaire.

Mal connaître WordPress, c'est faire n'importe quoi avec

Utiliser un outil sans le maîtriser, c'est courir droit la catastrophe. On pourrait vous donner la voiture la plus sécurisée et agréable à conduire, cela ne sert à rien si vous n'avez jamais pris de cours de conduite. Avec ce CMS, c'est pareil : vous devez vous former à WordPress !

Cela éviterait notamment de dire certaines énormités qui sont pourtant très répandues, comme par exemple :

WordPress, c'est pas sécurisé

En fait, c'est vos utilisateurs qui font n'importe quoi ou encore c'est le développeur du thème ou ceux des extensions qui ont fait une erreur ;

WordPress, c'est lent

Bien souvent, c'est que l'hébergement et WordPress n'ont pas été bien paramétrés, ou bien que le thème et les extensions ne sont pas optimisés (si cela vous intéresse, on a une série d'articles sur l' optimisation de la vitesse de WordPress) ;

WordPress, c'est pour les blogs

Oui tout à fait. Je crois même que les sites Internet suivants seront ravis de l'entendre : Tony Parker, Groupe Renault, Dassault Aviation, Jeune Afrique, les Hôpitaux de Paris, la BBC America ou encore la fondation Obama ...

Apprendre ce qu'est WordPress et comment ce dernier fonctionne, cela vous éviterait aussi de très nombreuses erreurs basiques :

  • Dupliquer son contenu et nuire au référencement naturel ;
  • Perdre des données sérialisées lors de la migration de nom de domaine (tiens, mon menu et mes widgets ont disparu) ;
  • Avoir modifié les fichiers du cœur et perdre ces modifications à chaque mise à jour ;
  • Idem sur votre thème ;
  • Etc.

Vous l'aurez compris : vous devez vous former au CMS WordPress. Vous devez comprendre comment il fonctionne. Vous devez suivre des cours sur ce CMS et faire des tests. Et c'est seulement à partir de là que vous saurez installer WordPress, que vous saurez quel plugin sélectionner ou encore quel thème WordPress choisir.

Faites passer le message !


Retour à La Une de Logo Paperblog

A propos de l’auteur


Seomix 5102 partages Voir son profil
Voir son blog