WordPressで構築したWEBサイトでSEO対策として、プラグイン「All in One SEO Pack」(以下、aioseop)を使った際に、「mata keywords」や「meta description」が出力されたりされなかったり安定しないケースがあります。
そこで、メタ情報を出力するプラグイン「Meta Manager」の方が「mata keywords/description」を取り扱う上では、使い勝手が良く、aioseopを止めて Meta Manager をご利用の方は多いことのように思います。
筆者も両方のプラグインを使ったことがあるのですが、一長一短で、なかでもaioseopのページタイトルのフォーマット機能は、諦めても諦めきれない優秀な機能です。
SEO対策的にも筆者の感覚的なものですが、下記のように思います(優先順位が高い順)。
- ページタイトル
- meta description
- mata keywords (これってSEO的に今でも有効なのか疑問ですが・・)
ということで、お客様のホームページ制作の際には、ページタイトルに強いaioseopの方をよく使います。でもってことで、下記の記事のとおり「functions.php」にコードを追加すれば、安定的に「meta description」が出力されるようになりました(と思ってるだけ?)。
WordPress SEO対策 All in One SEO Packのdescription出力の改造
とこれで全てうまく思い通りと思ったのですが、やっぱりaioseopでも「mata keywords」を「Meta Manager」のように対応して見たかったので、あまり検証はしておりませんがご紹介します。
出力されたりされなかったりの状況は、下記のとおりです。
- 投稿(post)の個別ページ(single)のキーワードの生成は、カテゴリ・タグを使って綺麗に生成されてるっぽいので弄らない。投稿(post)の一覧も含めて。
- どうも、投稿者別、カテゴリ毎、日付毎のアーカイブ等が出力されていない。
- 固定ページは、ページ毎の編集画面でキーワードを個別に入れてあげないと出力されない。
- aioseop設定画面の「ホームキーワード(コンマで区切る):」は本当にホームのキーワードで、ホームを固定ページ(page)にして、そのページの編集画面でキーワードを個別に入れてあげても、「ホームキーワード(コンマで区切る):」を上書きしてくれない。
なので、考え方として、下記としました。
- aioseop設定画面の「ホームキーワード(コンマで区切る):」を「Meta Manager」の共通キーワード的な扱いに変える。
- 投稿者別、カテゴリ毎、日付毎のアーカイブ等、キーワードが出力されてないものは上記1の「共通キーワード」をセットしてあげる。
- 固定ページは、ページ毎の編集画面でキーワードを個別に入れない場合のみ、「共通キーワード」を出力する。
- 筆者は、トップページをよく固定ページ(page)にするので、その場合のみのロジックを考える(手抜き)。
- トップページの固定ページの編集画面でキーワードを個別に入れたら、それが出力されるようにする。
aioseop設定は下記のようにしました。「ホームキーワード(コンマで区切る):」に共通キーワード的なものを設定しています。
その上で、「mata description」のときのように、フィルターフックを利用して「meta keywords」を加工してあげます。
/** * plugin all in one seo pack の keyword出力改造 */ function my_keywords($keywords) { global $post; global $aioseop_options; if ( get_option( 'show_on_front' ) == 'page' && $post->ID == get_option( 'page_on_front' ) && get_post_meta( $post->ID, "_aioseop_keywords", true )) { $keywords = esc_html(stripcslashes(get_post_meta( $post->ID, "_aioseop_keywords", true ) ) ); } else { $keywords = trim($keywords); if (!$keywords) { $keywords = esc_html(trim($aioseop_options['aiosp_home_keywords'])); } } return $keywords; } add_filter('aioseop_keywords', 'my_keywords');
このコードと「WordPress SEO対策 All in One SEO Packのdescription出力の改造」で、「All in One SEO Pack」でも「Meta Manager」のように安定した出力ができるようになったと思います。
「All in One SEO Pack」のフィルターフックをうまく利用して、皆様もSEO対策してみては如何でしょうか。
※全固定ページ(page)・投稿(post)に「キーワード」と「description」を入力しろよというツッコミはなしでお願いします。