WordPress自動生成された「Canonical」リンク - カスタムURLパラメーターを追加する方法は?

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

質問

WordPress Canonicalリンクを変更してカスタムURLパラメーターを追加する方法を知っている人はいますか?

別の(ワードプレス以外の)データベースを照会するページを備えたWordPressサイトがあります。 URLパラメーター「pubid」を渡して個々の本を表示しましたが、それは正常に機能しています。

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

しかし、個々の本のページはGoogleに適切に表示されていません - ?pubidパラメーターは剥がれています。

これは、すべてのアイテムページがソースに同じ自動生成された「標準的な」URLリンクタグを持っているからだと思います。

例:link rel = 'canonical' href = 'http://www.uglyducklingpresse.org/catalog/browse/item/'

Permalinksと「Canonical」リンクによってパラメーターが剥がされないように、おそらく.htaccessをWordPressにカスタムURLパラメーターを追加する方法はありますか?

または、別の解決策があるかもしれません...アイデアをありがとう!

役に立ちましたか?

解決

WordPressのものを交換できるはずです rel_canonical (条件が満たされているとき)あなた自身の関数を使用してアクション関数クエリ文字列変数を追加する標準リンクを作成します。以下は機能するはずですが、ニーズを満たすために条件を変更する必要があるでしょう。

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();
    }
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top