Google et visibilité · 8 min · publié le 11 novembre 2024

Balises canonical détournées après un piratage

Vos pages déclarent une canonical vers un domaine tiers. Google consolide là-bas : titres, extraits, parfois le trafic. Corrigez en base ou dans le plugin SEO, puis demandez une réindexation des templates — pas un simple « vider le cache ».

Réponse directe

Vos pages pointent vers un domaine tiers. Google consolide là-bas. Corrigez en base ou dans le SEO plugin, puis demandez une réindexation des templates.

canonical piratée balise canonical hack seo canonical malware

Ce que Google fait d'une canonical

La balise `rel=canonical` dit quelle URL est la version à indexer. Si elle pointe vers `https://autre-domaine.shop/votre-slug`, Google tend à fusionner chez eux. Vous gardez parfois une ligne dans l'index, parfois plus rien.

Ce n'est pas une redirection visiteurs. Vous voyez encore votre page. D'où le diagnostic tardif : « le site marche, Google non ». L'inspection d'URL montre la canonical servie à Googlebot.

Une action manuelle n'est pas obligatoire. Le dégât est silencieux. On le découvre quand les titres SERP changent ou que le trafic organique glisse. Trafic effondré.

Ouvrez trois pages (home, un article, un produit) en affichage source, déconnecté, et cherchez `rel="canonical"`. Deux balises dans le même HTML : Google improvise, souvent mal. Une seule vers un tiers : consolidation ailleurs. Aucune : ce n'est pas ce dossier, passez à noindex / robots / action manuelle. Cette lecture de trente secondes évite de « vider toutes les canonicals » — le geste qui crée de la duplication interne et un second incident SEO par-dessus le piratage.

Où la balise est écrite

Yoast, Rank Math, SEOPress : réglage global « domaine canonique » ou champ par contenu. Une option `wp_options` réécrite (`wpseo`, `rank-math-options`) suffit. L'admin affiche encore votre URL si le plugin lit un cache.

Le thème : `header.php`, `functions.php`, un `echo` dans `wp_head`. Un thème nulled le fait dès l'installation. Thème nulled.

Un mu-plugin ou un PHP dans `uploads` accroché à `wp_head`. `wp-config.php` rarement, sauf `define` bizarre repris par un must-use. Grepez `rel="canonical"` et `rel='canonical'` sur tout le compte.

  • Options des plugins SEO (base).
  • header.php / wp_head.
  • mu-plugins et includes uploads.

Plugin SEO vs thème vs header PHP

Deux canonicals dans le même HTML : Google improvise. Après un hack, on trouve souvent le plugin correct et une seconde balise injectée. Il faut retirer l'injection, pas désinstaller Yoast « au cas où ».

Elementor et les builders ajoutent parfois une canonical dans le document JSON. Ouvrez une page type, cherchez le domaine tiers en brut.

WooCommerce : canonicals produit / catégorie via le plugin SEO. Un SKU dont la canonical pointe vers un dropshipping externe est un signal shopping en plus. Merchant.

Canonical vers HTTP ou un sous-domaine sale

Moins spectaculaire qu'un casino : `http://` alors que le site est en HTTPS, ou `www` vs nu inversé. Google consolide mal, le trafic se disperse. Vérifiez que ce n'est pas un vieux réglage — mais une modification datée le jour du hack n'est pas un vieux réglage.

Un sous-domaine `amp.`, `m.`, `cdn.` oublié, encore infecté, déclaré canonical : vous envoyez l'autorité vers la zone sale. Nettoyez ce host ou retirez la balise. Les addon domains du panel font la même chose.

Corriger sans casser les vraies règles

Les pagination, les facettes, les produits à variantes ont des canonicals légitimes. On ne « vide pas toutes les canonicals ». On remet l'URL HTTPS de la page, ou la règle métier d'avant l'incident (captures, staging, zip de thème).

Sauvegardez `wp_options` avant une passe SQL. Une sérialisation PHP cassée (longueur de chaîne) met le site KO. Si vous n'êtes pas à l'aise, arrêtez-vous. Supprimer un malware WP.

Purgez cache plugin, CDN, object cache. La canonical est dans le HTML : un cache « tout le site » la ressert sale.

Réindexation des templates

Demandez l'indexation de la home, d'un article, d'une catégorie, d'un produit — les types, pas les 8 000 URL. Google recrawlera les autres. Un retrait de préfixe n'est utile que si les URL elles-mêmes étaient du spam.

Les rich results peuvent disparaître le temps que le HTML redevienne cohérent (schema + canonical). Rich results perdues.

hreflang et Open Graph dans la même passe

Les `hreflang` vers un domaine tiers font le même travail de consolidation linguistique. Les `og:url` trompent Facebook/LinkedIn plus que Google, mais se cherchent au même grep.

Un pack « multilingual pirate » ajoute des x-default vers un shop asiatique. Relisez l'en-tête complet dans l'inspection, pas seulement la canonical.

Contrôle à J+7

Réinspectez trois URL. Canonical = vous. Si le domaine tiers revient, une backdoor réécrit l'option ou le header. Backdoor PHP.

Page cas WordPress. Constat : créer un espace.

À J+7, si la canonical tierce revient, quelqu'un (ou un cron, ou un mu-plugin) réécrit l'option ou le `wp_head`. Ce n'est plus du SEO, c'est une porte. Backdoor PHP. Page cas WordPress piraté. Pour corriger base + thème sans casser la sérialisation, créez un espace.

Grep, options sérialisées, et ce qu'il ne faut pas SQL-er

Grepez `rel="canonical"`, `rel='canonical'` et le domaine tiers sur tout le compte. Un hit dans un mu-plugin clôt. Un hit seulement dans `wp_options` (longueur de chaîne dans une sérialisation PHP) : sauvegardez la table, corrigez la longueur si vous éditez à la main, ou passez par l'UI du plugin SEO. Une sérialisation cassée = écran blanc.

WooCommerce : une canonical produit vers un dropshipping externe est aussi un signal Shopping. Merchant. Elementor : le domaine peut être dans le JSON, invisible dans header.php.

À J+7, trois inspections. Si le tiers revient, ce n'est plus une balise oubliée : une porte réécrit. Backdoor PHP.

Récap : ce qui suffit pour la semaine

Trois pages inspectées, une seule canonical HTTPS vers vous, pas de seconde balise, pas de hreflang vers un tiers. Cache et CDN purgés. Option SEO relue, mu-plugins listés. Si le domaine étranger revient à J+7, cessez de « corriger la balise » : cherchez qui l'écrit. WordPress piraté.

N'effacez pas toutes les canonicals « pour simplifier ». Pagination et variantes produit en ont besoin. Rank Math et Yoast ensemble : n'en gardez qu'un. Bing lit le même HTML. Créer un espace si la sérialisation vous bloque.

  • Home, article, produit : inspection.
  • Grep du domaine tiers.
  • Purge cache.
  • Contrôle J+7.

Questions fréquentes

Je retire toutes les balises canonical « pour simplifier » ?

+
Non. Vous créez de la duplication interne. Remettez les vôtres, ôtez celles vers un tiers. On remet les vôtres, on n'efface pas le mécanisme.

Google ignore parfois la canonical. Je ne fais rien ?

+
Il l'ignore quand elle est absurde. Un domaine casino ne l'est pas à ses yeux : ça ressemble à une consigne. Corrigez. Il l'écoute assez pour vous faire du mal. Corrigez.

Rank Math et Yoast en même temps, laquelle corriger ?

+
Les deux jusqu'à n'en garder qu'un. Deux plugins SEO, c'est déjà un risque de double balise, hack ou pas. Deux plugins SEO, c'est déjà un risque de double balise.

La canonical pointe vers une URL 404 chez moi. Conséquence ?

+
Google se débrouille mal. Remettez l'URL 200 de la page. Si c'est un vestige de spam, 410 la cible et corrigez la source. 410 la cible spam, corrigez la source de la balise.

Ça concerne aussi Bing ?

+
Oui. Même HTML. Bing. Même HTML côté Bing. Voir Bing Webmaster.
À lire ensuite
Inspection d'URL Rich results perdues Liens sortants spam WordPress piraté Guide WordPress Déclarer mon site