Retour au blog
WordPress Redirect Hack : Comment Detecter et Supprimer
SEO

WordPress Redirect Hack : Comment Detecter et Supprimer

Bastien Allain11 mars 202612 min de lecture
wordpressredirect-hackmalwaresecuritehtaccess

Le redirect hack WordPress est l'une des infections les plus frustrantes pour les proprietaires de sites. Votre site semble fonctionner normalement quand vous le visitez, mais vos utilisateurs sont rediriges vers des sites de phishing, de faux supports techniques ou des pages de spam pharmaceutique. En 2026, cette attaque reste parmi les plus repandues car elle est extremement rentable pour les pirates : chaque redirection genere du revenu via des reseaux publicitaires malveillants. Ce guide vous explique comment detecter, diagnostiquer et supprimer completement un redirect hack sur WordPress, etape par etape.

Detecter et supprimer un redirect hack WordPress (7 etapes)
  1. 1

    Tester le site en navigation priveeOuvrez votre site via une recherche Google en navigation privee pour confirmer la redirection.

  2. 2

    Inspecter le fichier .htaccessVerifiez que le .htaccess ne contient pas de RewriteRule pointant vers des URLs externes.

  3. 3

    Verifier wp-config.phpRecherchez du code eval, base64_decode ou des inclusions suspectes dans wp-config.php.

  4. 4

    Scanner la base de donneesCherchez des scripts JavaScript malveillants dans wp_posts et des options suspectes dans wp_options.

  5. 5

    Reinitialiser le .htaccess et nettoyer la BDDRemplacez le .htaccess par la version standard et supprimez le code malveillant de la base.

  6. 6

    Reinstaller les fichiers WordPressTelechargez une copie fraiche du core, des plugins et du theme actif depuis les sources officielles.

  7. 7

    Securiser le site contre les reinfectionsChangez tous les mots de passe, mettez tout a jour et installez un pare-feu applicatif.

Qu'est-ce qu'un Redirect Hack WordPress

Un redirect hack est une attaque ou du code malveillant est injecte dans votre site WordPress pour rediriger automatiquement les visiteurs vers des sites tiers. Contrairement a d'autres malwares, le redirect hack est souvent conditionnel : il ne se declenche que dans certaines circonstances, rendant sa detection particulierement difficile.

Les redirections malveillantes peuvent etre inserees dans :

  • Le fichier .htaccess a la racine du site
  • La base de donnees WordPress (tables wp_options, wp_posts)
  • Les fichiers PHP du coeur, des themes ou des plugins
  • Le fichier wp-config.php
  • Des fichiers JavaScript charges dynamiquement

Le but est toujours le meme : monetiser votre trafic en envoyant vos visiteurs vers des sites que le pirate controle ou qui lui versent une commission par visite.

Les Differents Types de Redirect Hack

Comprendre le type de redirection auquel vous faites face est essentiel pour savoir ou chercher le code malveillant. Voici les 4 types principaux rencontres en 2026.

1. Injection .htaccess

C'est le type le plus classique. Le pirate insere des regles de redirection directement dans le fichier .htaccess :

# Exemple de code malveillant dans .htaccess
RewriteEngine On
RewriteCond %{HTTP_REFERER} .*google.* [OR]
RewriteCond %{HTTP_REFERER} .*bing.* [OR]
RewriteCond %{HTTP_REFERER} .*facebook.*
RewriteRule ^(.*)$ http://site-malveillant.com/redirect [R=302,L]

Cette methode est particulierement vicieuse car elle ne redirige que les visiteurs venant de moteurs de recherche ou reseaux sociaux. Le proprietaire du site, qui accede directement via l'URL, ne voit rien d'anormal.

2. Redirection via wp_options

Le pirate modifie les valeurs siteurl ou home dans la table wp_options, ou insere du JavaScript malveillant dans des options comme widget_text :

-- Verifier les valeurs siteurl et home
SELECT option_name, option_value
FROM wp_options
WHERE option_name IN ('siteurl', 'home');

3. Redirection JavaScript

Du code JavaScript est injecte dans les fichiers du theme, les posts ou les widgets pour rediriger cote client :

// Code malveillant typique (obfusque)
var _0x4f2a = ["\x68\x74\x74\x70\x3A\x2F\x2F"];
if (document.referrer.indexOf("google") !== -1) {
    window.location.href = _0x4f2a[0] + "site-malveillant.com";
}

4. Redirection Conditionnelle via PHP

C'est la forme la plus avancee. Du code PHP est injecte dans wp-config.php, functions.php ou wp-load.php et execute des redirections basees sur des conditions complexes :

// Exemple de redirect conditionnel
if (isset($_SERVER['HTTP_USER_AGENT']) &&
    preg_match('/bot|crawl|spider/i', $_SERVER['HTTP_USER_AGENT']) === 0 &&
    !isset($_COOKIE['visited'])) {
    setcookie('visited', '1', time() + 86400);
    header('Location: http://site-malveillant.com');
    exit();
}

Ce code ne redirige que les vrais visiteurs (pas les bots), et seulement une fois (grace au cookie), ce qui rend la detection par les outils automatises quasi impossible.

Comment Diagnostiquer un Redirect Hack

Avant de nettoyer, vous devez confirmer l'infection et identifier sa source. Voici un processus de diagnostic methodique.

Etape 1 : Tester en Navigation Privee

Ouvrez une fenetre de navigation privee et accedez a votre site via une recherche Google (tapez site:votresite.com dans Google, puis cliquez sur un resultat). Beaucoup de redirect hacks ne se declenchent que lorsque le visiteur arrive depuis un moteur de recherche.

Etape 2 : Simuler Differents User-Agents

Utilisez curl pour tester avec differents referrers et user-agents :

# Tester avec un referrer Google
curl -L -A "Mozilla/5.0" -e "https://www.google.com" https://votresite.com -o /dev/null -w "%{url_effective}
"
 
# Tester avec un user-agent mobile
curl -L -A "Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X)" https://votresite.com -o /dev/null -w "%{url_effective}
"
 
# Comparer avec un acces direct
curl -L -A "Mozilla/5.0" https://votresite.com -o /dev/null -w "%{url_effective}
"

Si l'URL effective differe entre les tests, vous avez confirme une redirection conditionnelle.

Etape 3 : Inspecter le Fichier .htaccess

# Afficher le contenu complet du .htaccess
cat /chemin/vers/wordpress/.htaccess
 
# Chercher des regles de redirection suspectes
grep -n "RewriteRule\|Redirect\|RedirectMatch" /chemin/vers/wordpress/.htaccess

Un fichier .htaccess WordPress standard ne contient que ces regles :

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Toute autre regle RewriteRule avec une URL externe est suspecte.

Etape 4 : Verifier wp-config.php

# Chercher des inclusions ou redirections suspectes dans wp-config.php
head -20 /chemin/vers/wordpress/wp-config.php
 
# Chercher du code encode en base64
grep -n "base64_decode\|eval(\|gzinflate\|str_rot13" /chemin/vers/wordpress/wp-config.php

Le code malveillant est souvent insere avant la premiere ligne <?php ou apres le require_once ABSPATH . 'wp-settings.php';.

Etape 5 : Scanner la Base de Donnees

-- Chercher des scripts JavaScript malveillants dans les posts
SELECT ID, post_title
FROM wp_posts
WHERE post_content LIKE '%<script%'
AND post_content LIKE '%location%';
 
-- Chercher des redirections dans wp_options
SELECT option_name, LEFT(option_value, 200) AS value_preview
FROM wp_options
WHERE option_value LIKE '%eval(%'
OR option_value LIKE '%base64_decode%'
OR option_value LIKE '%document.location%'
OR option_value LIKE '%window.location%';
 
-- Verifier les URLs du site
SELECT option_name, option_value
FROM wp_options
WHERE option_name IN ('siteurl', 'home', 'template', 'stylesheet');

Etape 6 : Utiliser des Outils de Scan

OutilTypeCommande / URL
WP-CLILigne de commandewp plugin verify-checksums --all
WordfencePlugin WordPressScan depuis le dashboard
Sucuri SiteCheckEn lignesitecheck.sucuri.net
Google Safe BrowsingEn lignetransparencyreport.google.com
VirusTotalEn lignevirustotal.com

Nettoyage Etape par Etape

Une fois le diagnostic effectue, procedez au nettoyage dans cet ordre precis. Faites une sauvegarde complete avant de commencer.

Etape 1 : Reinitialiser le Fichier .htaccess

# Sauvegarder le .htaccess infecte pour analyse
cp /chemin/vers/wordpress/.htaccess /chemin/vers/wordpress/.htaccess.infected
 
# Remplacer par un .htaccess propre
cat > /chemin/vers/wordpress/.htaccess << 'EOF'
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
EOF
 
# Proteger le fichier en ecriture
chmod 444 /chemin/vers/wordpress/.htaccess

Verifiez aussi les fichiers .htaccess dans les sous-repertoires (/wp-content/, /wp-includes/, /wp-admin/). Certains hacks creent des fichiers .htaccess supplementaires :

# Trouver tous les fichiers .htaccess
find /chemin/vers/wordpress/ -name ".htaccess" -type f

Etape 2 : Nettoyer la Base de Donnees

-- Supprimer les scripts malveillants des posts
-- ATTENTION : executez d'abord un SELECT pour verifier
UPDATE wp_posts
SET post_content = REGEXP_REPLACE(
    post_content,
    '<script[^>]*>.*?(location|redirect|window\\.location).*?</script>',
    ''
)
WHERE post_content REGEXP '<script[^>]*>.*?(location|redirect|window\\.location).*?</script>';
 
-- Supprimer les options suspectes ajoutees par le malware
DELETE FROM wp_options
WHERE option_name NOT IN (
    SELECT option_name FROM (
        SELECT option_name FROM wp_options
        WHERE autoload = 'yes'
        AND option_name LIKE 'wp_%'
    ) AS safe_options
)
AND option_name LIKE '%redirect%'
AND option_name NOT LIKE '%woocommerce%';
 
-- Verifier les comptes administrateurs non autorises
SELECT ID, user_login, user_email, user_registered
FROM wp_users
WHERE ID IN (
    SELECT user_id FROM wp_usermeta
    WHERE meta_key = 'wp_capabilities'
    AND meta_value LIKE '%administrator%'
);

Supprimez tout compte administrateur que vous ne reconnaissez pas.

Etape 3 : Nettoyer les Fichiers PHP

# Chercher du code malveillant dans tous les fichiers PHP
grep -rn "eval(base64_decode\|eval(gzinflate\|eval(str_rot13" /chemin/vers/wordpress/
 
# Chercher des fichiers PHP dans le dossier uploads (ne devrait pas exister)
find /chemin/vers/wordpress/wp-content/uploads/ -name "*.php" -type f
 
# Reinstaller le coeur de WordPress
wp core download --force --skip-content
 
# Reinstaller tous les plugins depuis wordpress.org
wp plugin install $(wp plugin list --field=name --format=csv) --force
 
# Reinstaller le theme actif
wp theme install $(wp theme list --status=active --field=name) --force

Etape 4 : Nettoyer wp-config.php

# Comparer avec un wp-config-sample.php propre
diff /chemin/vers/wordpress/wp-config.php /chemin/vers/wordpress/wp-config-sample.php
 
# Verifier les premieres et dernieres lignes (endroits preferes des hackers)
head -5 /chemin/vers/wordpress/wp-config.php
tail -5 /chemin/vers/wordpress/wp-config.php

Regenerez vos cles de securite en obtenant de nouvelles valeurs depuis https://api.wordpress.org/secret-key/1.1/salt/ et remplacez les anciennes dans wp-config.php.

Etape 5 : Verifier les Cron Jobs

Les pirates utilisent parfois les taches cron WordPress pour reinjecter le code malveillant :

# Lister toutes les taches cron
wp cron event list
 
# Chercher des taches suspectes
wp cron event list --fields=hook,next_run,recurrence | grep -v "wp_\|woocommerce_\|action_scheduler"

Supprimez toute tache cron que vous ne reconnaissez pas.

Verification Post-Nettoyage

Apres le nettoyage, une verification rigoureuse est indispensable.

Checklist de Verification

  • Tester la navigation : visitez le site en navigation privee, depuis Google, avec differents appareils
  • Scanner a nouveau : lancez un scan complet avec Wordfence ou Sucuri
  • Verifier Google Search Console : consultez le rapport "Problemes de securite"
  • Tester les redirections avec curl (voir commandes plus haut)
  • Monitorer les logs pendant 48 heures :
# Surveiller les acces suspects dans les logs Apache
tail -f /var/log/apache2/access.log | grep -i "eval\|base64\|redirect"
 
# Surveiller les modifications de fichiers
find /chemin/vers/wordpress/ -name "*.php" -newer /chemin/vers/wordpress/wp-config.php -type f

Demander une Revision a Google

Si votre site a ete signale comme dangereux par Google Safe Browsing, consultez notre guide detaille pour sortir de la blacklist Google :

  1. Connectez-vous a Google Search Console
  2. Allez dans Securite et actions manuelles > Problemes de securite
  3. Cliquez sur Demander un examen apres avoir nettoye le site
  4. Decrivez les actions de nettoyage effectuees

Le delai de revision est generalement de 24 a 72 heures.

Pourquoi le Redirect Hack Revient Souvent

Le redirect hack est tristement celebre pour sa tendance a revenir. Voici pourquoi :

Cause de ReinfectionExplication
Backdoor non supprimeeUn fichier backdoor cache permet au pirate de reinjecter le code
Comptes admin piratesUn compte administrateur cree par le pirate reste actif
Plugin vulnerableLe plugin qui a servi de porte d'entree n'a pas ete mis a jour
Cron job malveillantUne tache planifiee reinjecte le code a intervalles reguliers
Fichiers dans /uploads/Des scripts PHP caches dans le dossier uploads sont ignores

Prevention : Empecher les Redirect Hacks

La meilleure defense est une approche preventive multicouche.

Securiser le Fichier .htaccess

# Proteger .htaccess contre les modifications
<Files .htaccess>
    Order Allow,Deny
    Deny from all
</Files>

Definissez les permissions du fichier a 444 (lecture seule) :

chmod 444 /chemin/vers/wordpress/.htaccess

Durcir wp-config.php

Ajoutez ces constantes pour limiter les capacites d'edition :

// Desactiver l'editeur de fichiers dans le dashboard
define('DISALLOW_FILE_EDIT', true);
 
// Forcer SSL pour l'administration
define('FORCE_SSL_ADMIN', true);
 
// Limiter les revisions de posts
define('WP_POST_REVISIONS', 5);

Mettre en Place un Monitoring

SolutionFonctionFrequence
WordfenceScan de fichiers et malwareQuotidien
SucuriFirewall WAF + monitoringTemps reel
UptimeRobotMonitoring de redirectionToutes les 5 min
Google Search ConsoleAlertes de securiteContinu

Bonnes Pratiques de Securite

  • Mettez a jour WordPress, themes et plugins des qu'un patch est disponible, ou confiez cette tache a un service de maintenance WordPress
  • Utilisez des mots de passe forts et l'authentification a deux facteurs (2FA)
  • Limitez le nombre de comptes administrateurs au strict necessaire
  • Supprimez les plugins et themes inactifs
  • Choisissez un hebergeur securise avec isolation des comptes
  • Effectuez des sauvegardes regulieres et testez leur restauration

Quand Faire Appel a un Expert

Si le redirect hack revient apres plusieurs tentatives de nettoyage, ou si vous n'etes pas a l'aise avec les manipulations techniques, il est judicieux de confier le nettoyage a un professionnel. Un expert en suppression de malware WordPress dispose des outils et de l'experience pour identifier toutes les couches de l'infection, y compris les backdoors les plus sophistiquees.

Conclusion

Le redirect hack WordPress est une infection serieuse qui peut detruire votre reputation, votre SEO et la confiance de vos visiteurs. La cle du nettoyage est la methode : diagnostiquer le type de redirection, nettoyer systematiquement chaque couche (fichiers, base de donnees, cron jobs), verifier l'absence de backdoors et mettre en place des mesures preventives solides.

N'attendez pas que Google signale votre site comme dangereux. Si vous observez des signes de piratage ou si vous avez besoin d'un guide complet de nettoyage, agissez immediatement. Et restez informe des malwares WordPress courants en 2026 pour mieux vous proteger.

Articles similaires