初心者でもプラグインを使わずにtitle,meta keyword,descriptionを投稿ごとに変える ※4.1未満対象[WordPress使えそうなスニペットシリーズ]

【2014.10.31】
公開から3年半たった今でも、かなりこの記事のニーズが高いようなので、イマイチなコードを書き直しました。

【2015.10.12】
公開から4年たちまして、WordPress4.1からはtitle要素はfunctions.phpで定義する方法が推奨と変わりました。
詳しくはこちら→『WordPress4.4以降でカスタムフィールドを使い、投稿ごとにタイトルタグを自由に編集する方法(フィルターフック使用)

投稿ごとにタイトルタグやmeta description,keywordを変更できる、言わずと知れたAll in One SEO Packプラグイン。
しかし個人的に、他のプラグインと干渉しそうであんまり使いたくないと思っております。

そこで、プラグインを使わずにカスタムフィールドで上記項目を設定できるようなコードを書きました。

仕様はこんな感じ

my_keyword

  • カスタムフィールドでの設定があればその文字列をそのまま利用
  • 何も設定しないとき→ テーマに記載のデフォルトキーワードを表示

my_description

  • カスタムフィールドでの設定があればその文字列をそのまま利用
  • 何も設定しないとき→ 管理画面で設定したブログの説明文*

my_title

  • カスタムフィールドでの設定があればその文字列をそのまま利用
  • 何も設定しないとき→ “投稿orページのタイトル|管理画面で設定したブログのタイトル*”

※ブログの説明文=管理画面の「設定>一般>キャッチフレーズ」で入力したもの
※ブログのタイトル=管理画面の「設定>一般>サイトのタイトル」で入力したもの

コピペで使えるコード

以下のタグを、header.phpの<head></head>内に貼りましょう。

軽く説明すると、指定したカスタムフィールドのキーの値があればそれを出力し、なければelse以下を出力するっていうコードです。

↓こっちはこの記事公開当初に書いてた古いコード。

初心者でもプラグインを使わずにtitle,meta_keyword,descriptionを投稿ごとに変える[WordPress使えそうなスニペットシリーズ]_マイペースクリエイターの覚え書き_-_2014-10-31_14.27

うーん。。。とりあえず今回(2014.10.31)は

  • フィールド名にプレフィックス付与(下記参照)
  • 出力(echo)時、最低限のセキュリティに配慮(サニタイズ用のコードで囲みました。誤ったHTMLタグとかスクリプトとかをフィールドに放り込まれても表示が崩れたりスクリプトを実行されたりしないように。)
  • カスタムフィールドの出力部分をシンプルに(WordPress3.5以上用の書き方)

の部分を修正しました。

投稿画面では・・・

カスタムフィールドの項目で、先程コードに書いた my_description/my_keywords/my_title 3つのキーを使います。

【2014.10.31】
フィールド名は、以前は「description/keywords/title」という、普通の単語で書いていましたが、他のプラグインや他人の書いたコードと干渉しやすかったりするので、「my_」というプレフィックスを付けています。(←コレ大事!自分の好きな文字列を一般名詞の頭につけて、できるだけユニークな名前になるようにしましょう。)


こんな感じで入力して、エントリー公開。

自分で使うならこれで充分だし、どっかへ納品するならCustom Field GUI Utility 3プラグインあたり併用するとステキかも。
【2014.10.31】
上記プラグインは2013年から更新されてないので、今だと国産プラグインならSmart Custom Fieldsをおすすめしておきます。

投稿のソースを確認してみよう!

ブラウザでソース確認して、さっき入力したとおりに表示できていれば大成功!

念のため、アーカイブページやカスタムフィールドを設定していない投稿で、デフォルトのものが正しく表示されているか確認してください。

あと、if(is_category())なり、if(is_single())なんかと組み合わせていくとよりいい感じになるかと思います。

追記

いつもいつもお世話になりっぱなしの@jim0912さんより、公開当時のコードに対していただいた補足。

その節はありがとうございました。。。

参考サイト

続・WordPressのカスタムフィールドを簡単に使う | ネットショップ立ち上げ備忘録

こっちはもっと凝ってるやつ。アイデア次第でいろいろできるね。
WordPressでエントリーごとにkeywordsとdescriptionを自動で設置する方法 « Blog × Play Under World

コメント / トラックバック 7 件

WordPressでのmeta nameの個別設定 | Road to Web Designer2011/12/30 13:08

[…] 参考リンク 初心者でもプラグインを使わずにtitle,meta keyword,descriptionを投稿ごとに変える WordPressで個別にdescriptions, keywordsを入れる方法 WordPress カスタムフィールドの使い方 カテゴリー: […]

テーマの作成 その1 | couji | couji2012/01/04 18:07

[…] 初心者でもプラグインを使わずにtitle,meta keyword,descriptionを投稿ごとに変える[WordPress使えそうなスニペットシリーズ] 外部 […]

:うさこ| 2012/03/02 15:37

plug-inを使用せずにmeta descriptionの設定ができるところが良いです!

作成しているサイトのメインインデックスのmeta descriptionは「管理画面で設定したブログの説明文」を表示させたいのですが、最新の投稿で設定した文章が入ってしまいます。

メインインデックスはカテゴリ分けした2つのブログの最新記事を表示させるようなページにしています。

どこをどう変更すればよいでしょうか?
phpは、ほとんど分かりません。

恐縮ですがお願いします。

:mypacecreator| 2012/03/02 23:25

>うさこ様
お読みくださいましてありがとうございます。

そして、大変恐縮なのですが、お尋ねいただいております「メインインデックスのmeta description」に関しては、本記事では扱っていない内容のため、ここではお答えできません。
(本記事の内容は、あくまで「各投稿のmeta」を好きに決めるためのもので、アーカイブやインデックスページでも使うにはif文で条件分岐をしてあげる必要があります)

カスタマイズ上の疑問でしたら、WordPressフォーラムの方へお越しください。→http://ja.forums.wordpress.org/

私もよく回答しておりますので、お力になれるかもしれません。

プラグインなしで!カスタムフィールドを使ってディスクリプションとキーワードを設定する方法。 | 趣深い.com2015/12/12 22:43

[…] 【参考にした記事】 初心者でもプラグインを使わずにtitle,meta keyword,descriptionを投稿ごとに変える[WordPress使えそうなスニペットシリーズ] […]

:中山莉那| 2016/10/31 18:58

初心者の私ですが
とても分かりやすくて参考にさせていただきました!

無事表示され満足にいく形になりました!
有難うございます

1点、titleですが、元々のtitleもソースにはきだされ
重複してしまうのですが
この元々のtitleをはきださないようにする方法はあるのでしょうか

初心者のコメントで申し訳ございません

:mypacecreator| 2016/10/31 21:10

>中山莉那さん

コメントありがとうございます。
カスタムフィールドで定義したタイトルと、元々のタイトルが両方吐き出されてしまうとのことですが、
このページで紹介している方法は古い方法(WordPress4.1未満対象)なので、現行のWordPressの仕様に沿ったテーマではそうなってしまうかもしれません。

WordPress4.1以降では、別の記事『WordPress4.4以降でカスタムフィールドを使い、投稿ごとにタイトルタグを自由に編集する方法(フィルターフック使用)』で記載されている方法を使用してください。
(もしくは拙作プラグイン mypace Custom Title Tagをご利用ください!)

コメントをどうぞ

メールアドレス (必須・公開されません)
コメント本文

  • スパム・迷惑コメント投稿防止のため、メールアドレスの入力が必須ですが、公開はされません。何卒ご協力のほどお願いいたします。
  • 投稿いただいたコメントは管理者のチェック後掲載しておりますので、即時には反映されません。
  • 記載内容に関する批判や間違いの指摘などはそのまま掲載する方針ですが、投稿内容と無関係な誹謗中傷、一方的な罵詈雑言の場合は削除させていただく可能性があります。
  • 通常業務の合間にコメントチェックをしておりますので、すべてのコメントへのお返事が出来ない場合もございます。あらかじめご了承ください。
  • 管理人個人への連絡等は、コメント欄ではなくコンタクトフォームをご利用ください。

書籍を執筆しました

WordPress 標準デザイン講座【Version 4.x対応】


翔泳社さんより、2015/02/27発売しました。2年経ちますのでもう賞味期限切れだとは思いますが、一応実績として...

寄付歓迎(・ω<)☆

当ブログの記事があなたの役に立ったら、気が向いたらでいいのでドネーションいただけると更新の励みになります!
気が向いた方はこちらから

ブログ内検索