Wordpress generate automaticamente link “canonici” - Come aggiungere un parametro URL personalizzato?
-
19-09-2019 - |
Domanda
Qualcuno sa come modificare i link canonici Wordpress per aggiungere un parametro URL personalizzato?
Ho un sito Wordpress con una pagina che interroga un database separato (non Wordpress). Ho superato il parametro URL "PubID" per visualizzare singoli libri e sta funzionando OK.
Esempio: http://www.uglyducklingpresse.org/catalog/ sfogliare / item /? pubid = 63
Ma le singole pagine del libro non vengono visualizzati correttamente in Google -?. Il parametro pubid è spogliato fuori
Penso che forse questo è perché tutte le pagine di articoli hanno lo stesso tag link URL "canonical" auto-generata nella fonte -. Uno con il parametro "PubID" spogliato
Esempio: link rel = 'canonical' href = ' http: //www.uglyducklingpresse .org / catalogo / sfogliare / item / '
C'è un modo per modificare forse .htaccess aggiungere un parametro URL personalizzato per Wordpress, in modo che il parametro non viene spogliato dai permalink e le "canoniche" link?
O forse c'è un'altra soluzione ... Grazie per tutte le idee!
Soluzione
Si dovrebbe essere in grado di sostituire la funzione azione rel_canonical
di Wordpress con la propria funzione in cui (quando le vostre condizioni sono meet) si crea un link canonico aggiungendo la variabile stringa di query. Il seguente dovrebbe funzionare, anche se avrete probabilmente bisogno di cambiare le condizioni per soddisfare le vostre esigenze.
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();
}
}