Google検索の順位を上げる目的でメタキーワードを追加する必要はありません。Googleはmeta keywordsをインデックス登録にもランキングにも使用しないと説明しています。根拠はGoogle公式のメタタグ資料で確認できます。
この記事は、既存システムや納品仕様でmeta keywordsの出力が必要な場合に、WordPressの投稿・固定ページへ入力欄を追加する実装例です。SEO効果の判断はメタキーワードとGoogleの公式見解、検索向けの改善は内部SEOのチェック手順へ進んでください。
実装前にページのソースでkeywordsタグを検索します。SEOプラグインやテーマがすでに出力している場合は、以下のコードを重ねて追加せず、既存の入力機能を使ってください。この例は他のプラグインによる出力を自動停止しません。
WordPressでメタキーワード(meta keyword)を追加するカスタマイズ
変更前のコードを保存し、検証環境で試します。子テーマのfunctions.phpかCode Snippetsのどちらか一方に設置し、両方へ同じコードを追加しないでください。親テーマの直接編集は避けます。
functions.php
投稿記事と固定記事にカスタムフィールドを作成して、headに出力しています。
// メタキーワード用のカスタムフィールドを追加
add_action('add_meta_boxes', 'add_meta_keywords_custom_fields');
add_action('save_post', 'save_meta_keywords_custom_fields');
// 投稿とページの編集画面にメタキーワード用のカスタムフィールドを追加
function add_meta_keywords_custom_fields() {
add_meta_box('meta_keywords_for_posts', 'メタキーワード', 'display_meta_keywords_input', 'post');
add_meta_box('meta_keywords_for_pages', 'メタキーワード', 'display_meta_keywords_input', 'page');
}
// メタキーワード入力フィールドを表示
function display_meta_keywords_input() {
global $post;
$meta_keywords_value = get_post_meta($post->ID, 'meta_keywords', true);
wp_nonce_field('meta_keywords_nonce_action', 'meta_keywords_nonce');
echo '<p>メタキーワードはカンマ「,」で区切ります。</p>';
echo '<input style="width:100%" type="text" name="meta_keywords" value="' . esc_attr($meta_keywords_value) . '" />';
}
// 投稿の保存時にメタキーワードを保存
function save_meta_keywords_custom_fields($post_id) {
if (!isset($_POST['meta_keywords_nonce']) || !is_string($_POST['meta_keywords_nonce']) || !wp_verify_nonce(sanitize_text_field(wp_unslash($_POST['meta_keywords_nonce'])), 'meta_keywords_nonce_action')) {
return $post_id;
}
if (!in_array(get_post_type($post_id), array('post', 'page'), true) || wp_is_post_revision($post_id)) {
return $post_id;
}
if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
return $post_id;
}
if (!current_user_can('edit_post', $post_id)) {
return $post_id;
}
if (isset($_POST['meta_keywords']) && is_string($_POST['meta_keywords'])) {
$meta_keywords_data = sanitize_text_field(wp_unslash($_POST['meta_keywords']));
update_post_meta($post_id, 'meta_keywords', wp_slash($meta_keywords_data));
}
}
// メタキーワードを<head>タグ内に出力
function output_meta_keywords_in_head() {
if (is_single() || is_page()) {
$meta_keywords = get_post_meta(get_the_ID(), 'meta_keywords', true);
if (is_string($meta_keywords) && $meta_keywords !== '') {
echo '<meta name="keywords" content="' . esc_attr($meta_keywords) . '">' . "\n";
}
}
}
add_action('wp_head', 'output_meta_keywords_in_head');
保存処理では、文字列だけを受け取り、WordPressが付けたスラッシュを外してから入力を整えます。メタ値の保存時にもスラッシュが除去されるため、保存APIへ渡す直前にwp_slashを適用しています。仕様はwp_unslashとupdate_post_metaの公式資料を参照してください。
導入先の検証環境では、日本語・カンマ・引用符・バックスラッシュを含む入力を保存し、再読み込み後の入力欄とページソースを照合してください。空欄で保存したときはタグが出ないことも確認します。PHP 8.2で構文確認と18ケースの単体テストを行いました。権限不足・不正な入力型・自動保存・引用符やバックスラッシュ・空文字などを確認しています。さらに2026年9月30日、独立したWordPress 7.1.2・PHP 8.2.29環境で、ブロックエディターから投稿と固定ページを保存し、再表示した入力値・データベース・公開HTMLが一致することを確認しました。文字列「0」は出力され、空欄ではタグが出ません。不正なnonce・配列入力・権限不足では既存値を保持し、コード停止後はタグ出力が止まることも確認しています。導入先のテーマやプラグインとの併用は、別途確認してください。
2026年10月11日に、登録フックをWordPress公式のadd_meta_boxの例に合わせてadd_meta_boxesへ変更しました。この1行の変更後に、上記の保存・出力テストを実環境で再実行したわけではありません。導入先では入力欄の表示と保存を確認してください。
メタキーワードの入力と確認
編集画面の「メタキーワード」欄に入力します。ブロックエディターで入力欄が見えない場合は、下部の「メタボックス(Meta Boxes)」を開きます。領域が狭いときは境界を上へ広げてください。検証環境では、境界にフォーカスして上矢印キーでも広げられました。
複数入れたい時は「,」カンマで区切ります。


記事の公開後、ソースを見てみると、しっかり出力されているのが確認できます。

まとめ
このコードを停止する場合は、追加したスニペットを無効化するか、子テーマから今回の追加部分だけを戻します。保存済みのカスタムフィールド値は、コードを止めてもデータベースに残ります。
出力できたこととSEO効果は別です。Google検索対策だけが目的なら、このカスタマイズの導入・入力作業を増やさず、記事の内容と内部リンクの改善を優先してください。
ほかの記事はWordPressの使い方まとめからご覧いただけます。
よくある質問:WordPressにメタキーワード(meta keyword)を追加するとき
メタキーワードを追加すれば、検索順位は上がりますか?
上がりません。記事では、Google検索の順位を上げる目的でメタキーワードを追加する必要はなく、Googleはmeta keywordsをインデックス登録にもランキングにも使用しないと説明しています。根拠はGoogle公式のメタタグ資料で確認できます。
どんなときに、この実装を使いますか?
記事では、既存システムや納品仕様でmeta keywordsの出力が必要な場合に、WordPressの投稿・固定ページへ入力欄を追加する実装例です。
実装する前に、何を確認しますか?
記事では、実装前にページのソースでkeywordsタグを検索します。SEOプラグインやテーマがすでに出力している場合は、コードを重ねて追加せず、既存の入力機能を使います。この例は他のプラグインによる出力を自動停止しません。
コードは、どこに設置しますか?
記事では、子テーマのfunctions.phpかCode Snippetsのどちらか一方に設置し、両方へ同じコードを追加しません。親テーマの直接編集は避けます。変更前のコードを保存し、検証環境で試します。Code Snippetsを使っても、コードの不具合がなくなるわけではないため、有効化前に停止・復旧方法を確認します。
メタキーワードは、どこに入力しますか?
記事では、編集画面の「メタキーワード」欄に入力し、複数入れたい時はカンマで区切ります。ブロックエディターで入力欄が見えない場合は、下部の「メタボックス(Meta Boxes)」を開きます。領域が狭いときは境界を上へ広げます。
保存や出力は、どこまで確認されていますか?
記事では、導入先の検証環境で投稿と固定ページを保存し、再表示した入力値・データベース・公開HTMLが一致することを確認しています。文字列「0」は出力され、空欄ではタグが出ません。不正なnonce・配列入力・権限不足では既存値を保持します。ただし、2026年10月11日に登録フックをWordPress公式の例に合わせて変更した後は、保存・出力テストを実環境で再実行していないため、導入先では入力欄の表示と保存を確認します。
コードを停止すると、入力した値はどうなりますか?
記事では、このコードを停止する場合は、追加したスニペットを無効化するか、子テーマから今回の追加部分だけを戻します。保存済みのカスタムフィールド値は、コードを止めてもデータベースに残ります。
出力できれば、SEO効果もありますか?
ありません。記事では、出力できたこととSEO効果は別です。Google検索対策だけが目的なら、このカスタマイズの導入・入力作業を増やさず、記事の内容と内部リンクの改善を優先するよう案内しています。



