WordPress automatisch generierte „kanonische“ Links - Wie füge ich einen benutzerdefinierten URL -Parameter hinzu?

StackOverflow https://stackoverflow.com/questions/2430623

Frage

Weiß jemand, wie man die kanonischen Links von WordPress modifiziert, um einen benutzerdefinierten URL -Parameter hinzuzufügen?

Ich habe eine WordPress-Site mit einer Seite, auf der eine separate (Nicht-Wortpress-) Datenbank abfragt. Ich habe den URL -Parameter "Pubid" übergeben, um einzelne Bücher anzuzeigen, und es funktioniert in Ordnung.

Beispiel: http://www.uglyducklingpresse.org/catalog/browse/item/?pubid=63

Die einzelnen Buchseiten werden jedoch in Google nicht richtig angezeigt - der Pubid -Parameter wird ausgezogen.

Ich denke, dies liegt vielleicht daran, dass alle Elementseiten das gleiche automatische "Canonical" -R -Link -Tag in der Quelle haben - eines mit dem "Pubid" -Parameter ausgestattet.

Beispiel: link rel = 'Canonical' href = 'http://www.uglyducklingpresse.org/catalog/browse/item/'

Gibt es eine Möglichkeit, WordPress einen benutzerdefinierten URL -Parameter hinzuzufügen, damit der Parameter nicht durch Permalinks und die "kanonischen" Links ausgezogen werden?

Oder vielleicht gibt es eine andere Lösung ... Danke für irgendwelche Ideen!

War es hilfreich?

Lösung

Sie sollten in der Lage sein, WordPresss zu ersetzen rel_canonical Aktionsfunktion mit Ihrer eigenen Funktion, in der Sie (wenn Ihre Bedingungen erfüllt sind) einen kanonischen Link erstellen, der die Variable der Abfrage -Zeichenfolge anhängt. Das Folgende sollte funktionieren, obwohl Sie wahrscheinlich die Bedingungen ändern müssen, um Ihre Bedürfnisse zu erfüllen.

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();
    }
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top