Wordpress généré automatiquement des liens « canoniques » - comment ajouter un paramètre d'URL personnalisé?
-
19-09-2019 - |
Question
Quelqu'un sait comment modifier les liens canoniques Wordpress pour ajouter un paramètre d'URL personnalisé?
J'ai un site Wordpress avec une page qui interroge une base de données séparée (non Wordpress). J'ai passé le paramètre d'URL « pubID » pour afficher des livres individuels et il fonctionne OK.
Exemple: http://www.uglyducklingpresse.org/catalog/ parcourir / article /? pubID = 63
Mais les pages du livre individuelles ne sont pas affichés correctement dans Google -. Le paramètre pubID est dépouillé
Je pense que peut-être c'est parce que toutes les pages d'articles ont la même auto-généré balise link URL « canonique » dans la source -. Un avec le paramètre « pubID » dépouillé
Exemple: link rel = href = ' 'canonique' http: //www.uglyducklingpresse .org / catalogue / browse / article / '
Est-il possible de modifier peut-être .htaccess d'ajouter un paramètre d'URL personnalisé pour Wordpress, de sorte que le paramètre est dépouillé par permaliens et les liens « canoniques »?
Ou peut-être il y a une autre solution ... Merci pour toutes les idées!
La solution
Vous devriez être en mesure de remplacer la fonction d'action rel_canonical
de Wordpress avec votre propre fonction dans laquelle (lorsque vos conditions se rencontrent) vous créez un lien canonique annexant la variable de chaîne de requête. Ce qui suit devrait fonctionner, bien que vous aurez probablement besoin de changer les conditions pour répondre à vos besoins.
remove_action('wp_head', 'rel_canonical');
add_action('wp_head', 'my_rel_canonical');
function my_rel_canonical() {
if (is_page('item') && isset($_GET['pubID'])) {
global $post;
$link = get_permalink($post->ID) . '?pubID=' . absint($_GET['pubID']);
echo "<link rel='canonical' href='$link' />\n";
} else {
rel_canonical();
}
}