Aller au contenu

Site WordPress redirigé vers un autre site : causes et solution

Équipe V-Shield7 min de lectureSite piraté
Illustration de l’article « Site WordPress redirigé vers un autre site : causes et solution » (Site piraté)

Quand un site WordPress envoie ses visiteurs vers un casino en ligne ou une fausse loterie, ce n'est jamais un bug : c'est un piratage. Le code malveillant détourne une partie de votre trafic, souvent sans que vous le voyiez vous-même, parce qu'il épargne les administrateurs connectés. Cet article explique où ce code se cache, comment le prouver avec des tests simples et comment le retirer proprement, sans perdre votre site ni votre référencement.

Pourquoi un site WordPress se met à rediriger

Tout site WordPress peut être touché, du blog d'artisan à la boutique en ligne. La redirection malveillante est l'une des infections les plus rentables pour un pirate : chaque visiteur détourné rapporte de l'argent via des régies publicitaires douteuses, des pages d'arnaque ou des installations forcées d'applications.

L'entrée se fait presque toujours par une faille connue : une extension ou un thème non mis à jour, un mot de passe administrateur réutilisé ailleurs, ou un accès FTP volé. Une fois dans la place, le pirate dépose un petit morceau de code qui décide, à chaque visite, s'il faut rediriger ou non.

C'est là que se trouve l'erreur la plus fréquente. Le propriétaire teste son site depuis son ordinateur, connecté à WordPress, et ne voit rien. Il conclut à une fausse alerte. Or la plupart de ces scripts sont conditionnels : ils ne s'activent que pour certains visiteurs, et jamais pour vous.

Les signes qui ne trompent pas

Les redirections malveillantes se reconnaissent à quelques comportements typiques :

  • Redirection uniquement sur mobile : le script lit le « user-agent », la carte d'identité que le navigateur envoie au serveur, et ne cible que les smartphones.
  • Redirection uniquement depuis Google : le visiteur qui tape votre adresse arrive normalement, celui qui clique sur un résultat de recherche est détourné. Le script lit le « referer », l'adresse de la page d'où vient le visiteur.
  • Une seule fois par visiteur : un cookie est posé après la première redirection, pour que la victime ne la revoie pas et ne se plaigne pas.
  • Jamais pour les administrateurs connectés : le code vérifie si vous êtes identifié avant d'agir.
  • Des clients qui vous signalent un « site bizarre » alors que tout vous semble normal.
  • Un avertissement dans Google ou dans Search Console, rubrique « Problèmes de sécurité ».

Si un seul de ces signes apparaît, partez du principe que le site est compromis jusqu'à preuve du contraire.

Cas concrets

Un plombier dont le site ne redirigeait que les mobiles

Un artisan reçoit l'appel d'une cliente qui a atterri sur une page de faux gain de smartphone en cherchant son numéro. Sur son ordinateur, tout est normal. Le code était injecté dans le fichier functions.php du thème : il ne s'activait que pour les navigateurs mobiles non connectés. Le thème n'avait pas été mis à jour depuis trois ans.

Une boutique en ligne détournée depuis Google

Une petite boutique de cosmétiques constate une chute des ventes alors que son trafic Google reste stable. Les visiteurs venant des résultats de recherche étaient redirigés par une règle ajoutée au fichier .htaccess, le fichier de configuration du serveur Apache. Les clients fidèles, qui tapaient directement l'adresse, ne voyaient rien.

Un cabinet d'architecte et son adresse modifiée en base

Après une connexion avec un mot de passe volé, le pirate a simplement changé l'adresse du site dans les réglages WordPress. Résultat : toutes les pages renvoyaient vers un domaine inconnu, y compris l'administration. Aucun fichier n'était modifié, tout se passait dans la base de données.

Une association et son script ajouté aux articles

Le site d'une association culturelle contenait une balise de script ajoutée à la fin de dizaines d'articles. Ce script chargeait du code depuis un domaine extérieur dont la destination changeait régulièrement. Une extension de formulaire vulnérable avait servi de porte d'entrée.

Méthode pas à pas pour supprimer la redirection

  1. Confirmer la redirection en dehors de votre session : ouvrez une fenêtre de navigation privée sur votre téléphone, en 4G, et cherchez votre site dans Google. Si vous savez utiliser un terminal, la commande curl simule un mobile qui arrive de Google et affiche la réponse du serveur sans suivre la redirection. Une réponse 301 ou 302 avec un en-tête Location vers un domaine inconnu est une preuve. Une redirection faite en JavaScript n'apparaîtra pas ainsi : il faudra alors lire le code source de la page.

    curl -sI -A "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X)" \
      -e "https://www.google.com/" https://www.votre-site.fr/
    
  2. Sauvegarder l'état actuel : copiez les fichiers et exportez la base, même infectés. Cette copie sert de preuve et de filet de sécurité si le nettoyage casse quelque chose. Stockez-la hors du serveur, et nommez-la clairement pour ne jamais la restaurer par erreur.

  3. Vérifier les adresses du site : dans Réglages, puis Général, les champs « Adresse web de WordPress » et « Adresse web du site » doivent contenir votre domaine. Avec WP-CLI, l'outil en ligne de commande de WordPress, deux commandes suffisent. Vérifiez aussi que wp-config.php ne définit pas de constantes WP_HOME ou WP_SITEURL pointant ailleurs.

    wp option get siteurl
    wp option get home
    
  4. Inspecter le fichier .htaccess : à la racine du site, cherchez des lignes RewriteCond qui testent HTTP_REFERER ou HTTP_USER_AGENT, suivies d'une RewriteRule vers un domaine externe. Un .htaccess WordPress standard ne contient guère que le bloc « BEGIN WordPress ». Pensez aussi aux fichiers .htaccess placés dans les sous-dossiers.

  5. Comparer le cœur et les extensions aux versions officielles : WordPress publie une empreinte de chacun de ses fichiers, et WP-CLI sait les comparer. Tout fichier signalé comme modifié ou ajouté doit être examiné. Le contrôle des extensions ne fonctionne que pour celles du répertoire officiel ; le thème doit être comparé à une copie neuve téléchargée chez son éditeur.

    wp core verify-checksums
    wp plugin verify-checksums --all
    
  6. Chercher le code injecté dans la base : les redirections en JavaScript se cachent souvent dans le contenu des articles ou dans les options. La commande suivante liste les occurrences sans rien modifier. Certains scripts sont légitimes, comme un outil de statistiques ou un chat : supprimez seulement ceux qui chargent un domaine que vous ne connaissez pas.

    wp db search "<script" --all-tables
    
  7. Fermer la porte d'entrée : mettez à jour WordPress, toutes les extensions et le thème, supprimez ceux qui sont inutilisés, puis changez tous les mots de passe : administrateurs, FTP ou SFTP, base de données, espace client de l'hébergeur. Régénérez aussi les clés de sécurité de wp-config.php, ce qui déconnecte toutes les sessions ouvertes, y compris celle du pirate.

  8. Contrôler le résultat et prévenir Google : refaites les tests de l'étape 1 sur plusieurs pages, à plusieurs heures d'intervalle. Si Search Console signalait un problème de sécurité, demandez un examen une fois le site propre, en décrivant ce que vous avez corrigé.

Bonnes pratiques

  • Testez votre site régulièrement en navigation privée, depuis un mobile, en passant par Google.
  • Activez les mises à jour automatiques des extensions de sécurité et des correctifs mineurs de WordPress.
  • Supprimez les extensions et thèmes désactivés : même inactifs, leurs fichiers restent exploitables.
  • Gardez des sauvegardes datées hors de votre hébergement, pour pouvoir revenir à un état sain connu.
  • Inscrivez votre site dans Google Search Console : c'est le premier canal d'alerte gratuit.

Erreurs fréquentes à éviter

  • Conclure à une fausse alerte parce que le site s'affiche bien sur votre ordinateur, connecté à l'administration.
  • Supprimer la ligne malveillante du .htaccess sans chercher la porte dérobée qui l'a écrite : elle reviendra dans les heures qui suivent.
  • Restaurer une sauvegarde sans vérifier sa date : elle peut contenir l'infection, endormie.
  • Oublier de changer les mots de passe après le nettoyage, alors que le pirate les connaît peut-être.

Comment V-Shield vous aide

V-Shield installe un agent sur votre WordPress qui scanne automatiquement les fichiers et la base : chaque jour en formule Essentiel, toutes les 6 heures en Pro et Business. Il repère les portes dérobées, les fichiers modifiés et les scripts injectés en base, puis permet de les nettoyer ou de les placer en quarantaine de façon réversible. Une alerte email vous prévient dès qu'un fichier change ou qu'un nouvel administrateur apparaît. Le détail des fonctionnalités présente aussi le firewall applicatif et les mises à jour avec retour arrière, et les tarifs démarrent à 69 € par an. Pour la méthode générale, lisez notre guide pour supprimer un malware WordPress, puis notre guide complet de sécurisation.

Votre site redirige vos visiteurs en ce moment ? Consultez notre page d'aide pour site WordPress piraté et agissez avant que Google ne vous déclasse.

Questions fréquentes

Pourquoi mon site WordPress redirige uniquement sur mobile ?

Le code malveillant lit l'identifiant du navigateur envoyé par le téléphone et ne s'active que pour les mobiles, souvent moins surveillés. Le propriétaire, qui consulte son site depuis un ordinateur en étant connecté à l'administration, ne voit rien. Il faut donc tester en navigation privée, depuis un smartphone, en passant par Google.

Changer de thème suffit-il à supprimer une redirection malveillante ?

Non. Le code peut se trouver dans le thème, mais aussi dans le fichier .htaccess, dans une extension, dans le cœur de WordPress ou dans la base de données. Changer de thème laisse en place la porte dérobée qui a servi à l'injecter. Il faut contrôler chaque emplacement et corriger la faille d'origine.

Mon site redirige même l'administration, comment y accéder ?

C'est souvent le signe que l'adresse du site a été modifiée dans la table des options. Vous pouvez la corriger avec WP-CLI, avec phpMyAdmin depuis l'espace de votre hébergeur, ou en définissant temporairement les constantes WP_HOME et WP_SITEURL dans wp-config.php. Changez ensuite immédiatement tous les mots de passe.

Google va-t-il pénaliser mon site à cause de la redirection ?

Google peut afficher un avertissement dans ses résultats ou dans Chrome si votre site redirige vers des pages dangereuses, ce qui fait chuter le trafic. Une fois le site nettoyé, une demande d'examen dans Search Console permet de lever l'avertissement. Plus la réaction est rapide, plus l'impact sur le référencement reste limité.

Combien de temps faut-il pour nettoyer une redirection WordPress ?

Pour un site simple, la recherche et la suppression du code prennent généralement de quelques heures à une journée, selon le nombre de fichiers et l'état des sauvegardes. Le plus long est souvent de trouver la porte d'entrée et de vérifier qu'aucune porte dérobée ne subsiste. Bâcler cette étape garantit presque toujours une réinfection.