WordPress SEO の Ver.1.5.5以降、設定画面の「Title & Metas」でタイトルのセパレータを選択できるようになりました。予め用意されている中から選ぶのですが、選択肢にないセパレータを使いたい場合はどうすればよいのでしょう? 以前の記事と同じように日本語情報が見当たらなかったのでメモしておきます。
wpseo_separator_options フィルタをフック
以下のコードを functions.php に追加すれば、任意のセパレータを選択肢に追加することができます。この例では「=」(イコール)を追加しています。
add_filter( 'wpseo_separator_options', 'yoast_add_sep' ); function yoast_add_sep() { return array( '=' ); }
ハイライトした 4行目の array 内に記述することで、好きなセパレータを追加することができます。以降はプチ解説です。
選択式には理由がある
html ソースの title タグは、SEO 的に最重要データの一つです。利便性を犠牲にしてまで制限を設けてあるのは、それなりの理由があります。
WordPress SEO の公式ナレッジ ベースに以下の記載があります。
Why can’t I choose my own separator?
While we have considered adding an input field to have you choose your own separator, we’ve decided against this. We’ve tested a fair few separators, including ones that used to be popular like ★, ♥ and ✓ and we’ve found that Google doesn’t show these in the search results anymore. The set we’re letting you choose from has been tested and works in the search results at this point.
簡単に要約すると、セパレータとして人気のある ★ や、♥、✓ などの記号は、Google 先生の検索結果で正しく表示されないから、とのこと。なので、Yoast さんがテストして ちゃんと表示されるもののみ、選択肢として設定しているようです。SEO の観点からすると妥当(むしろ親切)な仕様ですね。
ちなみに
セパレータには複数文字の組み合わせも使えます。
add_filter( 'wpseo_separator_options', 'yoast_add_sep' ); function yoast_add_sep() { return array( '=', '(^_^)' ); }
とかとか。思った以上に和みます。意味はない。ただ やりたかっただけw むしろ検索結果に表示される貴重な文字数を浪費している点で SEO 的にはダメでしょう。でも遊び心は大切だと思うの。