cocoonフック調査~generate_canonical_urlの使い方と活用例
タナビーの高梨です。
WordPressのテーマ「Cocoon」には、テーマ改変なしでデザインや動作を拡張できる豊富なアクション・フィルターフックが用意されています。
分かる範囲で内容を調査したのでブログにまとめていこうと思います。
今回はcanonicalタグのURLを変更できるフィルターフック
👉generate_canonical_url
です
フックの概要
| フック名 | 発火タイミング |
|---|---|
| generate_canonical_url | 全てのページ描画時 |
発火条件
ページ描画時に無条件に1回発火します。
投稿ページ・固定ページ・アーカイブ・トップページなど、ページ種別に関係なく呼び出されます。
使いどころ
正直、通常運用での使いどころは思い浮かびません。
canonicalは基本的にcocoon側で自動生成されるURLが正しく、テーマ標準の挙動をそのまま使うのが通常は最適かと思います。
考える用途としては、
・同一コンテンツを複数URLで配信している構成
・微妙に似ているコンテンツがあって、片側に寄せたい場合
など、特殊な構成の場合に限られると思われます。
引数
$canonical_url:(string)canonicalタグのhrefに設定されるURL
apply_filters呼び出し元のソースコード
lib/seo.php
return apply_filters('generate_canonical_url', $canonical_url);
カスタマイズコード例
一律で全てのページに固定でcanonicalタグを設定する例です。
<link rel=”canonical” href=”https://hogehoge.com/hoge”>というタグになります。
function customize_generate_canonical_url ( $canonical_url ) {
$canonical_url = 'https://hogehoge.com/hoge';
return $canonical_url;
}
add_filter('generate_canonical_url', 'customize_generate_canonical_url' );
注意点
・無条件で発火するため、条件分岐なしで書き換えると全ページの canonical が固定化される
・canonical は SEO に直結する要素のため、誤設定は 検索評価に致命的な影響 を与える
・特殊構成以外では、基本的に触る必要がないと思われる
まとめ
・generate_canonical_url は、canonicalタグのURLを最終的に変更できるフィルターフック
・全ページ描画時に無条件で発火する
・自由度が高いが、通常サイトでは実用性は低い
・SEOへの影響が極めて大きいため、使用は慎重に行う必要がある