Démo interactive · Cabinet Démo Santé (entreprise fictive) · données fictives
Tom — S2M Consulting · tout est modifiable
Démo · dépannage WordPress

Un site propre et rapide sur mobile, sans le couper.

Le cas : un site vitrine de cabinet de kinésithérapie sous WordPress, lent et qui affiche des publicités de casino sur mobile. Voici ce que je vérifie, dans quel ordre, ce que l'on mesure et le rapport que vous recevez. Le site reste en ligne du début à la fin.

Site en ligne pendant l'interventionSauvegarde avant toutFaille referméeMesures avant/aprèsRapport écrit

Plan d'intervention et modèle de rapport

Cabinet Démo Santé · WordPress · Divi · o2switch

Exemple fictifSans coupure du site
Votre site
Outil du site
WordPress
Thème
Divi
Hébergement
o2switch
Adresse du site
À me transmettre
Symptômes relevés dans l'annonce
  • 8 secondes de chargementSur téléphone, l'accueil met environ 8 secondes à devenir utilisable.
  • Publicités de casino sur mobileVisibles depuis un téléphone, pas depuis un ordinateur.
  • Depuis environ un moisLe problème est apparu il y a quatre à cinq semaines.
Hypothèse principaleÀ confirmer par le diagnostic

Un code injecté qui trie les visiteurs

Des publicités visibles seulement sur mobile, c'est le plus souvent un code ajouté au site qui choisit à qui se montrer : aux téléphones, rarement à l'administrateur sur son ordinateur, pour rester discret. Ce code charge aussi des éléments depuis des serveurs extérieurs à chaque visite, ce qui peut expliquer une partie des 8 secondes. C'est une hypothèse : le diagnostic la confirmera ou non.

8,2s
avant, sur mobile · exemple

Reconstitution simplifiée, pas une capture de votre site. Les temps sont des exemples, joués en accéléré.

Ce que je vérifie

12 contrôles, dans cet ordre, avant de corriger quoi que ce soit. Le bouton simule un diagnostic pour montrer à quoi ressemble le résultat.

Contrôles

  1. 01

    Sauvegarde complète avant tout

    Fichiers et base de données copiés hors du serveur, avant la moindre modification.

    wp db export · archive des fichiers
    Sain

    ExempleCopie complète réalisée : 1,4 Go de fichiers et 42 Mo de base (exemple). Restauration testée sur un sous-domaine.

  2. 02

    Intégrité du cœur WordPress

    Chaque fichier de WordPress est comparé à la version officielle publiée sur wordpress.org.

    wp core verify-checksums
    Corrigé

    Exemple3 fichiers du cœur différents de l'original (exemple). Remplacés par les versions officielles.

  3. 03

    Thème Divi et extensions comparés aux originaux

    Les fichiers du thème et de chaque extension sont comparés à une copie saine téléchargée chez l'éditeur.

    comparaison avec l'archive de l'éditeur
    Corrigé

    ExempleCode ajouté à la fin de wp-content/themes/divi/functions.php : il n'affiche la publicité qu'aux visiteurs sur mobile (exemple). Retiré.

  4. 04

    Base de données

    Recherche de scripts cachés dans les réglages, les pages, les articles et les widgets.

    wp db search "<script"
    Corrigé

    ExempleUn script externe glissé dans un réglage du thème (exemple). Supprimé, sans toucher au contenu des pages.

  5. 05

    Comptes administrateurs

    Liste des comptes qui ont tous les droits, date de création et dernière connexion.

    wp user list --role=administrator
    À décider

    ExempleUn compte administrateur inconnu, créé il y a 5 semaines (exemple). Je vous demande confirmation par écrit avant de le supprimer.

  6. 06

    Fichiers modifiés récemment

    Fichiers PHP créés ou modifiés depuis l'apparition des symptômes, là où il ne devrait pas y en avoir.

    find . -name "*.php" -mtime -45
    Corrigé

    Exemple2 fichiers PHP dans le dossier des médias, qui ne devrait contenir que des images (exemple). Supprimés.

  7. 07

    Tâches planifiées

    Tâches de WordPress et du serveur capables de réinstaller le code malveillant après nettoyage.

    wp cron event list · crontab
    Corrigé

    ExempleUne tâche qui retéléchargeait le script toutes les heures (exemple). Supprimée.

  8. 08

    Redirections .htaccess

    Règles qui redirigent les visiteurs mobiles ou venant de Google vers un autre site.

    lecture de .htaccess
    Sain

    ExempleFichier .htaccess conforme : aucune règle ajoutée (exemple).

  9. 09

    Signalement Google et Safe Browsing

    État du site dans les listes de sites dangereux et pages indésirables indexées par Google.

    Transparency Report · Search Console
    À décider

    ExemplePas d'avertissement affiché aux visiteurs, mais 40 pages de spam indexées (exemple) : demande de retrait à faire depuis votre Search Console, je vous guide par écrit.

  10. 10

    Mises à jour

    WordPress, thème, extensions et version de PHP chez l'hébergeur, testés page par page.

    wp core update · wp plugin update --all
    Corrigé

    ExempleWordPress, le thème et 9 extensions mis à jour ; PHP passé de 7.4 à 8.2 (exemple).

  11. 11

    Cache et compression

    Cache des pages, compression des fichiers et cache du navigateur.

    en-têtes HTTP · test mobile
    Corrigé

    ExempleAucun cache actif (exemple). Cache des pages et compression activés, vérifiés sur mobile.

  12. 12

    Poids des images

    Images redimensionnées à leur taille d'affichage et converties dans un format léger.

    inventaire des médias
    Corrigé

    ExemplePhoto d'accueil de 4,8 Mo ramenée à 190 Ko, sans perte visible (exemple).

Déroulé de l'intervention

8 étapes, dans cet ordre. Le site reste en ligne du début à la fin ; les durées sont des estimations.

  1. Copie de sécurité

    Fichiers et base copiés hors du serveur avant toute modification. En cas de souci, retour à l'état initial en quelques minutes.

    ≈ 30 minAucune coupure
  2. Analyse

    Les 12 contrôles, dans l'ordre. Chaque constat est noté pour le rapport.

    ≈ 2 hAucune coupure
  3. Nettoyage

    Code injecté retiré, fichiers suspects supprimés, fichiers d'origine remis en place.

    ≈ 2 hAucune coupure
  4. Fermeture de la porte d'entrée

    La faille qui a permis l'infection est identifiée et fermée : extension vulnérable, mot de passe faible ou compte inconnu.

    ≈ 1 hNouvelle connexion demandée aux administrateurs
  5. Mises à jour

    WordPress, thème, extensions et PHP, un par un, avec une vérification des pages principales après chacun.

    ≈ 1 h 30Quelques secondes par mise à jour
  6. Accélération

    Cache, compression, images allégées, scripts inutiles retirés des pages.

    ≈ 2 hAucune coupure
  7. Mesures

    Temps de chargement, poids et nombre de requêtes mesurés sur mobile, dans les mêmes conditions qu'au départ.

    ≈ 30 minAucune coupure
  8. Rapport

    Un document écrit : constat, actions, fichiers nettoyés, accès changés, recommandations.

    ≈ 1 hAucune coupure

Mesures avant / après

Mesurées sur mobile, dans les mêmes conditions, avant et après l'intervention. Les chiffres ci-dessous sont un exemple : les vôtres figureront dans le rapport.

Valeurs d'exemple

Chargement sur mobile

−77 %

Temps avant que la page soit utilisable, réseau mobile simulé

Avant 8,2 sAprès 1,9 s

Poids de la page d'accueil

−80 %

Total téléchargé : images, scripts, polices

Avant 6,4 MoAprès 1,3 Mo

Requêtes

−66 %

Nombre de fichiers demandés au chargement

Avant 142Après 48

Même page, même type de téléphone et même réseau simulé pour les deux mesures, trois passages chacune. Aucun objectif chiffré n'est garanti avant d'avoir vu le site.

Rapport d'intervention (modèle)

Ce que vous recevez à la fin, par écrit. Les lignes de cet aperçu sont des exemples.

Rapport d'interventionTom — S2M Consulting · modèle

Nettoyage, sécurisation et accélération

Site
Cabinet Démo Santé
Outil · thème
WordPress · Divi
Hébergement
o2switch
Date
JJ/MM/AAAA

01Constat

  • Symptômes relevés et date probable de l'infection
  • Origine identifiée, ou hypothèse la plus probable
  • Mesures de départ sur mobile
Exemple

Symptômes : 8 secondes de chargement ; publicités de casino sur mobile ; depuis environ un mois.
Hypothèse de départ : un code injecté qui trie les visiteurs.
Origine retenue : celle que le diagnostic a confirmée, preuves à l'appui.
Mesure de départ : 8,2 s de chargement sur mobile (exemple).

02Actions réalisées

  • Chaque action, datée, dans l'ordre
  • Versions avant et après : WordPress, thème, extensions, PHP
Exemple
QuandActionStatut
J1 · 09:00Copie de sécuritéFait
J1 · 09:30AnalyseFait
J1 · 11:30NettoyageFait
J1 · 13:30Fermeture de la porte d'entréeFait
J1 · 14:30Mises à jourFait
J1 · 16:00AccélérationFait
J2 · 09:00MesuresFait
J2 · 09:30RapportFait

03Fichiers nettoyés

  • Chemin, problème relevé, action : supprimé, remplacé ou corrigé
Exemple
FichierProblème relevéAction
wp-content/themes/divi/functions.phpCode ajouté, visible seulement sur mobileCorrigé
wp-content/uploads/2026/08/cache-img.phpFichier PHP dans le dossier des médiasSupprimé
wp-includes/load.phpDifférent de la version officielleRemplacé
Base de données · réglage du thèmeScript externe inséréNettoyé

04Accès changés

  • Comptes supprimés ou modifiés, accès renouvelés
  • Aucun mot de passe n'apparaît dans le rapport
Exemple
Compte ou accèsCe qui a été fait
Compte administrateur inconnuSupprimé après votre accord écrit
Vos comptes administrateursMots de passe renouvelés, double authentification
Accès hébergeur et SFTPMot de passe renouvelé
Clés de sécurité WordPressRégénérées : toutes les sessions sont fermées

05Recommandations

  • Ce qui reste à faire de votre côté
  • Rythme de mises à jour conseillé
Exemple
  • Mises à jour chaque mois — WordPress, thème et extensions : quelques minutes par mois, ou confiées à un prestataire.
  • Mots de passe uniques — Un mot de passe différent par compte, gardé dans un gestionnaire de mots de passe.
  • Licence du thème active — Pour continuer à recevoir les correctifs de sécurité de l'éditeur.
Cabinet Démo Santé · rapport d'interventionModèle · aperçu condensé

Checklist anti-réinfection

Ce qui empêche le problème de revenir. Cochez ce qui existe déjà chez vous : le reste est mis en place pendant l'intervention, ou expliqué par écrit.

0/9 déjà en place Cochez ce qui existe déjà : rien n'est enregistré.

Mis en place pendant l'intervention 6

De votre côté 3

Pour commencer, il me faut

  1. Un compte administrateur WordPress temporaire, supprimé à la fin
  2. L'accès à votre espace client o2switch (cPanel), ou un accès SFTP
  3. Votre accord écrit avant toute suppression de compte
  4. Si possible, l'accès à la Search Console du site

Tout se fait par écrit

Les accès se transmettent par un moyen sécurisé que je vous indique, jamais en clair par e-mail. Le compte temporaire est supprimé à la fin, et vous recevez la liste de tout ce qui a été modifié.

Comment ça se passerait chez vous

Tout se fait par écrit. Aucune suppression de compte sans votre accord.

  1. Accès et sauvegarde

    Vous m'envoyez les accès par un moyen sécurisé que je vous indique. Je fais une copie complète du site avant de toucher à quoi que ce soit.

    ≈ jour 1
  2. Diagnostic et nettoyage

    Les 12 contrôles, puis le nettoyage. Je vous écris ce que j'ai trouvé et je vous demande votre accord pour chaque suppression de compte.

    ≈ jours 1 à 2
  3. Mises à jour et accélération

    Mises à jour testées page par page, puis cache, compression et images allégées. Le site reste en ligne.

    ≈ jour 2
  4. Mesures et rapport

    Mesures avant/après sur mobile et rapport d'intervention écrit. Une semaine de surveillance incluse pour vérifier que rien ne revient.

    ≈ jour 3, puis 7 jours

Ce que vous recevez

  • Site nettoyé et faille d'entrée fermée : plus de contenu indésirable, sur mobile comme sur ordinateur
  • WordPress, thème, extensions et PHP à jour, testés page par page
  • Mesures avant/après sur mobile, dans les mêmes conditions
  • Rapport d'intervention écrit (PDF)
  • Sauvegardes complètes remises : avant et après
  • Checklist anti-réinfection en place