J'essaie de faire du référencement sur mon site Web, j'utilise les outils Google Webmaster, mais je reçois cette erreur tout le temps:
La liaison canonique spécifiée pointe sur une page différente
J'ai déjà ajouté la ligne de code suivante dans l'en-tête d'un fichier global:
<link rel="canonical" href="<? php echo DEFAULT_CANONICAL; ?>" >
J'ai également ajouté une redirection de 301 à mon domaine actuel dans mon .htaccess, j'ai tout essayé, mais l'erreur continue d'apparaître.
La valeur default_canonical est https://domain_of_my_website/.$_SERVER['REQUEST_URI'])
Que puis-je faire dans ce cas?
<link rel="canonical" href="<? php echo DEFAULT_CANONICAL; ?>" >
Il y a une erreur dans la balise d'ouverture PHP qui aboutira à cette erreur et sans aucun retour d'information aux commentaires, nous ne pouvons que supposer que cela soit écrit dans votre code actuel - pas simplement une faute de frappe dans votre question?
L'erreur espace In <? php
(Il devrait être <?php
) Ne parviendrez pas à obtenir le code PHP interprété comme PHP et sera envoyé au navigateur comme écrit - comme HTML malformé! Si tel est le cas, "la liaison canonique spécifiée" "" pointe-t-elle bien ", il ne pointera aucune page valide!
Vous devez supprimer l'Erroneous Espace Dans l'étiquette d'ouverture PHP ou utilisez des balises d'écho courte à la place (pour ce type de Templing):
<link rel="canonical" href="<?=DEFAULT_CANONICAL?>" >
La valeur de défaut_canonical est
https://domain_of_my_website/.$_SERVER['REQUEST_URI'])
Toutefois, comme indiqué dans les commentaires, vous ne pouvez pas construire de manière fiable l'URL canonique en utilisant simplement une variable $_SERVER['REQUEST_URI']
De PHP sans analyse supplémentaire. Cette variable contient des paramètres de chaîne de requête pouvant être manipulés par l'utilisateur - Modification de l'URL canonique dans le HTML et potentiellement rendre votre site vulnérable aux attaques XSS.