WordPressのmeta keywordsをカスタムフィールドで設定

スポンサーリンク
【お知らせ】 英単語を画像イメージで楽に暗記できる辞書サイトを作りました。英語学習中の方は、ぜひご利用ください!
画像付き英語辞書 Imagict | 英単語をイメージで暗記
【開発記録】
英単語を画像イメージで暗記できる英語辞書サービスを作って公開しました

WordPress で meta keywords を設定する方法としては、検索で調べるとプラグインを利用する方法が多く見つかります。が、自分は可能な限り、インストールするプラグインを増やさない方針で WordPress を運用しているので、WordPress での meta keywords の設定にはプラグインを使わずに以下の方法を用いています。

WordPress のカスタムフィールドの機能を使い、functions.php で meta keywords のタグを出力する関数を定義する方法です。ちなみに、プラグインを増やしたくないのは、WordPress 本体のアップデートで、対応が追いつかず動かなくなるプラグインが発生する… などの無駄のトラブルを避けたいため。

スポンサーリンク

WordPress 管理画面でカスタムフィールド設定

まず WordPress 管理画面から、カスタムフィールドを利用できるように設定します。

1. 新規投稿を追加のページ右上の表示オプションで、「カスタムフィールド」にチェックを入れる。

Screen Shot 2015-03-30 at 19.33.26

2. 記事入力フォームの下に、カスタムフィールドのフォームが表示される。名前に「keywords」を入力、初回は値が空だとエラーになるので「hoge」など適当なキーワードを入力して、「カスタムフィールドを追加」する。

Screen Shot 2015-03-30 at 20.08.12

3. 次回以降の記事投稿時には、カスタムフィールドの名前に選択メニューが表示されるので、設定した「keywords」を選択します。値には、meta keywords に設定するキーワードをカンマ区切りで入力する。下の例では、meta keywords に「wordpress,カスタムフィールド,設定」の3つのキーワードを入力しました。

Screen Shot 2015-03-30 at 20.51.26

投稿毎に、カスタムフィールドの名前の選択メニューで「keywords」を選択して、値に meta keywords で設定するキーワードをカンマ区切りで入力するようにします。

functions.php で meta keywords のタグを出力する関数を定義

続いて、WordPress テーマ内の functions.php に、カスタムフィールドに設定されたキーワードを取得して、meta keywords タグを出力する関数を定義します。以下のような関数です。

functions.php

ポイントは、

の行で、カスタムフィールドの情報を取得している部分です。記事ページでは、前半で設定した 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

これで、header.php をインクルードする single.php, category.php, index.php のテンプレートファイルで、meta keywords タグが出力されます。

関数リファレンス/get header – WordPress Codex 日本語版

後は、新規投稿時に keywords カスタムフィールドを忘れないように入力すればOKです。意外と簡単ですので、むやみにプラグインを増やしたくない方はお試しください!

スポンサーリンク
WordPress は人気ナンバーワンのブログ・ウェブサイトの管理ツールです。PHP を使えればカスタマイズできるので、ぜひトライされてみてください。
スポンサーリンク
 
Twitterを使っていますのでフォローお願いたします!ブログの更新情報もつぶやいてます^^
(英語学習用)

Leave Your Message!