- 更新日: 2015年3月30日
- WordPress
WordPressのmeta keywordsをカスタムフィールドで設定
WordPress で meta keywords を設定する方法としては、検索で調べるとプラグインを利用する方法が多く見つかります。が、自分は可能な限り、インストールするプラグインを増やさない方針で WordPress を運用しているので、WordPress での meta keywords の設定にはプラグインを使わずに以下の方法を用いています。
WordPress のカスタムフィールドの機能を使い、functions.php で meta keywords のタグを出力する関数を定義する方法です。ちなみに、プラグインを増やしたくないのは、WordPress 本体のアップデートで、対応が追いつかず動かなくなるプラグインが発生する… などの無駄のトラブルを避けたいため。
WordPress 管理画面でカスタムフィールド設定
まず WordPress 管理画面から、カスタムフィールドを利用できるように設定します。
1. 新規投稿を追加のページ右上の表示オプションで、「カスタムフィールド」にチェックを入れる。
2. 記事入力フォームの下に、カスタムフィールドのフォームが表示される。名前に「keywords」を入力、初回は値が空だとエラーになるので「hoge」など適当なキーワードを入力して、「カスタムフィールドを追加」する。
3. 次回以降の記事投稿時には、カスタムフィールドの名前に選択メニューが表示されるので、設定した「keywords」を選択します。値には、meta keywords に設定するキーワードをカンマ区切りで入力する。下の例では、meta keywords に「wordpress,カスタムフィールド,設定」の3つのキーワードを入力しました。
投稿毎に、カスタムフィールドの名前の選択メニューで「keywords」を選択して、値に meta keywords で設定するキーワードをカンマ区切りで入力するようにします。
functions.php で meta keywords のタグを出力する関数を定義
続いて、WordPress テーマ内の functions.php に、カスタムフィールドに設定されたキーワードを取得して、meta keywords タグを出力する関数を定義します。以下のような関数です。
functions.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
// meta keywords 用のキーワードを取得する関数 function get_meta_keywords() { global $post; $keywords = ""; if ( is_home() ) { // ホームでは meta keywords にブログ名を設定 $keywords = get_bloginfo( 'name' ); } elseif ( is_category() ) { // カテゴリーページではカテゴリー名を設定 $keywords = single_cat_title('', false); } elseif ( is_single() ) { $custom_fields = get_post_custom(); if ( isset($custom_fields['keywords']) ) { // 記事ページでは keywords カスタムフィールドの値を取得して設定 $keywords = get_post_meta($post->ID, 'keywords', true); } else { // keywords カスタムフィールドが空ならカテゴリー名を設定 foreach( get_the_category() as $index => $category ) { if ($index >= 1) { $keywords .= ','; } $keywords .= $category->cat_name; } } } else { ; } return $keywords; } // meta keywords のタグを出力する関数 function echo_meta_keywords_tag() { if ( is_home() || is_category() || is_single() ) { echo '<meta name="keywords" content="' . get_meta_keywords() . '" />' . "\n"; } } |
ポイントは、
1 |
$keywords = get_post_meta($post->ID, 'keywords', true); |
の行で、カスタムフィールドの情報を取得している部分です。記事ページでは、前半で設定した keywords カスタムフィールドの値から、meta keywords に設定するキーワードを取得しています。
関数リファレンス/get post custom – WordPress Codex 日本語版
ヘッダー部のテンプレート header.php で meta keywords タグを出力
最後に、WordPress テーマ内の meta タグを出力する header.php 内に echo_meta_description_tag() を記述します。header.php は、single.php, category.php, index.php などから get_header() でインクルードされるテンプレートです。
header.php
1 |
<?php echo_meta_description_tag(); ?> |
これで、header.php をインクルードする single.php, category.php, index.php のテンプレートファイルで、meta keywords タグが出力されます。
関数リファレンス/get header – WordPress Codex 日本語版
後は、新規投稿時に keywords カスタムフィールドを忘れないように入力すればOKです。意外と簡単ですので、むやみにプラグインを増やしたくない方はお試しください!
- WordPress の関連記事
- WordPressをTwitter Bootstrapでレスポンシブデザイン対応
- WordPressブログに更新日を表示
- WordPressにOGP設定・プラグインなしでFacebook/Twitter Cards対応
- WordPressでパンくずリスト・複数の親子カテゴリーを表示
- WordPressでプライベートな非公開ブログを運用
- BackWPupでエラー ERROR: Dropbox API: (35)
- ブログ・WordPress記事をFacebookに自動投稿するIFTTT設定
- RSS Graffitiが終了…代替にはIFTTTが使える
- WordPressで親カテゴリーに属する子カテゴリーの一覧を出力
- wp_list_categoriesでリンクなしで投稿数ゼロのカテゴリを表示 – WordPress
Leave Your Message!