Un contrat de maintenance de site web doit répondre à une seule question sans ambiguïté : qui fait quoi, et jusqu'où. Sans ça, un client appelle un jour pour une refonte complète en pensant que c'est « inclus dans la maintenance », et le freelance découvre le malentendu au moment le moins pratique. Voici les clauses qui évitent ce flou : le périmètre exact, ce qui en est exclu, les sauvegardes, la sécurité, et la responsabilité en cas de faille non corrigée.
Le périmètre : la clause qui évite 90 % des malentendus
Un contrat de maintenance qui se contente d'écrire « maintenance du site » ne protège personne. Le périmètre doit lister précisément ce qui est couvert, brique par brique :
- Le cœur du CMS (WordPress, ou tout autre système utilisé) et ses mises à jour de version.
- Les extensions et plugins actifs, nommément ou par catégorie (un contrat qui ne les cite pas ne les couvre pas).
- Le code sur mesure développé spécifiquement pour ce client, distinct du thème ou des extensions du marché.
- Les sauvegardes (voir plus bas pour le détail attendu).
- Le monitoring : surveillance de la disponibilité du site, alerte en cas de panne.
- Le support : un volume de temps ou un nombre de demandes inclus par mois.
Chaque élément qui manque à cette liste sera, par défaut, considéré comme hors périmètre. C'est une bonne chose tant que le client le sait à la signature, pas quand il le découvre après coup.
Ce qui n'est jamais inclus, et qu'il faut écrire aussi clairement
La clause d'exclusion compte autant que la clause d'inclusion. Deux catégories reviennent systématiquement en dehors du périmètre d'une maintenance classique :
- La refonte ou le changement de design, même partiel.
- Les nouvelles fonctionnalités, y compris celles qui semblent mineures (un nouveau formulaire, une page supplémentaire, une intégration avec un outil tiers).
Écrire ces exclusions noir sur blanc n'est pas un excès de prudence. C'est ce qui permet de facturer sereinement un devis complémentaire le jour où le client demande « juste un petit ajout », sans avoir à justifier pourquoi ce n'est pas déjà couvert par le forfait mensuel.
Sauvegardes : la clause la plus souvent bâclée
La plupart des contrats se contentent d'une ligne vague du type « sauvegardes régulières », qui n'engage à rien de vérifiable. Trois paramètres doivent être écrits noir sur blanc :
- La fréquence (quotidienne, hebdomadaire) et l'endroit où la sauvegarde est stockée, idéalement externalisé et pas uniquement sur le même serveur que le site.
- La durée de conservation : combien de versions successives restent disponibles en cas de besoin de revenir plusieurs semaines en arrière.
- Le délai de restauration en cas de sinistre, et la fréquence à laquelle une restauration est réellement testée. Une sauvegarde jamais testée n'a de sauvegarde que le nom : elle peut très bien être corrompue depuis des mois sans que personne ne l'ait remarqué.
Sécurité et mises à jour : un délai précis vaut mieux qu'une promesse vague
« Mises à jour de sécurité appliquées dans les meilleurs délais » n'engage juridiquement à rien : un lien cassé et un site piraté ne se traitent pas avec la même urgence, et « meilleurs délais » ne permet à personne de vérifier si l'engagement a été tenu. Le contrat gagne à préciser un délai différencié selon la criticité de la faille, pas un délai unique pour tout.
Cette clause n'est pas de la prudence excessive. Selon le rapport annuel de Patchstack, spécialiste de la sécurité WordPress, 11 334 nouvelles vulnérabilités ont été recensées dans l'écosystème WordPress en 2025, en hausse de 42 % sur un an, et 91 % d'entre elles se trouvent dans les extensions, pas dans le cœur du logiciel (Patchstack, State of WordPress Security in 2026). Sucuri, de son côté, a constaté qu'au moment de la remédiation, 13,97 % des sites compromis en 2023 avaient encore au moins une extension ou un thème vulnérable installé (Sucuri, 2023 Hacked Website & Malware Threat Report). Ce ne sont pas des chiffres qui justifient la panique, mais ils montrent qu'un plugin non mis à jour reste une cause identifiée et récurrente de compromission, pas un risque théorique.
Résiliation et responsabilité : protéger les deux parties
Deux clauses ferment le tour du contrat, souvent oubliées parce qu'on espère ne jamais en avoir besoin :
- La clause de résiliation : préavis à respecter de part et d'autre, et surtout, ce qui se passe pour les accès et les données au moment du départ (transfert des identifiants, export des sauvegardes, documentation laissée au client). Un client qui part doit pouvoir récupérer son site intact, sans dépendre de la bonne volonté du prestataire sortant.
- La responsabilité en cas de faille de sécurité non corrigée : si une vulnérabilité connue et documentée n'a pas été patchée dans le délai prévu au contrat, et que le site est compromis à cause de ça, le contrat doit préciser qui assume. À l'inverse, un freelance n'est pas responsable d'une faille qu'il n'avait pas les moyens de connaître ou de corriger dans le cadre du périmètre signé, d'où l'importance d'avoir un périmètre écrit précisément en premier lieu.
Objectiver le renouvellement plutôt que promettre que « tout va bien »
Sur les sites qu'on suit en maintenance, on relance volontairement le même audit CityLead sur la même URL plusieurs mois après la mise en place du contrat, pour comparer objectivement la Note d'audit, le score GEO et le Domain Rating avant et après plutôt que de se fier à une impression. Ce comparatif prend quelques minutes à générer et donne un argument concret au moment de renouveler le contrat, bien plus convaincant qu'une simple affirmation verbale que le site est bien tenu. L'audit CityLead fait ce comparatif à la demande, sur n'importe quel site déjà suivi, avant même de repartir chercher de nouveaux prospects sur une autre ville ou un autre secteur.