Retour au blog Agences Web - 8 min

Monitoring des sites en staging : faut-il vraiment s’en préoccuper

Le staging répond souvent 401 et doit être en noindex. Surveillez-le dans un projet à part, sans réveiller le client, et vérifiez qu’il n’est pas indexé.

Un site de staging n’est pas un petit site de production. Il est là pour essayer une mise à jour, il est souvent protégé par une authentification HTTP (réponse 401 sans identifiants), et il ne doit pas être indexé. Le surveiller comme l’accueil public — même destinataire, même seuil, même mot dans le HTML — fabrique de fausses alertes et, pire, peut faire envoyer au client un message sur une URL qu’il ne doit pas voir. La question n’est donc pas oui ou non dans l’absolu. C’est : quel contrôle, dans quel projet, vers qui.

À quoi le staging doit répondre

Depuis l’extérieur, sans mot de passe, la réponse saine est un 401 (ou un 403 si vous filtrez par adresse IP). Ce n’est pas un 200. Un 200 public sur staging.example.com veut dire que la copie est ouverte. Regardez alors trois points, le jour même :

  1. Le robots.txt. Un Disallow: / limite les robots qui le respectent. Il ne retire pas une URL déjà indexée.
  2. La balise meta robots noindex sur les modèles, ou l’en-tête X-Robots-Tag: noindex.
  3. Search Console : si une propriété existe pour cet hôte, regardez si des URL sont indexées. Sinon, une recherche site: sur l’hôte de préproduction donne un indice, pas une preuve exhaustive.

Les pièges du robots.txt, y compris un fichier de préproduction recopié en production, sont dans robots.txt : configuration et pièges.

Ce qui mérite un contrôle, et ce qui n’en mérite pas

ContrôleUtile sur le stagingDestinataire
Code 401 sans identifiantOui, pour voir si la porte s’ouvre toute seuleInterne agence, e-mail du matin
Code 500Oui, la copie est cassée avant un essai de mise à jourInterne, pas le client
Mot de passe dans l’URL de contrôleNonFuite dans les journaux
Mêmes alertes SMS que la productionNonRéveil inutile
Certificat au nom du mauvais hôteOui, une foisInterne
IndexationOui, une fois par moisLa personne qui met en ligne

SiteGarde peut suivre une URL de staging comme une URL de production : même type de contrôle HTTP. La différence est dans votre réglage, pas dans le protocole. Mettez ces URL dans un projet ou un nommage à part, avec un e-mail interne. Ne les mélangez pas au projet dont les alertes partent vers le client.

Le jour où la préproduction est dans l’index

Retirer le Disallow ne suffit pas, et l’ajouter non plus si Google a déjà la page. Il faut un noindex effectif (la page doit être explorée pour que Google voie le noindex : un robots.txt qui bloque tout peut empêcher de voir la balise). Puis Inspection de l’URL, et demande de suppression si des résultats sont encore visibles. Ensuite seulement vous refermez l’authentification. Documentez l’hôte dans la fiche projet : ne pas soumettre ce sitemap dans la propriété de production. Un sitemap de staging envoyé par erreur est une cause classique de mélange des deux environnements.

Pendant une recette, vous pouvez ouvrir temporairement une IP. Notez la date de réouverture du 401 dans le ticket de mise en ligne. Une recette encore ouverte lundi est un 200 public oublié. Le contrôle du matin le voit, à condition qu’il attende un 401 et non un 200.

La règle dans la fiche projet

Écrivez trois lignes : l’URL de staging, le code attendu depuis l’extérieur (401), le fait que le client n’est pas destinataire. Ajoutez qui a les identifiants, dans le coffre, pas dans la fiche. Le livrable est cette règle, relue à chaque ouverture de compte.

La production, elle, reste sur sa propre fiche, avec ses destinataires. Organiser les deux sans les croiser est le même travail que le monitoring de plusieurs clients : des projets séparés, des seuils séparés. Le staging n’a pas besoin d’une astreinte. Il a besoin de ne pas fuir, et de répondre encore le jour où vous voulez y tester une mise à jour.

Questions fréquentes

Faut-il la même alerte client que pour la production ?

Non. Un 401 sur le staging est souvent l’authentification voulue. Prévenir le client, c’est lui annoncer une panne qui n’existe pas. Le staging a un destinataire interne, ou pas d’alerte du tout si personne ne s’en sert cette semaine.

Le staging doit-il être accessible sans mot de passe ?

Non, sauf besoin court et assumé. Une authentification HTTP, un noindex, et un robots.txt qui interdit l’exploration évitent qu’une préproduction se retrouve dans les résultats. Le mot de passe dans l’URL, lui, fuite dans les journaux et les référents.

Que contrôler si le staging renvoie 401 ?

Que le 401 est bien celui de l’authentification, pas un 500. Et, une fois par mois, avec les identifiants, que la copie répond encore. Le 401 prouve que la porte est fermée. Il ne prouve pas que la copie est à jour.

Surveiller mes URL