wpml Article

Amélioration des performances de WPML

Amélioration des performances de WPML

Je sais que vous êtes plusieurs à utiliser WPML pour vos sites multilingues sous WordPress. Je m’en sert moi même pour quelques sites de ma compagnie et de clients. Je dois avouer que la performance de WPML a toujours été un petit problème qui pouvait même se révéler très dérangeant dans certain cas comme avec WooCommerce.

C’est toujours appréciable de voir qu’une équipe, comme celle de WPML, prends au sérieux les gens qui paye pour leur plugin et écoute le feedback.

D’où viennent / venaient les problèmes de performances

Lorsque j’utilise WPML, j’installe presque dans tous les cas, ces plugins « compagnons » : WPML String translation et WPML Media. Lorsque tout cela est installé sur votre WordPress, il y a 20 nouvelles tables MySQL qui s’installent. Pour comparaison, WordPress ne possède que 12 tables à lors d’une nouvelle installation. Donc voilà, WPML est gourmand en ressource mémoire et CPU pour les requêtes SQL qu’il exécute pour afficher les pages. Plus vous avez de chaînes traduites, plus il exécute des requêtes.

Dans le cas de WooCommerce, si vous utilisez les variations de produits (comme couleurs ou tailles), WPML démultiplie le nombre de requêtes ce qui fait chauffer le processeur et gonfler la mémoire. Ceci provoque un vrai goulot d’étranglement lors du chargement de la page.

Comment la version 3.5 de WPML améliore les performances

Peu importe ce que vous avez entendu sur WPML, je vous conseille de lui donner une chance avec cette version 3.5 (et plus). D’après un article de WPML, qui explique leur processus d’optimisation, des efforts ont été déployé pour tester différentes solutions et ont réussi à améliorer les performances de façon très perceptibles. Voici un tableau donné par l’équipe elle même qui explique les performances gagnées.

PHP versionPageMemory consumption savingCPU utilization saving
PHP 5.6Home60%41%
Admin dashboard41%33%
PHP 7Home50%16%
Admin dashboard33%15%

Autant dire que ça fait une différence lors du chargement de vos pages mais aussi de l’admin. Pour ceux qui ont l’habitude d’attendre que l’admin se charge, je peux vous dire que c’est un vent de fraicheur 🙂

Je n’ai pas encore pu tester avec PHP7, mais comme l’explique WPML, les anciennes versions de WPML sont beaucoup plus réactives sur PHP7 que PHP5. Cependant il semble y avoir un boost de performance dans les 2 cas.

Pour les développeurs de sites WordPress qui utilisent souvent WPML, je pense que de mettre à jour le(s) plugin(s) est un must. Si vous avez l’occasion de pouvoir avoir un hébergement PHP7, vos clients et les visiteurs de ces sites ne pourrons que mieux vous aimer.

Si vous avez des retour d’expérience avec WPML, n’hésitez pas à mettre un message plus bas.

 

PS : Si vous passez par une de mes liens pour acheter WPML, je touche une petite commission. Sachez que ça ne vous coûte pas plus cher et que ça m’aide à sponsoriser ce genre d’article.
Tutoriel site web multilingue avec WordPress et WPML – Partie 1 – Installation et configuration

Tutoriel site web multilingue avec WordPress et WPML – Partie 1 – Installation et configuration

Créer un site web multilingue est toujours un beau problème. En France comme au Québec, en tant que freelance, il n’est pas rare d’avoir à faire un site web en plusieurs langues. J’ai donc décidé de faire un tutoriel qui portera sur comment utiliser WordPress et WPML pour créer un site multilingue. Il sera composé de 3 parties distincte. WPML est LE plugin à utiliser pour les sites multilingues. Même si payant (peu cher pour le service rendu à mon avis), ceci assure un suivi du plugin avec une équipe performante.

  1. Installation et configuration
  2. Traduction des articles, pages et custom post WordPress
  3. Traduction des chaînes de caractère (texte en PHP (hardcodé) dans le thème ou les widgets)

Installation de WPML

L’installation de WPML est très simple, et vous pouvez l’ajouter à n’importe quel moment du développement d’un site. Voici les étapes à suivre :

  • Aller sur le site de WPML : http://wpml.org/fr.
  • Décider le plan que vous souhaitez prendre. il existe 3 plans différents. Si vous faites un site web complet en utilisant WordPress comme un CMS, si vous utilisez les « custom posts » et « custom taxonomy » vous devrez prendre le plan CMS multilingue à 79$.
  • Une fois acheté vous allez pouvoir télécharger le plugin.
  • Aller dans l’admin de votre WordPress puis dans le menu « Extensions » puis « Ajouter », cliquez sur Ajouter une extension et sélectionné l’archive que vous venez de récupérer.
  • Une fois installé, vous verrez dans votre menu de gauche, un nouveau menu WPML.

Important : Si vous êtes développeur et que vous souhaitez utiliser le plugin WPML sur le site de vos clients, je vous encourage à prendre le plan CMS multilingue à vie.

Choisissez les langues du projet

Pour la configuration, c’est assez simple, il va vous falloir définir quelles langues vous souhaitez utiliser, quelle langue vous souhaitez par défaut, comment vous souhaitez ajouter visuellement le sélecteur de langue sur votre site et très important, la façon dont les URL vont fonctionner.

Voici une série d’images annotées qui vont vous aider à comprendre comment faire :

Window_et_Langues_‹_Fabline_—_WordPress

Window_et_Langues_‹_Fabline_—_WordPress 2

 

Choisir le format des URL pour les langues

Une fois les langues ajoutées au projet, vous devez spécifier la façon dont vous souhaiter que le système de langue fonctionne. Vous avez alors 3 choix :

  1. Langues différentes dans les répertoires (http://domaine.com/en/)
  2. Un sous-domaine différent pour chaque langue (http://en.domaine.com/)
  3. Langue ajoutée dans un paramètre GET (http://domaine.com?lang=en)

Pour ma part, je conseille souvent le choix 1 qui est à mon avis le plus jolie à l’oeil mais aussi qui semble être le meilleur choix pour votre SEO.

Sélecteur de langue

La rubrique suivante vous propose de régler la façon dont le sélecteur de langue va s’afficher. Je ne suis vraiment pas fan de cette façon de faire, je ne me sers donc juste pas de ce composant. Voici ce que je fais à la place et qui me donne beaucoup plus de liberté au niveau du placement et de la forme. Vous pouvez copier ce bout de code dans votre fichier functions.php :

Vous pouvez bien entendu modifier ce code pour afficher le sélecteur de langue de la façon que vous souhaitez. Une fois prêt, vous pouvez appeler cette fonction dans votre thème, là où vous souhaitez voir apparaître le sélecteur. Vous pouvez aussi ajouter du CSS pour habiller ce code HTML selon vos besoins.

Conclusion

Si vous avez besoin d’aide à cette étape (installation et configuration), laissez un message dans les commentaires et j’essayerais de vous aider au maximum de mes connaissances. La suite de ce tutoriel suivra sous peu et nous verrons le moyen de traduire les articles, pages er custom post. À bientôt !

WPML, le plugin multilingue ultime pour WordPress

WPML, le plugin multilingue ultime pour WordPress

WordPress est bien plus qu’une plateforme de blog, c’est devenu un CMS qui permet de mettre en place des sites web complexes et très divers. Ici au canada, il est très fréquent que les sites soient multilingues, français et anglais. En Europe, s’ils le sont, le français, l’italien, l’allemand, l’anglais et l’espagnol sont les langues couramment utilisées. Côté plugin, lorsqu’on parle de plugin multilingue, vous aurez principalement 2 choix : WPML et qTranslate. J’ai récemment eu beaucoup de problèmes avec qTranslate et je suis passé à WPML, qui est vraiment plus complet et plus stable. Seul petit moins, il vous faudra débourser une petite somme (29$) pour l’utiliser.

wpml-plugin-internationalisation-wordpress

WPML permet de créer des sites multilingues avec WordPress très simplement et offre tout un panel d’outils pratiques pour la traduction. Je vais explorer quelques points importants dans ce plugin et j’essayerais de faire un tutoriel plus complet dans un prochain article.

Installation et configuration de WPML

Pour installer le plugin WPML, rendez-vous sur le site web du plugin et téléchargez la dernière version du plugin. Attention, le plugin est payant et le prix commence à partir de 29$ USD, mais honnêtement, ça en vaut vraiment la peine pour le service rendu. Allez dans le menu Extensions => Ajoutez, puis sélectionnez le plugin que vous venez de télécharger. Activez le plugin lorsque l’installation est finie et vous êtes en business 🙂

Pour la configuration, cela dépend de ce que vous souhaitez mais je vais faire un petit tour des options que le plugin multilingue propose. La première chose à faire est de définir les languages que vous souhaitez utiliser dans la metabox « Langues du site ». Profitez-en pour dire quelle sera la langue par défaut. Ensuite, il faut régler le format d’URL de la langue et pour ceci vous avez 3 choix :

  1. Utiliser le format : http://monsite.com/fr/
  2. Utiliser des sous-domaines : http://fr.monsite.com/
  3. Utiliser un query post : http://monsite.com?lang=fr

Pour ma part je préfère la solution 1 mais selon le cahier des charges, il peut-être intéressant de d’avoir le choix.

Le fonctionnement de WPML 

La philosophie est très différente de qTranslate pour ceux qui feront le switch. WPML fait un dupliquât du post à traduire et l’attache à celui-ci via l’ID du post. L’interface est tout de même bien construite et assez intuitive pour comprendre le fonctionnement.

Plugins complémentaires à WPML

Il existe des plugins complémentaires à WPML que vous trouverez sur leur site ou dans le repository de WordPress. En voici 2 incontournables qui travaillent main dans la main avec WPML :

WPML Media 

Ce plugin permet de gérer les images ou n’importe quel média (audio, video, pdf …) de façon distincte pour chaque langue. Il permet de recopier les médias d’une langue à l’autre très facilement dans le cas ou aucune traduction n’est nécessaire (une photo par exemple). Si vous avez des médias et que vous souhaitez les retrouver sur chaque version de traduction, installez ce plugin et synchronisez les médias entre les traductions.

WPML String Translation

Ce plugin travail main dans la main avec WPML et permet aux développeurs de thèmes et de plugins d’ajouter le multilingue directement dans ceux-ci. Via la syntaxe gettext suivante, vous aller pouvoir traduire le contenu « hardcodé » dans votre plugin ou thème :

« __(‘Mon texte à traduire’,’mon contexte’) »

Le context est en fait un nom que vous donnez à votre plugin ou thème et qui permet de retrouver rapidement les chaînes de caractères à traduire dans le plugin.

Conclusion

Voici donc une courte présentation de WPML, j’ai pour projet de faire une tutoriel plus axé sur la pratique dans un futur rapproché, d’ici là si vous avez des questions, n’hésitez pas à les poser en commentaire, j’essayerais de vous aider au maximum.