Pack』が有名でとても便利ですが、多機能な代わりに設定を間違えると逆にサイトの検索順位を落としてしまう可能性があります。設定ミスを無くし動作を軽量化も見込めるように、カスタムフィールドを使用して記事ごとに『description』『keywords』『noindex』の設定を行える機能をテーマに追加しましょう。今回は、SEOに最適化させるために『description』『keywords』『noindex』をWordPressの各記事で設定するためのBOXを追加する方法についてご紹介します。CONTENTSディスクリプションを設定できるようにする投稿記事と固定ページで『キーワード』『noindex』を設定できるようにするadd_seo_custom_fieldsseo_custom_fieldssave_seo_custom_fieldsカスタムフィールドの値をheadタグに出力するための設定を行うnoindexを出力するための設定キーワードを出力する設定を行うmetaデータの出力を確認するディスクリプションを設定できるようにするディスクリプションを各記事ごとに設定するときは、WordPressの記事の投稿画面に標準で搭載されている抜粋欄を利用します。抜粋欄に入力した内容を出力するために、header.phpのheadタグ内に下記のソースを追加してください。』は、各記事の抜粋欄に記述した内容を出力するためのテンプレートタグです。抜粋欄に入力されている場合は抜粋欄の内容、抜粋欄に何も記述が無い場合は、記事の冒頭から110文字を自動で抜粋して出力します。『strip_tags()』も記述して、記事を出力した場合にhtmlタグが一緒に出力されないようにしておきましょう。Patch』プラグインを必ず有効化してください。headタグにmetaタグを追加したら、続いてWordPressの管理画面から抜粋欄を有効化します。オプション』の抜粋欄にチェックを入れてください。name="description"』としてheadタグ内に出力され、検索エンジンや記事一覧でも表示されるようになります。固定ページで抜粋欄が使えるようにする固定ページでも抜粋欄を使用したい場合は、functions.phpで有効化させる必要があります。functions.phpを編集する際は、必ずバックアップをとって慎重に編集してください。);上記のソースコードを追加するだけで、固定ページでも抜粋欄が使用できるようになります。必要に応じて有効化しておきましょう。投稿記事と固定ページで『キーワード』『noindex』を設定できるようにする記事ごとに『キーワード』と『noindex』の設定は、サイトをSEOに最適化させるために使えるようにしておきたい機能です。キーワードは、今のGoogleの検索ロジックでは効果が無いとも言われていますが、いつ仕様変更が行われるかわからないので、念のために設定しておきましょう。『キーワード』と『noindex』は投稿記事にのみに設定する場合が多いのですが、固定ページのお問合せページなどのあまりコンテンツがないページをnoindexに設定できるように、今回は投稿ページと固定ページの両方に設定します。投稿記事と固定ページで『キーワード』と『noindex』を設定するために、functions.phpで新しいカスタムフィールドを作成しましょう。functions.phpに追加したソースコードは下記の通りです。functions.phpを編集する際は、必ずバックアップをとって慎重に編集してください。'save_seo_custom_fields');追加するソースコードは以上です。3つの関数を組み合わせてカスタムフィールドを作成し、一番下の『add_action』で関数の動作を指定します。ここでは詳しい説明は省き、どのような設定をしているかのみをご説明します。add_seo_custom_fields投稿画面のエディタの下に、新しくカスタムフィールドの値を入力するための場所を追加する関数です。『add_meta_box()』で追加する場所の詳細を指定します。'出力する画面の種類');seo_custom_fieldsカスタムフィールドの値や値の入力欄に出力する値を設定するための関数です。追加するカスタムフィールドの名前や入力欄の大きさなどをここで指定します。save_seo_custom_fieldsカスタムフィールドの値を保存するための関数です。カスタムフィールドの中の値が、空の場合を除いて値を保存します。関数をfunctions.phpに保存すると、WordPress管理画面の投稿画面のエディタの下にSEO用の入力欄が出力されます。上記の入力欄が出力されていても、まだメタデータはheadタグに反映されません。カスタムフィールドの値をheadタグ内にメタデータとして出力するために設定を行いましょう。カスタムフィールドの値をheadタグに出力するための設定を行うカスタムフィールドの値をheadタグ内にメタデータとして出力するために、header.phpにmetaダグを設定していきます。noindexを出力するための設定noindexを出力する設定は、管理画面のチェックBOXを確認してチェックが入っている場合のみメタデータを出力するようにします。?>上記のコードをheadタグ内に記述することで、投稿ページや固定ページで設定したnoindex設定が反映されるようになります。?>』で条件を指定しないと、トップページやカテゴリページなどのインデックスページで、noindexしているページがループの先頭にきた場合にnoindexされてしまうので注意してください。Pack』などでも発生してしまう現象のようですが、それを回避するために投稿記事と固定ページのみで出力するように必ず投稿記事と固定ページの場合のみ出力するように条件を指定しておきましょう。キーワードを出力する設定を行うカスタムフィールドに値がある場合はその値をmetaキーワードとして出力し、未入力の場合は記事に設定されている'tag'をキーワードとして自動で出力するよう設定します。※すでに『meta_keywords』が設定してある場合は、重複を防ぐために元の記述と入れ替えてください。?>上記のソースコードを設定することでmetaキーワードが<head>内に出力されるようになります。タグを自動出力せずにカスタムフィールドに値が設定されている場合のみキーワードを出力する場合は、下記のソースコードでメタキーワードを呼び出すことができます。?>metaデータの出力を確認する設定が完了したら、カスタムフィールドの値がきちんとheadタグに反映されるかを値を入れて確認しましょう。適当なページの『キーワード』・『noindex』・『抜粋』に入力して記事を更新しブラウザで確認してください。metaデータはサイトの情報を出力する大切な部分ですので、必ず確認作業を忘れずに行なってください。ページのソースは、ブラウザ上で右クリック→『ページのソースを表示』より確認することができます。(chromeの場合)上の画像のように、SEO用のカスタムフィールドと抜粋欄に入力した内容が<head>内にきちんと出力されていれば設定完了です。サイトのmetaデータはSEOを考える上で必要不可欠なので、是非設定してみてください。metaデータを自由に設定し、より良いSEO対策を行いましょう。『7.SEOやSNS用にWordPressのheadタグを編集し内部的に最適化する』内のディスクリプションの出力方法を変更しました。『7.SEOやSNS用にWordPressのheadタグを編集し内部的に最適化する』内のコードを修正しました。2019年9月21日WordPressテーマ作成の記事の内容をリニューアルしました。