
Votre page d’accueil s’affiche, la sonde indique HTTP 200 et le serveur semble disponible. Pourtant, les demandes de devis diminuent. Le formulaire peut échouer après son affichage, un script peut bloquer le bouton d’envoi ou un appel externe peut immobiliser PHP. L’observabilité WordPress aide à rapprocher l’état technique du site et le fonctionnement réel des parcours qui apportent des contacts ou des commandes.
L’objectif est de répondre à quatre questions : quel parcours est affecté, depuis quand, à quelle étape et avec quelles preuves ? Plesk facilite l’accès à certaines informations serveur, Matomo éclaire les usages mesurés, et les journaux applicatifs détaillent les traitements. Aucun de ces outils ne possède seul toute l’explication.
Ce guide propose une méthode de mise en place et de diagnostic. Les seuils, schémas d’événements et situations chiffrées sont des exemples à adapter. Ils ne constituent ni un audit de votre installation, ni une garantie de détection de toutes les pannes, ni une promesse d’augmentation des ventes.
Les étapes pour relier la technique aux parcours métier
- Comprendre les signaux et leurs limites
- Définir ce qu’est une action réussie
- Instrumenter Matomo sans fausser les conversions
- Lire Plesk, nginx, PHP-FPM et MariaDB
- Construire une chronologie exploitable
- Examiner trois incidents concrets
- Choisir des alertes et un tableau de bord utiles
- Encadrer la collecte et la conservation
- Déployer et vérifier progressivement
Monitoring et observabilité : des approches complémentaires
Le monitoring mesure un état et détecte des conditions définies : site inaccessible, espace disque faible, taux d’erreur inhabituel. L’observabilité désigne la capacité à comprendre le comportement du système à partir des informations qu’il produit. Une bonne supervision peut en faire partie ; la frontière n’est pas un classement rigide des outils.
| Signal | Ce qu’il apporte | Ce qu’il ne démontre pas seul |
|---|---|---|
| Métriques | Évolution des durées, erreurs, ressources et files | Cause précise d’un incident |
| Journaux | Événements détaillés liés à une requête ou un traitement | Vue complète si des étapes ne sont pas journalisées |
| Traces | Enchaînement instrumenté des opérations | Traçage automatique de tous les plugins |
| Mesure d’audience | Parcours et actions effectivement collectés | Exhaustivité des visiteurs ou succès comptable |
| Tests synthétiques | Vérification répétable d’un scénario défini | Expérience de tous les appareils et profils réels |
Les traces OpenTelemetry organisent notamment les opérations en segments, ou spans, reliés dans un même parcours technique. Leur intérêt apparaît lorsque plusieurs services interviennent. Elles demandent une instrumentation compatible et un traitement des données ; installer Matomo ne crée pas une trace des appels SQL, PHP et ERP.
Pour un site vitrine, des tests ciblés, des métriques serveur et des journaux structurés peuvent suffire à résoudre de nombreux problèmes. Une boutique avec paiements, transporteurs et CRM peut justifier une instrumentation plus fine. La collecte doit répondre à une question utile, pas remplir un tableau de bord.
Commencer par définir une réussite métier
Un code HTTP décrit une réponse réseau ; il ne garantit pas l’aboutissement d’une opération. Un endpoint peut répondre 200 avec une erreur métier dans son JSON. À l’inverse, une erreur de validation de formulaire ne signifie pas forcément une panne : l’utilisateur peut avoir omis un champ obligatoire.
| Parcours | Étapes à distinguer | Source de confirmation |
|---|---|---|
| Demande de devis | Affichage, tentative, validation, enregistrement, notification | Enregistrement métier et suivi du message |
| Commande | Panier, création, paiement, confirmation | État de commande et retour du prestataire de paiement |
| Connexion | Tentative, contrôle, session ouverte | Mécanisme d’authentification |
| Téléchargement | Demande, autorisation, transfert | Application et serveur de fichiers |
| Synchronisation CRM | Événement créé, transmis, accepté | Réponse contrôlée et état du traitement |
Pour un formulaire, le message « merci » ne doit être associé à un succès que si la condition définie est remplie. Si la demande est enregistrée mais l’email non envoyé, il s’agit de deux états différents. Le transfert au serveur SMTP ne prouve pas davantage la réception dans la boîte principale du destinataire.
Pour une boutique, la création d’une commande ne vaut pas paiement. Un retour navigateur du prestataire peut manquer alors que le paiement a été traité. La validation métier doit tenir compte du mécanisme prévu par l’intégration, notamment ses notifications serveur, avec contrôle et prévention des doublons.
Définir les dénominateurs avant les taux
Un indicateur doit préciser sa population, sa période et ses exclusions. « 95 % de succès » est ambigu si l’on ignore s’il s’agit des visiteurs, des sessions, des tentatives ou des demandes validées. Gardez un nom explicite et une définition stable.
Exemples d’indicateurs, à adapter :
Taux technique = traitements réussis / tentatives métier valides
Taux de validation = tentatives valides / tentatives soumises
Taux de conversion observé = visites avec objectif / visites mesurées
Ces trois taux décrivent des populations différentes.
Prévoyez le traitement des essais internes, robots, doubles clics et relances réseau. Une tentative invalide peut rester utile pour analyser l’ergonomie sans être comptée comme une panne technique. Documentez les changements de définition pour éviter de comparer deux mesures différentes.
Matomo : mesurer les étapes réellement observées
Matomo peut collecter des événements et suivre des objectifs, à condition de configurer le suivi. Il ne connaît pas spontanément toutes les étapes d’un formulaire ou d’un module de paiement. Il faut relier les événements aux confirmations réelles de l’application et vérifier le résultat.
| Événement proposé | Déclenchement | Précaution |
|---|---|---|
| form_view | Formulaire effectivement affiché selon la définition choisie | Éviter les émissions répétées au défilement |
| form_attempt | Tentative explicite de soumission | Un clic seul ne prouve pas l’envoi |
| form_validation_error | Validation refusée | Envoyer une catégorie d’erreur, pas le contenu du champ |
| form_saved | Confirmation d’enregistrement | Ne pas déclencher avant la réponse métier |
| checkout_started | Entrée réelle dans le parcours de commande | Définir le cas des retours et reprises |
| payment_confirmed | Paiement confirmé selon l’intégration | Ne pas assimiler à la création de commande |
Ces noms constituent une convention proposée pour le projet. Ils ne sont pas des événements automatiquement disponibles dans tous les plugins. Un suivi par formulaire et un suivi des paiements peuvent aussi demander des traitements différents.
Exemple minimal d’événement JavaScript
window._paq = window._paq || [];
window._paq.push([
'trackEvent',
'Formulaire',
'Enregistrement confirme',
'Devis'
]);
La documentation du suivi JavaScript Matomo décrit trackEvent. Ce fragment doit être intégré au point où le module confirme réellement l’enregistrement. Il ne fournit ni ce raccordement, ni la configuration du tracker, ni la gestion du consentement. Un écouteur de clic générique ne suffit pas.
Envoyez des catégories stables et non les valeurs saisies. Les noms, emails, messages libres et références personnelles n’ont pas à être placés dans les libellés d’événements. Une fois l’intégration réalisée, vérifiez qu’un succès produit une seule émission prévue et qu’une erreur n’en produit pas.
Fonctions disponibles et limites des rapports
Les événements et objectifs ne se confondent pas avec tous les rapports spécialisés. Matomo distingue notamment les taux d’objectif et ceux de Form Analytics, ce dernier étant une fonctionnalité premium. Vérifiez l’édition, les extensions et les licences avant de promettre des analyses détaillées de champs ou d’entonnoirs.
Une baisse des événements peut venir du suivi lui-même : script absent, bloqueur, refus de consentement, endpoint de collecte inaccessible ou changement d’interface. Comparez d’abord les données avec les enregistrements métier agrégés. Une divergence n’est pas automatiquement une perte de prospects.
Le suivi serveur peut améliorer certaines confirmations métier, mais ne doit pas dupliquer aveuglément ce que le navigateur a déjà transmis. Il ne supprime ni les exigences de protection des données ni la nécessité de définir l’attribution. Le registre de commandes ou de demandes reste distinct du rapport d’audience.
Surveiller aussi le traitement des rapports
La collecte et le calcul des rapports sont deux étapes. Un rapport agrégé peut être en retard alors que les événements continuent d’arriver. Pour Matomo auto-hébergé, contrôlez les exécutions d’archivage automatique, leur durée et leurs erreurs. Un rapport quotidien n’est pas une sonde instantanée.
Si Matomo partage le serveur de la boutique, le calcul des rapports peut concurrencer les ressources de production. Mesurez cette charge et planifiez les traitements. La plateforme de mesure doit également être supervisée pour ne pas transformer sa propre panne en faux diagnostic sur le site.
Plesk : retrouver les journaux et comprendre le trajet de la requête
Dans Plesk, ouvrez les journaux du domaine concerné et filtrez la période de l’incident. L’explorateur de logs rassemble des informations issues de plusieurs fichiers. Les sources disponibles dépendent de la configuration ; Plesk n’ajoute pas automatiquement tous les indicateurs nécessaires à une enquête.
Sur Plesk pour Linux, les logs du domaine se trouvent généralement sous /var/www/vhosts/system/DOMAINE/logs/. Les familles access_log, access_ssl_log, error_log, proxy_access_log, proxy_access_ssl_log et proxy_error_log distinguent notamment les couches et protocoles. Vérifiez les fichiers présents plutôt que de supposer un nom unique. Plesk publie un inventaire des journaux et configurations Linux.
Le trajet peut passer par un CDN, nginx, Apache puis PHP-FPM, ou utiliser un traitement nginx/FPM différent. Certaines ressources peuvent être servies sans PHP. Dessinez le trajet effectif avant d’attribuer un délai à WordPress.
Ne comptez pas une même requête deux fois parce qu’elle apparaît dans nginx et Apache. Distinguez les fichiers actifs, les rotations et les copies utilisées pour les statistiques. Une hausse du nombre de lignes n’est pas forcément une hausse équivalente du nombre de visites.
Lire les durées sans confondre TTFB et exécution PHP
| Mesure | Interprétation | Piège |
|---|---|---|
| TTFB côté client | Temps jusqu’au premier octet, selon l’outil et le contexte | Inclut des composantes réseau et ne mesure pas seulement PHP |
| nginx $request_time | Durée du traitement de la requête jusqu’à la fin de l’envoi | Peut être influencée par le transfert au client |
| nginx $upstream_header_time | Temps pour obtenir les en-têtes de l’amont | L’amont peut être Apache, pas directement PHP |
| nginx $upstream_response_time | Durée de réception de la réponse de l’amont | N’isole pas la seule exécution du code WordPress |
| Durée applicative | Intervalle instrumenté dans l’application | Ne couvre pas les attentes en dehors de cet intervalle |
Les définitions sont détaillées dans les modules nginx de journalisation et de communication avec l’amont. Les durées nginx sont exprimées en secondes avec une résolution milliseconde. Les champs d’amont peuvent être absents ou contenir plusieurs valeurs selon le trajet et les reprises.
Un ancien log qui ne contient pas ces durées ne permet pas de les reconstituer rétroactivement. Leur collecte demande un format adapté, validé dans le bon contexte de configuration. Sur Plesk, évitez de modifier sans méthode les fichiers générés : un changement ultérieur du panneau pourrait les recréer.
PHP-FPM : distinguer manque de capacité et traitements bloquants
Un pool PHP-FPM exécute les requêtes au moyen de processus, souvent appelés workers. Lorsque tous sont occupés, de nouvelles demandes peuvent attendre. Les processus peuvent attendre une base ou une API sans consommer beaucoup de CPU ; une charge CPU modérée n’exclut donc pas une saturation du service.
La page de statut FPM expose notamment listen queue, les processus actifs et inactifs, l’atteinte de la limite d’enfants et les requêtes lentes. Distinguez les valeurs instantanées des historiques depuis le démarrage. Un maximum ancien ne prouve pas une saturation actuelle ; un redémarrage réinitialise les informations concernées.
Cette page doit rester limitée à la supervision autorisée : elle révèle des informations internes. Configurez son accès selon l’architecture réelle, puis vérifiez qu’un visiteur public ne peut pas l’interroger.
Avant d’augmenter pm.max_children, mesurez la mémoire par processus, le budget disponible pour tous les services et la capacité de la base. Davantage de workers peut aggraver la concurrence SQL ou provoquer un manque de mémoire. La limite doit correspondre à une charge soutenable.
La configuration PHP-FPM prévoit un slowlog et request_slowlog_timeout pour obtenir des informations sur les requêtes dépassant une durée définie. Ce mécanisme de diagnostic ne se confond pas avec un timeout qui interrompt le traitement. Vérifiez la configuration du pool effectivement utilisé, le volume généré et les droits sur le fichier.
Une piste fréquente est une attente répétée vers un service externe : transporteur, paiement, CRM ou service email. Mon article sur les erreurs cURL 28 sous WordPress et PrestaShop approfondit ce type de timeout. Allonger systématiquement la durée d’attente peut seulement maintenir les workers occupés plus longtemps.
MariaDB : examiner le temps cumulé et les attentes
Le slow query log MariaDB permet d’identifier des requêtes répondant aux critères configurés. Vérifiez son activation, sa destination et ses seuils sur la version installée. Son absence de résultat ne signifie pas que toutes les requêtes sont efficaces : le seuil peut être trop élevé ou la collecte inactive.
Examinez les familles de requêtes, leur fréquence, leur durée cumulée et les lignes examinées. Une requête très lente mais exceptionnelle n’a pas nécessairement le même impact qu’une opération modérément lente répétée à chaque page. Les verrous et les transactions longues demandent également une analyse au moment de l’incident.
Ne créez pas un index à partir d’un nom de colonne aperçu dans un log. Vérifiez le plan, la sélectivité et les effets sur les écritures. Le slowlog peut contenir des valeurs personnelles : son accès et sa conservation doivent être restreints. Une collecte très bavarde peut elle-même consommer du disque et des entrées-sorties.
WordPress : relier les erreurs aux opérations métier
Les erreurs PHP sont utiles, mais leur niveau et leur contexte comptent. Un avertissement de dépréciation ne prouve pas un échec de paiement. Une exception sur la route de soumission, au moment d’une tentative, mérite une enquête ciblée.
La documentation de débogage WordPress distingue notamment journalisation et affichage. N’affichez pas les erreurs détaillées aux visiteurs et ne laissez pas un fichier de debug publiquement téléchargeable. Réservez la collecte très détaillée aux besoins définis, avec rotation et retrait des paramètres de diagnostic devenus inutiles.
SAVEQUERIES conserve des informations sur les requêtes et ajoute une charge : ce n’est pas une option à activer indéfiniment sans mesure. Un journal applicatif ciblé sur les étapes d’un formulaire peut être plus utile qu’un enregistrement massif de tout le site.
Surveillez aussi les traitements différés. WP-Cron dépend par défaut du déclenchement lié aux chargements de pages ; il n’offre pas à lui seul une exécution à la seconde prévue. Si une tâche système le remplace, vérifiez sa réussite et les éventuels doublons. L’absence d’erreur sur la page publique n’exclut pas une file d’emails ou de synchronisations bloquée.
Erreurs JavaScript et expérience réelle
Une erreur JavaScript peut empêcher un formulaire d’envoyer la moindre requête. Les logs PHP ne montreront alors aucune tentative correspondante. Enquêtez sur la console, les requêtes réseau, la version des ressources et le navigateur concerné. Une collecte d’erreurs côté client doit être bornée, filtrée et séparée du simple suivi d’audience.
Les Core Web Vitals actuels portent sur le LCP, l’INP et le CLS. Les seuils de bonne expérience sont respectivement 2,5 secondes, 200 millisecondes et 0,1 au 75e percentile des visites, en distinguant mobile et ordinateur. Ils décrivent des aspects de l’expérience, pas l’aboutissement de toutes les opérations métier.
Un test de laboratoire reproduit un contexte contrôlé ; une mesure terrain décrit les situations effectivement collectées. Le score d’un test isolé ne remplace ni le suivi des erreurs ni la confirmation des formulaires. Consultez aussi mes guides sur l’INP et les constructeurs de pages et sur l’optimisation de la vitesse WordPress.
Construire une chronologie sans inventer une causalité
Commencez par une fenêtre temporelle commune, le domaine et la famille de routes affectée. Vérifiez les fuseaux utilisés par le système, les logs, WordPress et les rapports Matomo. Stocker des horodatages techniques en UTC et convertir pour l’affichage simplifie souvent la comparaison, à condition de conserver explicitement le fuseau.
Documentez les déploiements : extension mise à jour, configuration de cache, règle WAF, version PHP, tâche d’import ou campagne publicitaire. Une annotation doit contenir une heure, un périmètre et un changement identifiable. « Le site a été modifié hier » est trop imprécis pour relier une régression à son origine.
Utiliser des identifiants de requête pour les traitements techniques
Un identifiant de corrélation généré ou validé à une frontière de confiance peut suivre une requête entre proxy, application et service externe. Il doit être propagé explicitement et journalisé : cette continuité n’apparaît pas automatiquement dans tous les logs. Un identifiant fourni librement par un client ne doit pas être accepté sans contrôle de format et de longueur.
Pour un traitement asynchrone, conservez aussi une relation entre la requête d’origine et le travail mis en file. Une simple proximité horaire ne suffit pas à rattacher une notification exécutée plusieurs minutes plus tard. Préférez des références techniques opaques aux emails ou noms de clients.
{
"timestamp": "2026-09-22T10:15:32Z",
"service": "wordpress",
"environment": "production",
"request_id": "req_exemple_7f91",
"route": "contact_submit",
"operation": "store_request",
"outcome": "success",
"duration_ms": 184,
"release": "deploiement-exemple"
}
Ce JSON illustre un schéma à mettre en place ; il ne représente pas un événement réel. Les unités sont explicites, le nom de route est stable et le contenu du formulaire est absent. Les métriques agrégées ne doivent pas utiliser chaque identifiant de requête comme étiquette : cela multiplierait inutilement les séries. L’identifiant reste utile dans les journaux et traces.
La démarche privilégiée ici rapproche des tendances agrégées de parcours avec des métriques techniques. Elle ne consiste pas à injecter automatiquement l’identifiant de visite Matomo dans tous les logs. Une jonction individuelle entre ces données relève d’une conception et d’un cadre de protection des données spécifiques.
Trois situations de diagnostic, avec leurs limites
Les situations suivantes sont fictives. Elles montrent comment passer d’un signal à une hypothèse, puis à une vérification, sans présenter une coïncidence comme une preuve.
Cas n° 1 : les demandes chutent après une mise à jour
Les visites mesurées restent comparables et les confirmations de formulaire diminuent. Première étape : comparer ces confirmations avec le nombre de demandes réellement enregistrées. Si la base reste stable, examinez le tracking avant d’annoncer une perte commerciale.
Si les enregistrements baissent aussi, reproduisez le parcours sur les appareils concernés. Une erreur JavaScript apparue dans un fichier récemment modifié est une piste. Vérifiez si la requête de soumission part, si elle reçoit une réponse et si l’application l’enregistre. Chaque étape réduit le périmètre de recherche.
Une correction ou un retour ciblé à la version précédente, suivi d’un test réussi, renforce le diagnostic. Contrôlez également le cache des ressources et les visiteurs encore exposés à l’ancienne version. Le retour d’un événement Matomo seul ne suffit pas : la demande doit bien être retrouvée côté métier.
Cas n° 2 : le passage en caisse devient lent
Le temps de réponse augmente sur le checkout, la file FPM se remplit et le slowlog montre des appels récurrents vers un service de livraison. Cela suggère une attente externe, mais il faut vérifier les délais mesurés et reproduire l’appel dans des conditions maîtrisées.
La solution peut impliquer un timeout borné, une réponse mise en cache lorsque c’est approprié ou une procédure de secours. Elle dépend du métier : afficher un tarif ancien sans le signaler n’est pas toujours acceptable. Augmenter les workers ou redémarrer FPM peut soulager temporairement sans corriger l’attente.
Validez le rétablissement sur des commandes de test et surveillez les commandes déjà créées. Un timeout visible par l’utilisateur ne prouve pas que le prestataire n’a rien exécuté ; une relance aveugle peut créer un doublon.
Cas n° 3 : le WAF bloque des soumissions légitimes
Une hausse de refus sur une route de formulaire peut correspondre à une attaque ou à un faux positif. Rapprochez la route, l’heure, la règle déclenchée et un test contrôlé reproduisant le problème. Les codes HTTP seuls ne permettent pas de distinguer ces situations.
Si le faux positif est confirmé, étudiez une correction de l’entrée ou une exception limitée à la règle, au paramètre et au périmètre nécessaires. Désactiver globalement le WAF enlève une protection à tous les autres parcours. Vérifiez ensuite que les soumissions légitimes passent et que le filtrage attendu reste actif.
Définir des alertes qui déclenchent une action
Chaque alerte doit préciser son propriétaire, la condition de déclenchement, la durée, le périmètre et la procédure à suivre. Une notification « CPU élevé » sans contexte se transforme vite en bruit. Une alerte sur une action métier indisponible mérite une attention différente d’un avertissement de capacité.
| Signal | Exemple de règle à expérimenter | Action |
|---|---|---|
| Parcours synthétique critique | Échecs répétés sur plusieurs essais contrôlés | Vérifier le parcours et la sonde |
| Erreurs d’une route | Hausse persistante avec volume suffisant | Identifier couche et changement récent |
| Attente PHP-FPM | File non vide de manière prolongée et durées dégradées | Examiner les traitements occupés |
| Absence de données de collecte | Événement de contrôle ou heartbeat manquant | Vérifier le système de mesure |
| Stockage | Capacité restante incompatible avec le rythme de croissance | Réduire la collecte ou augmenter la capacité |
| Traitement différé | Retard du plus ancien travail au-delà de l’objectif | Examiner la file et la dépendance |
Par exemple, une règle peut tester un taux d’échec supérieur à 5 % pendant dix minutes, uniquement avec au moins cent tentatives pertinentes. Ce n’est pas un seuil recommandé universel : sur un site de faible trafic, il ne déclencherait presque jamais. Une sonde fonctionnelle et une alerte unitaire sur un incident critique peuvent être plus utiles.
À l’inverse, ne rendez pas toutes les alertes dépendantes d’une corrélation parfaite. Une indisponibilité confirmée ne doit pas attendre que Matomo produise un rapport. La combinaison de signaux sert à réduire les faux diagnostics, pas à retarder le traitement d’un incident évident.
Exprimer un objectif de service mesurable
Un objectif pourrait être : « sur la période retenue, au moins 99,5 % des tentatives valides du formulaire sont enregistrées en moins de trois secondes ». Il faut définir les exclusions, la méthode de mesure et l’intervalle exact. Ce nombre est un exemple de contrat interne, pas une capacité garantie par WordPress.
Pour la latence, regardez la médiane et les percentiles élevés avec le volume associé. Une moyenne peut masquer une petite population très pénalisée. Le percentile 95 d’une poignée d’essais est instable ; ne donnez pas à un échantillon minuscule l’apparence d’une statistique robuste.
Le tableau de bord minimum et les décisions associées
| Vue | Indicateurs proposés | Décision facilitée |
|---|---|---|
| Parcours métier | Tentatives, validations, réussites, retard des files | Identifier l’étape qui bloque |
| Routes critiques | Volume, 4xx/5xx, durées et distribution | Localiser la régression |
| Ressources | FPM, mémoire, disque, entrées-sorties, base | Distinguer attente et capacité |
| Navigateur | Erreurs par version et famille de pages | Repérer une incompatibilité |
| Mesure | Dernière collecte, archivage, disponibilité des sondes | Éviter une lecture fondée sur des données absentes |
| Changements | Déploiements, incidents et corrections | Comparer la chronologie |
Gardez les filtres par environnement, route et fenêtre temporelle. Séparez tests internes et production. Un tableau global peut masquer un seul formulaire défaillant, tandis qu’un écran trop détaillé rend les tendances difficiles à lire.
Estimer l’impact commercial sans le présenter comme une certitude
Supposons, uniquement pour illustrer la méthode, qu’une fenêtre comparable comporte habituellement 200 visites mesurées avec 4 % de conversion : cela représente huit conversions attendues. Si trois sont observées, l’écart brut est de cinq. Ce calcul ne démontre pas que cinq prospects ont été perdus à cause de l’incident.
Vérifiez la source du trafic, les horaires, les campagnes, la saisonnalité et la couverture du tracking. Comparez autant que possible une population stable. Pour une boutique, distinguez chiffre d’affaires, marge et commandes rattrapées plus tard. Pour un site vitrine, une demande de contact ne vaut pas encore un contrat.
La valeur de l’observabilité se mesure aussi par le temps de détection, le temps de diagnostic, la durée de rétablissement et la baisse des incidents récurrents. Ces indicateurs sont souvent plus directement attribuables au dispositif qu’une promesse générale de hausse des conversions.
Confidentialité : relier les signaux sans tout collecter
Les journaux peuvent contenir des adresses IP, identifiants, URL sensibles et valeurs de formulaire. La première protection consiste à réduire ce qui entre dans la collecte. Filtrez les paramètres d’URL, en-têtes et champs inutiles dès que possible, puis restreignez les accès aux outils.
Matomo auto-hébergé n’est pas automatiquement exempté de consentement. Les conditions publiées par la CNIL pour la mesure d’audience concernent la finalité, la configuration et les usages. Elles excluent notamment certains recoupements avec d’autres traitements. L’auto-évaluation ne permet pas de présenter la solution comme « certifiée par la CNIL ».
Comparer des tendances temporelles suffisamment agrégées n’est pas la même opération que reconstituer le parcours individuel d’une personne à partir de Matomo, des logs et du CRM. Cette seconde approche ne doit pas être introduite sous couvert d’une exemption d’audience présumée. Faites valider le cadre applicable, les informations aux personnes et, le cas échéant, le consentement avant de la déployer.
Un identifiant pseudonyme ou un hash d’email ne rend pas automatiquement les données anonymes. Évitez d’utiliser une adresse email comme clé de diagnostic. La finalité technique ne justifie pas de copier le contenu des messages, des paiements ou des documents clients dans une plateforme de logs.
Rotation et durée de conservation sont deux sujets distincts
La rotation découpe ou compresse les fichiers ; elle ne définit pas à elle seule combien de temps les données restent disponibles dans les exports, sauvegardes et plateformes centrales. Fixez une politique par catégorie : diagnostic court terme, sécurité, agrégats de performance et données d’audience n’ont pas nécessairement la même durée.
La fiche CNIL sur les traces recommande une journalisation protégée, exploitable et limitée au besoin. Prévenez les utilisateurs selon le contexte et évitez la duplication excessive des données. La conservation ne doit pas devenir indéfinie parce que le stockage est disponible.
Prévoyez aussi la suppression des exports d’incident, le contrôle des accès du prestataire, les sauvegardes et l’expiration des données dans chaque outil. Un dashboard bien protégé ne compense pas un fichier de debug accessible par son URL publique.
Déployer progressivement et vérifier le dispositif
La première version doit pouvoir expliquer un incident sur un parcours choisi. Inutile de commencer par centraliser chaque événement de tous les services. Un périmètre limité facilite la validation des données et des alertes.
| Étape | Travail | Résultat attendu |
|---|---|---|
| 1. Cadrage | Choisir les parcours, définir le succès et les responsabilités | Indicateurs documentés |
| 2. Inventaire | Lister logs, métriques, fuseaux et limites de collecte | Sources connues et angles morts identifiés |
| 3. Instrumentation pilote | Ajouter événements et confirmations métier nécessaires | Une tentative peut être expliquée sans données superflues |
| 4. Tableau de bord | Rapprocher tendances, incidents et déploiements | Lecture cohérente des périodes |
| 5. Alertes | Choisir conditions, destinataires et procédures | Notification actionnable et récupération testée |
| 6. Validation | Reproduire des pannes contrôlées en environnement adapté | Détection et diagnostic démontrés |
| 7. Exploitation | Surveiller la collecte, les coûts et la pertinence des seuils | Dispositif maintenable |
En préproduction, simulez un formulaire refusé, une réponse externe trop lente et un suivi d’audience indisponible. Vérifiez que le système distingue ces situations. Les tests synthétiques doivent éviter les commandes réelles, les messages commerciaux involontaires et les doublons dans le CRM.
Un test de production, lorsqu’il est nécessaire, demande un compte ou un flux explicitement prévu à cet effet, un volume limité et une méthode de nettoyage. Ne chargez pas une boutique active pour « voir si elle tient » sans protocole convenu.
Une procédure de diagnostic à garder disponible
Lors d’un incident, consignez l’heure, la route et le symptôme. Vérifiez la fraîcheur des données, confirmez l’échec avec un test contrôlé, puis examinez la couche où le parcours s’arrête. Relevez les changements récents et conservez les éléments utiles avant de redémarrer un service, lorsque la situation le permet.
Pour rétablir le service, choisissez une action ciblée avec un effet attendu et une possibilité de retour. Rejouez ensuite le parcours complet, contrôlez les traitements en attente et vérifiez l’absence de doublons. Un redémarrage qui fait disparaître momentanément la file n’établit pas la cause.
Terminez par une courte analyse : cause confirmée ou hypothèses restantes, impact mesuré, correction et test de non-régression. Les incidents récurrents peuvent révéler une dette technique WordPress qui mérite un traitement structurel.
Maîtriser le coût et les limites de l’observabilité
Le budget comprend l’intégration, le stockage, les licences éventuelles, les tests et surtout le temps consacré aux alertes. Un outil gratuit n’implique pas une exploitation gratuite. Mesurez le volume quotidien, la rétention, les coûts d’indexation et la charge ajoutée au serveur.
Réduisez les événements répétitifs sans intérêt, regroupez les routes équivalentes et limitez les dimensions à forte cardinalité. Si vous échantillonnez les traces, documentez ce choix : une trace absente ne prouve plus que l’opération n’a jamais eu lieu. Conservez des compteurs adaptés pour mesurer les volumes globaux.
L’absence d’alerte ne démontre pas l’absence de problème. Certains visiteurs ne sont pas mesurés, des erreurs peuvent survenir avant la collecte et une sonde peut ne pas couvrir un cas particulier. Le dispositif doit rendre ces limites visibles plutôt que donner un sentiment trompeur de maîtrise totale.
Questions fréquentes sur l’observabilité WordPress
Une surveillance HTTP suffit-elle pour WordPress ?
Elle vérifie un aspect de la disponibilité, mais pas tous les parcours. Un formulaire peut échouer en JavaScript ou une réponse HTTP 200 contenir une erreur métier. Complétez-la par des contrôles fonctionnels et des confirmations côté application.
Matomo peut-il identifier la cause d’une panne ?
Matomo montre les événements et parcours effectivement collectés. Il aide à situer une dégradation, mais la cause technique demande souvent des logs, métriques ou tests complémentaires. Une baisse des événements peut aussi provenir d’un défaut de tracking.
Faut-il conserver tous les logs indéfiniment ?
Non. Définissez une conservation adaptée à chaque finalité et limitez les données collectées. La politique doit couvrir les fichiers, outils centraux, exports et sauvegardes. La rotation technique ne suffit pas à organiser leur suppression.
Quels parcours surveiller en priorité ?
Commencez par ceux dont l’échec affecte directement l’activité : demandes de devis, commandes, paiements, connexions ou synchronisations indispensables. Définissez pour chacun les étapes et la source qui confirme réellement le succès.
L’observabilité améliore-t-elle le SEO ?
Elle aide à détecter des erreurs d’accès et des problèmes de performance qui peuvent affecter l’expérience ou l’exploration. Elle n’est pas en elle-même un facteur de classement et ne garantit ni position ni gain de trafic.
Le TTFB mesure-t-il uniquement la vitesse de PHP ?
Non. Sa portée dépend de l’outil et inclut des composantes hors de PHP. Les durées nginx, les temps d’amont et les durées applicatives décrivent des intervalles différents. Il faut les interpréter selon le trajet réel de la requête.
Faut-il augmenter les workers PHP-FPM dès qu’une file apparaît ?
Pas automatiquement. Vérifiez les attentes externes, la base, la mémoire et la charge simultanée. Augmenter la limite peut aggraver une saturation. Une valeur historique d’atteinte de limite ne prouve pas non plus un incident actuel.
Un clic sur Envoyer est-il une conversion ?
Il peut être un événement d’intention, mais pas une preuve d’enregistrement. Une conversion définie comme une demande reçue doit être déclenchée après la confirmation correspondante. La notification email reste une étape séparée.
Matomo auto-hébergé dispense-t-il du consentement ?
Pas automatiquement. L’exemption éventuelle dépend de la configuration et des usages. Certains recoupements individuels avec les logs ou le CRM peuvent en sortir. Il faut examiner les conditions applicables avant de concevoir ce suivi.
Peut-on surveiller un site à faible trafic ?
Oui. Les sondes fonctionnelles et confirmations métier sont particulièrement utiles lorsque les taux varient fortement avec quelques visites. Les seuils doivent être adaptés ; l’absence de conversion pendant une courte période ne suffit pas à caractériser une panne.
Faut-il installer OpenTelemetry sur tous les sites ?
Non. Des journaux ciblés, quelques métriques et des tests peuvent suffire à un site simple. Les traces deviennent utiles pour suivre des traitements entre plusieurs services, à condition de vérifier l’instrumentation, son coût et les données collectées.
Comment vérifier que les alertes fonctionnent ?
Reproduisez des défauts contrôlés dans un environnement adapté, puis vérifiez la collecte, le déclenchement, la réception et la procédure de diagnostic. Testez également une panne de la supervision elle-même et le retour à l’état normal.
Passer d’un site qui répond à des parcours dont on comprend le fonctionnement
Une supervision utile doit permettre de détecter un problème, d’en délimiter l’impact et de vérifier sa correction. Plesk, Matomo et les journaux apportent des pièces complémentaires, à condition de définir les événements, les unités, les responsabilités et les limites de collecte.
En tant que développeur indépendant spécialisé dans WordPress et l’administration serveur, je peux examiner votre chaîne Plesk, PHP-FPM, MariaDB et Matomo pour construire un dispositif adapté aux parcours de votre site. Le résultat attendu est un plan de mesure, des contrôles vérifiables et des alertes auxquelles on sait répondre.
Pour préparer un échange, indiquez le parcours concerné, les symptômes et une période précise avec son fuseau horaire. Ne transmettez pas de logs contenant des données clients ou des secrets dans le formulaire : leur partage se prépare par un canal adapté. Mon article sur l’audit SEO complète le volet visibilité.




