Aller au contenu
← Retour au blog
Développement15 OCTOBRE 2026 · 13 min de lecture

Site qui affiche des publicités ou contenus non désirés

Votre site affiche des pubs ou contenus indésirables ? Symptômes de piratage, causes, diagnostic et nettoyage pour PME à Lille et en Hauts-de-France.

JLJulien Larzillière
PDG du Groupe Tercium

Vous ouvrez votre site un matin et des bannières publicitaires apparaissent là où il n'y en avait jamais. Des liens vers des casinos, des produits pharmaceutiques douteux ou des pages en langue étrangère s'affichent entre vos paragraphes. Oui, un site qui affiche des publicités ou contenus non désirés est très probablement compromis — ou trafiqué par un plugin, un thème ou un accès admin détourné.

Ce n'est pas un bug de mise en page. C'est un signal d'alerte que nous traitons chaque mois chez Apresta auprès de TPE et PME en Métropole Européenne de Lille et dans les Hauts-de-France : site vitrine d'un artisan redirigé vers du spam SEO, boutique WooCommerce injectant du JavaScript malveillant, page d'accueil remplacée par du contenu pharma en Cyrillique.

Ce guide vous aide à identifier les symptômes, comprendre les causes, diagnostiquer rapidement et nettoyer — sans perdre des semaines à changer de thème au hasard.

Symptômes : reconnaître un site compromis ou trafiqué

Les manifestations varient selon le type d'infection, mais certains signaux reviennent systématiquement. Des pop-ups publicitaires apparaissent sur desktop ou mobile, parfois uniquement pour les visiteurs non connectés. Des liens cachés se glissent dans le footer, le header ou le code source vers des domaines suspects. Du contenu pharma, casino ou streaming illégal devient visible sur certaines pages — souvent en dehors des heures de bureau, quand l'admin n'est pas connecté.

Les redirections sont un autre marqueur fort : vous tapez votre URL, vous arrivez ailleurs, surtout depuis mobile ou Google. Dans le back-office, vous découvrez parfois de nouveaux utilisateurs admin que vous n'avez pas créés, ou des plugins et thèmes installés sans votre accord. Côté réputation, un avertissement Google « site dangereux » ou « contenu trompeur » dans Chrome ou Search Console, une baisse soudaine de trafic organique, ou des e-mails de clients signalant des comportements bizarres ou des antivirus qui bloquent votre domaine.

Astuce de diagnostic : ouvrez votre site en navigation privée, depuis un smartphone en 4G, et depuis un VPN étranger. Certaines infections ne s'affichent que pour les visiteurs — pas pour l'admin connecté.

Si le contenu indésirable disparaît quand vous êtes connecté en admin, suspectez une injection conditionnelle dans le thème ou un mu-plugin.

Causes fréquentes de publicités et contenus parasites

Piratage via CMS non mis à jour

WordPress, Joomla, PrestaShop, Drupal : core, plugin ou thème obsolète avec faille connue. Les bots exploitent en masse. Cause n°1 en PME — souvent combinée à des mises à jour repoussées par peur de « tout casser ».

Plugins ou thèmes « nulled » (piratés)

Versions crackées de thèmes premium ou plugins payants — backdoor incluse d'office. Économie de 59 €, coût réel : plusieurs milliers d'euros de nettoyage et de crédibilité perdue. Nous en retrouvons régulièrement chez des commerçants lillois qui ont voulu « faire des économies » sur un module SEO.

Identifiants admin compromis

Mot de passe faible, réutilisé, phishing réussi, brute force sur /wp-admin. L'attaquant installe un plugin de monétisation publicitaire ou modifie les fichiers du thème directement.

Failles sur mesure ou API ouverte

Application custom avec upload de fichier non filtré, injection SQL, endpoint d'administration exposé. Moins fréquent en volume, mais tout aussi grave pour les sites sur mesure mal durcis.

Compte hébergeur ou FTP volé

Accès panel OVH, Ionos, o2switch ou FTP partagé avec un ancien prestataire. Modification directe des fichiers sans passer par le CMS — difficile à détecter sans audit de fichiers.

Supply chain : plugin légitime compromis

Un plugin populaire mis à jour avec du code malveillant touche des milliers de sites simultanément. Surveillez les actualités sécurité de votre stack.

Injection via formulaire ou commentaire

Spams transformés en XSS stocké si les entrées ne sont pas sanitizées. Moins courant pour des pubs massives, mais possible sur des sites mal durcis.

Diagnostic : comment identifier la source de l'infection

Priorisez dans cet ordre. Dès J+0, mettez le site en maintenance si l'infection est active et visible. Vérifiez Search Console → Sécurité et problèmes d'indexation. Scannez avec un outil spécialisé : Sucuri SiteCheck, Wordfence, WPScan pour WordPress. Listez les utilisateurs admin et supprimez les comptes inconnus. Comparez la date de modification des fichiers core, thème et plugins avec la timeline de l'incident. Recherchez dans le code source les patterns suspects : eval(, base64_decode, gzinflate, iframes cachés, domaines .ru, .cn, .xyz.

Entre J+1 et J+5, menez un audit complet des plugins actifs (date d'installation, auteur, dernière mise à jour). Vérifiez .htaccess, wp-config.php, index.php, functions.php et les mu-plugins. Analysez les tâches cron et les redirections serveur. Consultez les logs d'accès : IP suspectes, POST vers des fichiers PHP inhabituels. Testez les redirections mobile vs desktop et referer Google vs direct.

Plus tard, revoyez les accès FTP, SFTP, SSH et panel hébergeur. Analysez la base de données : tables orphelines, options siteurl modifiées. Planifiez le durcissement post-nettoyage.

Ordre de grandeur diagnostic professionnel France 2026 : 500 à 1 800 € selon CMS et profondeur de l'infection.

Corrections : nettoyer un site infecté efficacement

Phase 1 — Confinement

Activez le mode maintenance ou une page statique temporaire. Changez tous les mots de passe : admin CMS, FTP, base de données, hébergeur, e-mail. Révoquez les sessions actives et tokens API. Si possible, restaurez une sauvegarde antérieure à l'infection — puis patchez immédiatement pour ne pas réintroduire la faille.

Phase 2 — Nettoyage

Supprimez plugins et thèmes inconnus ou nulled. Remplacez les fichiers core par des versions officielles propres. Comparez le thème actif avec la version originale du développeur. Nettoyez la base : options spam, utilisateurs fantômes, contenu injecté. Vérifiez qu'aucun fichier PHP ne traîne dans /uploads/.

Phase 3 — Demande de réexamen Google

Si Google a blacklisté votre site, corrigez entièrement l'infection avant de soumettre une demande de réexamen via Search Console. Délai habituel : 48 h à 2 semaines pour lever l'avertissement.

Une boutique e-commerce de Lille avait installé un plugin SEO piraté. Résultat : 200 pages de contenu casino indexées en 10 jours, trafic organique divisé par trois. Nettoyage en 3 jours, réexamen Google validé en 5 jours, récupération du trafic sur 6 semaines.

Phase 4 — Durcissement

Mettez à jour core, thèmes et plugins — voir sauvegardes et routine. Activez la 2FA sur tous les comptes admin. Installez un WAF ou pare-feu applicatif. Limitez les tentatives de connexion, masquez l'URL de login et planifiez des scans hebdomadaires automatisés.

Pour une approche complète : sécurité web 2026 et sécurité applications web OWASP si votre cas inclut des redirections ou du code injecté.

Prévention : ne plus revoir de pubs parasites sur votre site

La règle d'or : jamais de thème ou plugin nulled — budget officiel ou alternative open source reconnue. Appliquez des mises à jour mensuelles minimum, hebdomadaires si e-commerce actif. Utilisez des mots de passe uniques avec gestionnaire et 2FA obligatoire. Conservez des sauvegardes externes testées — pas uniquement chez l'hébergeur. Retirez les accès des anciens prestataires dès la fin de mission.

Mettez en place un monitoring : alertes si fichier core modifié ou nouvel admin créé. Choisissez un hébergement avec PHP à jour et isolation compte.

Budget maintenance sécurisée PME France 2026 : 80 à 250 €/mois (mises à jour, monitoring, support incident) — inférieur au coût d'un seul piratage.

Un site propre qui se réinfecte en 48 h signale une backdoor non supprimée ou un mot de passe encore compromis. Ne vous arrêtez pas à la première couche visible.

FAQ

Mon site affiche des pubs seulement sur mobile, est-ce un piratage ?

Souvent oui. Les attaquants ciblent les visiteurs mobiles ou ceux venant de Google pour prolonger l'infection sans alerter le propriétaire. Testez en navigation privée sur smartphone et inspectez le code source mobile.

Puis-je nettoyer moi-même un site WordPress infecté ?

Pour une infection légère (plugin malveillant récent, utilisateur admin inconnu), oui — avec sauvegarde et prudence. Pour une backdoor profonde, des redirections conditionnelles ou une blacklist Google, faites appel à un professionnel. Un nettoyage incomplet coûte plus cher à long terme.

Combien de temps faut-il pour récupérer après un piratage ?

Nettoyage technique : 2 à 7 jours. Levée avertissement Google : 2 à 14 jours. Récupération SEO complète : 4 à 12 semaines selon l'ampleur du contenu spam indexé.

Les publicités viennent-elles toujours d'un piratage ?

Non. Parfois un plugin légitime mal configuré affiche des annonces (rare), ou un ancien code AdSense oublié traîne dans le thème. Mais des pubs casino ou pharma sur un site B2B = piratage dans 95 % des cas.

Mon antivirus bloque mon propre site, que faire ?

Considérez-le comme confirmation d'infection. Ne demandez pas aux clients de « ignorer l'avertissement ». Mettez en maintenance, nettoyez, puis soumettez un réexamen aux moteurs et aux bases antivirus si nécessaire.

Et maintenant ?

Un site qui affiche des publicités ou contenus non désirés n'est pas une honte — c'est un incident technique courant, surtout sur CMS populaires mal entretenus. Ce qui coûte cher, c'est l'inaction : crédibilité perdue, SEO effondré, données clients en danger. Si vous êtes confronté à cette situation à Lille ou en Hauts-de-France, nous pouvons diagnostiquer et assainir votre site en urgence.

À lire ensuite

Dans la même veine.

On en parle en visio ?

Quelques questions rapides, puis on se fait une visio pour cadrer votre projet — sans engagement.

Devis gratuit en 1 min →