Cet article a 2 objectifs distincts :
- Etre un dossier récapitulatif des bonnes pratiques en terme de maintenance de site Internet tournant sous le CMS Joomla
- Interpeller les utilisateurs Joomla faisant appel à des "professionnels" pour la maintenance de leur site Joomla, et dénoncer les pratiques douteuses ou encore les manquements à ce type de prestation.
Je vais particulièrement insister sur ce dernier point en raison des nombreux retours que j'ai eus de la part de nouveaux clients, d'utilisateurs de la communauté Joomla ou encore d'utilisateurs lambdas, qui m'ont fait part de leur expérience et de leur désarroi face à des pseudos "expert Joomla", "professionnels Joomla", "spécialiste Joomla". Il est clair qu'aujourd'hui, si la situation ne s'est pas dégradée, elle ne s'est pas non plus améliorée, et le nombre de pseudo-professionnels Joomla est encore très (trop) nombreux.
Dans les faits, repasser derrière ce type de professionnels incompétents sur Joomla (mais peut-être compétent sur autre chose) reste une expérience assez déplaisante... Effectivement, au-delà d'une qualité de service médiocre pour le client (Joomla instable, peu souple, peu évolutif, peu d'autonomie, service client / support peu réactif...) et de la potentielle difficulté pour ce dernier de trouver un autre prestataire d'accord pour reprendre le travail sans facturer de mise à niveau, cet état de fait a un impact direct sur l'image du CMS Joomla, et c'est bien là l'une de mes principales motivations à écrire cet article (rédigé sur un coup de tête en plein après-midi :-) ).
Les fondamentaux d'une maintenance Joomla
Les mises à jours Joomla
Vous trouverez beaucoup de sujets sur l'importance de maintenir Joomla ET ses extensions à jour.
Ici, un prestataire médiocre ne fera pas les mises à jour, ou bien au contraire il les fera toutes sans réfléchir, ce qui pourrait provoquer une certaine instabilté du site (formulaires qui ne fonctionnent plus, page d'erreur, ...).
Le juste milieu est de faire les mises à jour quand elles concernent la sécurité de votre Joomla (voir de télécharger les patchs en avance), et de s'assurer de la stabilité d'une nouvelle mise à jour avant de la faire quand celle-ci n'apporte que de nouvelles fonctionnalités. Dans ce cas précis, j'attends généralement quelques jours pour observer les retours de la communauté sur la dite mise à jour (vu encore récemment avec JCE 2.6.0, rapidement passée en 2.6.1)
L'optimisation et les performances de Joomla
Ce sujet est primordial car vos utilisateurs, votre SEO (=référencement Google) et donc votre business est directement impacté par les performances de votre site Internet Joomla. Ce dernier doit donc être rapide à l'affichage, stable et sans message d'erreurs (erreurs PHP, erreus 404 & 503, ...).
Ici, un prestataire médiocre n'optimisera pas le temps de réponse serveur et ne jouera pas avec les différents niveaux de cache, ce qui est le strict minimum.
Personnellement, je fais en sorte qu'au grand minimum ces actions soient opérationnelles :
- Mise en place de PHP 7
- Gestion du cache de Joomla / Cache dynamique serveur
- Gestion du cache statique / Services CDN
- Gestion de la mise en cache dans le navigateur client
- Choix adéquat du serveur
- Désactivation des extensions et plugins inutiles
Si vous souhaitez approfondir le sujet, parcourez mon guide ultime d'optimisation des performances Joomla!
Le réhaussement du niveau de sécurité
Un hébergement de qualité comme SiteGround suffit en général à assurer une sécurité accrue de Joomla, qui est un CMS très bien sécurisé, mais réhausser le niveau de sécurité avec un composant comme jHackguard ou Admin Tools Pro est un moyen rapide d'en faire une forteresse.
Ici, un prestataire médiocre ne fera rien, n'ayant aucune sensibilité avec la sécurité Joomla.
Personnellement j'applique les directives détaillées dans l'article Le guide de sécurité pour Joomla
La surveillance en temps réel
Le surveillance de votre site Joomla est la base d'une prestation de maintenance. En surveillant un site Joomla 24h/24 et 7 jours/7 via des solutions de monitoring, on assure une haute disponibilité du site pour les internautes et on est informé si le site plante ou se fait pirater afin de réagir rapidement et d'éviter de payer les conséquences.
Ici, un prestataire médiocre ne surveillera pas votre site et attendra que vous lui envoyiez un message (lui disant que le site est inaccessible) pour réparer le problème qu'il n'aura pas vu.
Personnellement, j'utilise 3 solutions de monitoring toutes 3 basées sur UptimeRobot faisant un check du domaine toutes les minutes, et permettant de vérifier que le site ne s'est pas fait défacer (=piraté avec du contenu externe).
Les sauvegardes
Encore un service indispensable qui dans une situation d'urgence peut faire toute la différence.
Ici, un prestataire médiocre fera au mieux un backup manuellement, et n'utilisera pas forcément Akeeba Backup (composant Joomla N°1 pour Joomla) pour le faire.
Personnellement, je pense qu'il est important d'effectuer un backup quotidien tout en ayant l'assurance que son hébergeur en fait un aussi. Le backup effectué doit être fait avec Akeeba Backup afin d'assurer une restauration facilitée et ultra-rapide. Si l'espace disque pris par les backups devient important (parce que le SSD vaut cher, vérifiez que votre hébergement tourne sur un disque SSD...), vous pouvez envoyer ces archives JPA sur votre bucket Amazon S3.
Le "sans-engagement"
Un prestataire honnête ne vous engagera pas avec un contrat car c'est déjà assez contraignant pour le client de changer de prestataire sans qu'il ne faille en plus se battre avec des conditions douteuses.
Les services annexes indispensables
La réactivité du service client / support / assistance
A l'ère d'Internet, le service client se doit d'être ultra-réactif. Plusieurs études ont montré qu'un client envoyant un email s'attend en moyenne à une réponse sous 4 heures.
Ici, un prestataire médiocre vous répondra sous 24 heures minimum voire un jour ouvré minimum, tout en se disant que cela est rapide puisqu'on voit encore des délais beaucoup plus longs chez des prestataires de services webs connus... Sauf que non, en 2016, l'assistance doit se rapprocher le plus possible du temps réel.
Personnellement, je gère mes emails en flux tendu, dès que j'en reçois un j'y réponds tout de suite, dans la mesure du possible, ce qui en plus de ravir les clients, permet bien souvent de gagner du temps au final.
L'hébergement
La qualité de l'hébergement est la base d'un projet Internet réussi. C'est pour cette raison que j'insiste régulièrement sur le sujet et que je mets en avant SiteGround qui a tous les ingrédients nécessaires à une réussite sous Joomla.
Ici, un prestataire médiocre ne se préoccupera de votre hébergement et ne sera pas force de proposition pour vous mettre un environnement serveur adéquate.
Personnellement, j'offre l'hébergement à mes clients, ce qui est gagnant-gagnant : le client bénéficie d'un environnement Cloud Server survitaminé et est certain de gagner en performance, de mon côté je travaillle plus sereinement sur un environnement serveur connu de qualité.
Contrat de maintenance
Un contrat sans engagement est l'assurance pour les deux parties d'encadrer légalement les choses et d'être clair sur les conditions de travail, de résiliation, d'intervention... bref, d'assurer une relation saine.
Ici, un prestataire médiocre ne proposera pas de contrat de maintenance si vous souhaitez un.
Personnellement, je laisse le choix à mes clients, un contrat d'un an ferme sans engagement remboursable peut être mis en place.
La délivrabilité des emails & Serveur SMTP Externe
Bien souvent, nous envoyons des newsletters / emailing avec AcyMailing fraichement installé sur notre Joomla. Sauf qu'avec une base supérieur à 500 emails, les risques de mauvaise délivrabilité commencent (arrivée dans les SPAMs, pas de gestion des rebonds, envois différés, ...) et le ROI de nos campagnes d'email marketing se voit négativement impacté par ce qui pourrait être amélioré par un serveur SMTP externe (ex : Pepipost, Mandrill, SendGrid, ...).
En complément, les enregistrements DNS de type SPF & DKIM doivent être correctement déployés.
Ici, un prestataire médiocre n'implantera pas de SMTP externe dans Joomla et / ou AcyMailing et utilisera par défaut la fonction PHP Mail() du serveur, sans même se soucier des SPF & DKIM records, avec tous les risques que cela peut comporter sur l'adresse IP (réputation, blacklistage, qui se répercute sur les autres clients du serveur...) et sur le taux de délivrabilité. A moins bien sûr que ce prestataire ne soit un crack de la délivrabilité email et souhaite gérer ça lui-même.
Personnellement, j'utilise le provider SMTP Pepipost qui propose un modèle économique disruptif et très bien pensé. Leur support est très réactif et leurs adresses IPs sont clean.
Certificat SSL
Avec Let's Encrypt, le déploiement d'un certificat SSL est maintenant gratuit et se fait en un clic. Tout nouveau site Internet ou refonte de site Internet se devrait d'avoir un certificat SSL (https) à l'ère où Google et de nombreux autres services (e-Commerce) insistent sur l'importance du cryptage des données.
Ici, un prestataire médiocre vous fera payer votre certificat SSL ou n'abordera même pas le sujet. A sa décharge, tous les hébergeurs ne proposent pas la possibilité de déployer gratuitement et en un clic un certificat SSL.
Personnellement, grâce à SiteGround, je déploie dès que possible un certificat SSL avec Let's Encrypt, et ce, gratuitement pour le client.
Les services indispensables suivant le contexte
CDN
Dans le cadre d'un site multilingue, l'utilisation d'un CDN semble pertinent et permet en plus d'obtenir de meilleurs temps de réponse serveur. Pour rappel, un CDN (Content Delivery Network) permet d'externaliser l'appel de vos assets de type CSS / JS / Images / PDF / ... et de faire en sorte qu'ils soient appelés depuis un serveur plus proche de l'internaute que le serveur où est hébergé le site (ex: Serveur en France, Internaute au Québec, Serveur CDN à Montréal)
Personnellement, j'utilise le provider KeyCDN que je trouve excellent à tous les niveaux : services, support, interface, prix, ...
Environnement Staging
Quand un site Joomla détient de nombreuses extensions et / ou bénéficie d'un fort trafic, il devient nécessaire d'utiliser un environnement de développement pour réaliser ses mises à jours et modifications afin de ne pas être confronté aux conséquences d'un plantage sur le site en ligne.
Un environnemment Staging va vous permettre de procéder à des tests et de faire vos modifications en toute sérennité. Une fois opérationnelles, vos modifications peuvent être poussées en production sur le site en ligne.
Personnellement, j'utilise la fonctionnalité de Staging proposée par SiteGround qui me permet de dupliquer en un 1 clic le site en production, puis de pousser par la suite cette version Staging en production quand j'ai fini mes modifications, le tout toujours en un clic. Il est également possible de choisir les fichiers et les tables que l'on souhaite pousser ou non.
L'aide et le conseil autour des sujets web connexes à Joomla
Enfin, avoir un interlocuteur qui a un recul sur le monde du web en général, et pas seulement sur la partie technique d'un site web, est un vrai plus quand vous avez des choix stratégiques d'entreprise à faire. En effet, sur Internet tout est lié, et vous devez faire part d'une cohérence d'ensemble entre votre site, votre marketing digital, votre référencement, votre image de marque, ...
A titre d'exemple, il est toujours agréable pour le client d'avoir gratuitement un audit de référencement Google de son site de temps en temps pour en savoir plus sur son potentiel SEO.