Les points faibles de WordPress: la perspective d'un développeur


Les développeurs capables préfèrent souvent utiliser des solutions personnalisées, en particulier lorsque vous êtes un développeur très doué pour le codage. Avec une solution personnalisée, vous pouvez créer des applications très élégantes qui fonctionnent extrêmement bien. Néanmoins, les développeurs finissent par utiliser un CMS tel que WordPress même s'ils n'aiment pas beaucoup la plate-forme.

Cet article s'adresse à ces développeurs et couvre bon nombre des difficultés rencontrées lors de l'utilisation de WordPress (WP). Nous allons décrire quelles sont ces difficultés et proposer une suggestion: l’aide de Plesk, qui fournit une boîte à outils pour WP, qui aide vraiment à prendre en charge certaines des plus grandes frustrations de WordPress.

Points douloureux du développeur WordPress

Pourquoi les développeurs utilisent WordPress

Ne vous y trompez pas, WordPress est le CMS le plus populaire du marché pour de très bonnes raisons. Dans cette section, nous expliquons pourquoi le CMS est si populaire, même auprès de développeurs expérimentés qui peuvent réellement écrire leur propre code.

Tout d'abord, WordPress est super facile à installer. Tout ce dont vous avez besoin est l’environnement standard LAMP / LEMP – Linux, Apache / Nginx, PHP et MySQL en tant que SGBD. Si vous en avez, vous pouvez commencer à installer WordPress.

La personnalisation est tout aussi facile car le CMS WP est livré avec une vaste gamme d’add-ons, y compris des thèmes pour personnaliser l’apparence et les plugins qui ajoutent des fonctionnalités. Vous pouvez même créer votre propre thème et les développeurs expérimentés peuvent également créer leurs propres plugins, mais ce processus est plus complexe.

La principale raison de la popularité de WordPress est sans doute le fait qu’il est accessible aux utilisateurs non techniques. Une fois installé, WP ne nécessite aucune expérience en programmation ou en compréhension de logiciels pour fonctionner correctement. Les utilisateurs inexpérimentés peuvent publier un site Web et configurer une instance WordPress dès le départ.

Quel est exactement le problème avec WordPress?

Eh bien, le système de gestion de contenu le plus populaire au monde a bien des problèmes à poser. Nous ne voulons pas faire de bruit autour des problèmes de WordPress, mais voici une discussion franche. Nous espérons que l’équipe de développement derrière ce CMS extrêmement populaire prend les points suivants comme une critique positive. Voici pourquoi nous pensons que WordPress est frustrant pour les développeurs:

Largement capable, mais jamais excellent

Regardez, WP a eu des débuts simples. Tout ce qui a commencé a été une plate-forme pour les personnes qui souhaitaient écrire un blog et publier leur blog. Le CMS a complètement changé au fil des ans et ne ressemble plus maintenant à ses modestes débuts. Certaines personnes l'utilisent comme moyen de base de gérer un site, comme plate-forme pour les magasins en ligne et même comme moyen de générer des sites statiques.

Dans un sens, cela met en évidence à quel point le système de gestion de contenu est adaptable et nous souscririons à cette affirmation, mais le problème de cette souplesse est qu'il devient difficile d'exceller dans un seul rôle. Une façon de voir cela est à travers l'objectif des plugins: les milliers de plugins WordPress disponibles montrent à quel point les gens essaient de forcer WordPress à être quelque chose qu'il n'est tout simplement pas.

Clairement, WordPress est conçu pour cette approche à partir de la base et la flexibilité présente évidemment de nombreux avantages, cela ne fait aucun doute. Mais sans une forte concentration sur une tâche particulière, le système de gestion de contenu peut avoir du mal à proposer une solution claire. Cette volonté de tout faire pour tout le monde pose problème. Nous devons toutefois le signaler: WordPress fonctionne toujours comme une plate-forme formidable pour la création de blogs.

Hacks and Cracks: WordPress peut être une porte ouverte

En bref, WordPress est piraté 24 heures sur 24 et il s’agit de la plus grande plainte de développeurs. Il est indéniable que le CMS est rempli de failles de sécurité, il ne finit jamais. Le nombre de piratages est en partie dû à la popularité de WordPress, mais également à la manière dont WordPress est open-source.

Parce que tout le monde peut voir le code open-source du CMS, les pirates informatiques peuvent ainsi trouver des points faibles dans le code. Nous ne voulons pas dire que le code open-source est une approche incorrecte, mais nous pensons que la nature open-source du système de gestion de contenu WordPress contribue à ses problèmes de sécurité sans fin.

L’analyse montre que les sites WordPress représentent plus du quart d’Internet. L’équipe WordPress le sait et essaie de faire tout ce qui est en son pouvoir pour s’assurer que le CMS est sécurisé, mais comme les cycles de développement sont si rapides de nos jours, il peut être difficile de sécuriser complètement une application complexe. Et lorsque les efforts de sécurité échouent, des millions de sites Web peuvent être en danger.

Nous n'avons pas de solution évidente aux problèmes de sécurité WordPress mis à part, bien sûr, à partir de l'évident «mettre à jour votre instance WordPress». Même alors le cycle de publication de WordPress apporte des problèmes uniques en soi.

De nombreuses personnes disent que s’occuper de la sécurité de WordPress est simple et qu’il est vrai dans une large mesure, mais la question qui se pose est la suivante: pourquoi les propriétaires de sites Web devraient-ils être obligés de parcourir une liste de tâches pour s’assurer que WordPress est sécurisé? Pourquoi cette sécurité ne fait-elle pas partie de WordPress?

  • Il est facile pour quelqu'un de télécharger un fichier exécutable sur WordPress, et cette option doit être restreinte par défaut. Il suffit à une personne légèrement intelligente de télécharger un fichier contenant du code malveillant dans un script PHP et votre site est compromis.
  • Actuellement, les options peuvent être configurées dans le système de fichiers. Au lieu de cela, WordPress devrait éliminer cela et faire l'hypothèse que le système de fichiers est en «lecture seule». Bien que le noyau de WordPress le fasse, les plugins ne suivent pas ce modèle de comportement. Si vous rencontrez un plugin qui modifie le fichier de configuration alors qu'il est en cours d'exécution en production, arrêtez de l'utiliser. Ce faisant, il indique un système de fichiers sur lequel il est possible d'écrire et, par conséquent, un moyen facile de générer des modifications malveillantes.
  • Par défaut, WordPress permet aux utilisateurs d'effectuer autant de tentatives de connexion qu'ils le souhaitent. Cela ouvre la porte à une attaque par force brute au cours de laquelle des pirates informatiques continuent d'essayer des mots de passe aléatoires jusqu'à la réussite de la connexion. Le CMS WordPress devrait désactiver les tentatives de connexion illimitées lors de l'installation.

Ce n’est pas une liste exhaustive, c’est juste quelques points. De toute évidence, une solution logicielle volumineuse, en particulier une solution à source ouverte, ne peut être totalement invulnérable aux attaques. Mais ce que nous disons, c’est que les développeurs sérieux hésitent à utiliser WordPress, car il est extrêmement vulnérable. Les développeurs qualifiés préféreraient créer une toute nouvelle application, capable de répondre avec élégance à leurs besoins et d'être parfaitement sécurisée, sans se soucier des futures vulnérabilités inconnues.

Les plugins comme source de problèmes

Un bon développeur ne recourt pas à un plugin lors du premier défi. Au lieu de cela, les bons développeurs cherchent à construire une solution simple et élégante. En revanche, s’appuyer constamment sur des plugins est une façon de penser très différente.

En fin de compte, un plug-in facilite l'ajout de fonctions spécifiques à WordPress, ce qui fait de la vaste gamme de plug-ins disponibles pour WP un atout du CMS – mais aussi un risque. Même si les plugins peuvent rendre les choses plus simples et plus rapides, les plugins apportent également beaucoup de risques en termes de sécurité tout en vous contraignant simultanément sur la version de WP que vous pouvez utiliser tout en gonflant votre instance WordPress en même temps.

Plugins et sécurité

Premièrement, nous examinons les problèmes de sécurité créés par les plug-ins. Un rapport suggère que plus de la moitié des cas connus Sécurité WordPress les problèmes proviennent des plugins. Les développeurs sont soumis à toutes les bonnes pratiques suivies par un fabricant de plugins – qui peuvent ne pas être très bonnes. Par conséquent, en tant que développeur, vous devez vérifier minutieusement un plugin avant de l'utiliser. Dans une certaine mesure, ce processus de vérification peut supprimer le temps que vous enregistrez avec les plugins, alors envisagez plutôt de coder à partir de rien.

Limites aux versions de WP

Connu sous le nom de «contrainte de version», les plugins peuvent limiter la version du WP CMS que vous pouvez exécuter. Maintenant, WordPress est très agressif avec son cycle de publication, publiant régulièrement une nouvelle mise à jour et il arrive souvent que la plate-forme publie plusieurs petites versions ou correctifs au cours d'un mois donné. Cela est compréhensible car l’équipe de WP corrige constamment les vecteurs d’attaque. Pourtant, toutes ces mises à jour ont un problème: une mise à jour de WP peut casser un plug-in, entraînant l'arrêt de votre site ou le blocage de votre site.

Bien sûr, vous devez garder votre CMS à jour, mais les contraintes de version imposées par les plugins peuvent rendre la tâche difficile. Certains développeurs de plugins testent et mettent toujours à jour leurs plugins, mais ce petit groupe de plugins premium ne représente pas la majorité. En dehors de ces plugins majeurs, vous courez le risque réel qu'une mise à jour de la version WP ne casse votre site.

Plugin

Nous supposons que la plupart des développeurs savent qu'il est important de construire des projets allégés qui n'utilisent pas de code en excès. Maintenant, certains plugins sont conformes à ce principe, mais de nombreux plugins sont très gonflés car ils essayent de résoudre tous les problèmes qu'un utilisateur pourrait éventuellement rencontrer. Il est courant qu'un développeur trouve qu'un plugin corrige un problème tout en offrant une solution à cinquante autres problèmes non pertinents pour son site.

Des plugins interrompent le flux de travail WordPress

Enfin, un autre problème courant créé par de nombreux plugins est le fait qu’un plugin peut gêner l’expérience utilisateur dans WordPress. Cela est lié au fait que les plugins gonflent WordPress. Par exemple, un plugin peut complètement changer la manière dont un article est créé et poussé sur le site.

Cela aboutit à un problème auquel les développeurs WP sont très souvent confrontés, ils ont le sentiment qu’ils doivent trop travailler «autour» d’un plug-in, plutôt que de simplement utiliser le plug-in. Inévitablement, les développeurs acceptent ce processus de travail autour des plugins car un plugin résout un problème épineux.

L'architecture Web a évolué

Nous avons déjà dit que WordPress existait depuis un certain temps. Lors de sa construction, les développeurs ont supposé qu'un site Web utiliserait un seul serveur, à côté d'un seul système de fichiers. Toutefois, les développeurs utilisent de plus en plus une architecture appelée micro-serveur utilisant plusieurs nœuds. Ils le font parce que cette façon de travailler est plus évolutive et plus flexible. Mais utiliser WordPress sur une architecture compliquée peut poser des problèmes, par exemple, la dépendance presque exclusive à FTP pour obtenir les mises à jour de WP CMS.

Les développeurs modernes penseraient évidemment que mettre à jour le code via FTP est simplement archaïque. Les développeurs utilisent généralement un flux de travail spécifique afin que les problèmes potentiels puissent être résolus avant la mise en production du code. Cela signifie que le développement est effectué localement, que le code est contrôlé par la version et que le code est également testé automatiquement – tout au long d'un processus d'intégration continue. Il suffit donc de télécharger du nouveau code dans un environnement qui court-circuite cette méthode, ce qui signifie qu'il y a de fortes chances pour que les choses tournent mal.

Plus gros que le problème des correctifs, nous supposons simplement que nous travaillons avec un seul système de fichiers sur un seul nœud. Un cluster de serveurs Web multi-nœuds améliore les défaillances matérielles tout en augmentant les performances, raison pour laquelle l'approche est de plus en plus adoptée. Cependant, WP présente un obstacle, car l’installation d’un FTP ou d’un thème mis à jour par FTP signifie qu’un seul système de fichiers peut être mis à jour en une fois. Ainsi, avec un cluster à plusieurs nœuds, vous devez exécuter cette mise à jour pour chaque nœud.

Les développeurs peuvent contourner le problème mais cela reste une difficulté difficile à résoudre. En outre, le processus nécessite que votre système de fichiers soit accessible en écriture, ce qui pose un problème de sécurité majeur pour la table.

Données orphelines et structure des données en général

Au début, la structure des données WordPress est simple. Cependant, il apparaît bientôt qu'il y a des tables redondantes dans la base de données WP. Par exemple, pourquoi les métadonnées doivent-elles être séparées en deux tables: l’une appelée «wp_posts» et l’autre «wp_postmeta»? Ne vaut-il pas mieux inclure toutes les données dans un seul tableau? Il en va de même pour la table de commentaires, qui possède une seconde table associée pour ses métadonnées.

Le résultat est qu'il reste des données supplémentaires dans toute la base de données. Oui, WP inclut certaines fonctionnalités permettant de réduire l’effet des données orphelines, mais ces fonctions ne fonctionnent pas lorsque vous devez manipuler un nombre de lignes par milliers. En pratique, les fonctions WordPress entraînent des délais d'attente du serveur, des problèmes de mémoire et ne sont tout simplement pas efficaces.

Bien sûr, vous pouvez choisir de réduire simplement les données orphelines en écrivant directement des requêtes SQL à cet effet. Cependant, vous devez bien comprendre comment les tables sont connectées pour pouvoir écrire les requêtes SQL correctes. Le degré de séparation des données dans la base de données WordPress apparaît simplement comme inutile.

Ce que Toolkit for WordPress de Plesk fait pour améliorer la situation

WordPress Toolkit de Plesk est un moyen simple d’installer et de personnaliser une instance WordPress à partir d’un seul panneau de commande. Vous pouvez l'utiliser tant qu'il est installé sur votre site web.

Voici quelques domaines dans lesquels WordPress Toolkit aide à s’occuper de WP:

Gestion de la sécurité

Vous pouvez fermer automatiquement les failles de sécurité les plus évidentes à l'aide de la boîte à outils. Par exemple, vous pouvez activer XML en arrière-test RPC, assurez-vous que votre dossier «wp-content» est sécurisé et bien plus encore. La boîte à outils affiche l'état de la sécurité de votre site et signale les problèmes avec «danger» ou «avertissement», une recommandation visant à améliorer la sécurité.

Mise à jour de votre instance WP

Disponible en tant que fonctionnalité supplémentaire dans Toolkit 3.x et versions ultérieures, la fonction Smart Updates est là pour vous aider à garder un site de production actif tout en le mettant à jour simultanément, sans risque de le casser. L'outil recherche les problèmes pouvant survenir du fait de la mise à jour et vous indique s'il existe un risque quelconque.

Clonage

Il y a beaucoup de raisons pour lesquelles vous pourriez vouloir faire une copie de votre site WordPress. Par exemple, vous pouvez avoir un site intermédiaire sur lequel vous testez les modifications avant de les rendre actives. Une fois prêt, vous voudrez peut-être copier le contenu du site.

Vous pouvez également avoir un site public et en faire une copie à laquelle vous ne souhaitez pas que le public ait accès. Un autre exemple est celui des développeurs professionnels qui disposent d’un modèle d’installation WordPress et souhaitent simplement le cloner, y compris les thèmes et les plug-ins, automatiquement.

Nous avons également des clients qui veulent simplement faire quelques copies d’un site pour diverses raisons, par exemple pour montrer en quoi un site peut avoir une apparence différente avec quelques ajustements.

Quelle que soit votre raison, l’outil de clonage de WordPress Toolkit facilite la copie de tout, y compris des fichiers du site, de la base de données du site et de tous les paramètres WP CMS.

Synchronisation

Pour diverses raisons, vous pouvez vous assurer que deux sites Web WordPress correspondent. WP Toolkit vous permet de synchroniser automatiquement la base de données WP et tous les fichiers WP.

Si vous possédez une copie intermédiaire de votre site alors que votre copie publique est utilisée ailleurs, vous pouvez synchroniser les sites car vous souhaitez copier les modifications apportées sur le site intermédiaire sur le site WP actif.

De même, vous souhaiterez peut-être copier certaines données de site de production sur votre instance de stockage intermédiaire afin de vérifier si les modifications apportées à la version intermédiaire fonctionnent correctement avec les données actives. Ou bien, les modifications apportées à votre site intermédiaire ont entraîné une modification des tables de base de données. Dans ce cas, la boîte à outils vous permet de synchroniser uniquement ces modifications de base de données si vous le souhaitez.

Un autre cas d'utilisation de la fonction de synchronisation de WP Toolkit est le cas où un développeur a mis à niveau un site intermédiaire vers une version finale de WordPress et souhaite refléter les modifications apportées sur un site actif.

Vous êtes en mesure de synchroniser l’ensemble du WP CMS, ou seulement certaines parties de celui-ci. Ainsi, vous pouvez reproduire les fichiers de WP, sa base de données ou même les deux. Vous pouvez choisir entre une synchronisation complète de la base de données, ou simplement des tables, ou encore des tables qui sont dans la source mais ne sont pas présentes dans la destination. Vous pouvez également mettre en miroir des tables individuelles.

Chasse aux insectes dans le WP

Toolkit Plesk WordPress permet également aux développeurs de localiser et de corriger automatiquement les erreurs dans la source du site Web en activant son mode de débogage.

À propos d'Elvis Plesky

Elvis Plesky est le poulpe geek multitâche et polyvalent

Articles Liés

  • Voici une infographie très intéressante que j'ai rencontrée aujourd'hui et que j'aimerais partager avec vous. Il concerne la sécurité de WordPress et met vraiment les choses en perspective. Nous avons aussi récemment commencé…

  • wordpress_history

    Voici trois excellentes infographies WordPress qui illustrent la montée folle de ce CMS au sommet du monde des CMS. Infographie: Jazzy WordPress par Infographiclabs Le pouvoir de…

  • Nous embauchons un développeur de plugins WordPress

    Nous cherchons à engager un développeur de plugins WordPress pour notre plugin WP RSS Aggregator et d'autres projets. Si vous êtes intéressé, allez à la description du poste, les détails pour postuler sont…

  • WordPress peut être facile à installer et à utiliser, mais le maintenir et assurer sa sécurité sont une autre histoire. Nous avons décidé de jouer notre rôle en facilitant les choses, et le…

Laisser un commentaire

Fermer le menu