WordPressのデフォルトテーマにはMETAタグの「keywords」と「description」 が設置されていないので、エントリーごとにdescriptionとkeywordsを自動で設置する方法を紹介します。

概要

  • エントリーページの「keywords」には、そのエントリーが属するカテゴリーを入れる。
  • エントリーにタグが付けられていた場合「keywords」にタグも入れる。
  • エントリーページ以外の「keywords」には、デフォルトのキーワードを入れておく。
  • エントリーページの「description」には、抜粋に自分で作成した要約がある場合はそれを入れる。
  • 抜粋に何もない場合「description」には、エントリーの始めから60文字分を入れる。
  • エントリーページ以外の「description」には、一般設定のキャッチフレーズ(このサイトの簡単な説明)を入れる。

設置方法

以下のコートをheader.phpに追加します。

<?php if ( is_single() ) { // エントリーページ ?>
<meta name="keywords" content="<?php foreach((get_the_category()) as $category) { echo $category->cat_name . ','; } $posttags = get_the_tags();if ($posttags) {foreach($posttags as $tag) {echo $tag->name . ','; } } ?>" />
<?php if ($post->post_excerpt){ // 抜粋あり
$summary = strip_tags($post->post_excerpt);
$summary = ereg_replace("(\r\n|\r|\n)", "", $summary); ?>
<meta name="description" content="<? echo $summary; ?>" />
<?php } else { // 抜粋なし
$content_summary = strip_tags($post->post_content);
$content_summary = ereg_replace("(\r\n|\r|\n)", "", $content_summary);
$content_summary = mb_substr($content_summary, 0, 60). "..."; ?>
<meta name="description" content="<?php echo $content_summary; ?>" />
<?php } ?>
<?php } else { // エントリーページ以外 ?>
<meta name="keywords" content="デフォルトのキーワードを入れておく" />
<meta name="description" content="<?php bloginfo('description'); ?>" />
<?php } ?> 

以上でエントリーごとにkeywordsとdescriptionが自動で設置されるようになります。
さらに「is_page()」や「is_category()」、「is_archive()」などの条件分岐タグ使えばより細かく設定することもできます。

今となってはSEO的にさほど重要視されなくなったkeywordとdescriptionですが、やはりないよりはあった方がいいですよね。

追記 – 2011年4月15日

mtb様のご指摘により、プログラミングに誤りが発覚いたしました。

一点ミス発見
誤 mb_substr($summary, 0, 60)
正 mb_substr($content_summary, 0, 60)

現在は訂正したものを掲載しております。

mtb様にはこの場をお借りしてお礼申し上げます。

Bookmark & Share

17 Responses to “WordPressでエントリーごとにkeywordsとdescriptionを自動で設置する方法”

  1. you2u より:

    WordPressでエントリーごとにkeywordsとdescriptionを自動で設置する方法 – http://bit.ly/bgPX8Q

  2. mtb より:

    助かりましたー

    一点ミス発見

    誤 mb_substr($summary, 0, 60)

    正 mb_substr($content_summary, 0, 60)

  3. YOU UCHIDA より:

    mtb様
    凡ミスしてますね… ご指摘ありがとうございます。
    訂正いたしました。

  4. […] ってるやつ。アイデア次第でいろいろできるね。 WordPressでエントリーごとにkeywordsとdescriptionを自動で設置する方法 « Blog × Play Under World カテゴリー: Web関連学習記録, WordPress|タグ: WordP […]

  5. […] WordPressでエントリーごとにkeywordsとdescriptionを自動で設置する方法 外部 […]

  6. ryun_ryun より:

    これは便利ですね!毎回記事毎に設定するのが面倒に思ってきていたところなので、ブログではこの方がいいですね。

  7. どらごん より:

    SEOのためにmeta要素を毎回設定するのは面倒だと思っていたところ、こちらのコードを参考にheader.phpに埋め込んでおけば楽になると思いました。現在、一からWPテーマを作っていて、初期から組み込んで置いた方がよいものは何かと模索していたので、とても参考になりました!
    ありがとうございます。

  8. […] 参考サイト : WordPressでエントリーごとにkeywordsとdescriptionを自動で設置する方法 | Play Under Wordl […]

  9. yuho より:

    早速使わせていただきました。

    感謝!

  10. […] 【参考にさせていただきましたリンク先】初心者でもプラグインを使わずにtitle,meta keyword,descriptionを投稿ごとに変える[WordPress使えそうなスニペットシリーズ] | マイペースクリエイターの覚え書きWordPressでエントリーごとにkeywordsとdescriptionを自動で設置する方法  | Blog ×… […]

  11. […] WordPressでエントリーごとにkeywordsとdescriptionを自動で設置する方法 ≪ Blog × Play Under World […]

  12. [wordpress] / “WordPressでエントリーごとにkeywordsとdescriptionを自動で設置する方法 « Blog × Play Under World” http://t.co/nkjHw5jX

  13. ひとみん より:

    WordPressでエントリーごとにkeywordsとdescriptionを自動で設置する方法 http://t.co/PBhFMyqqvc @you2uさんから

  14. […] WordPressでエントリーごとにkeywordsとdescriptionを自動で設置する方法 « Blog × Play Under World […]

  15. […] WordPressでエントリーごとにkeywordsとdescriptionを自動で設置する方法 « Blog × Play Under World […]

Leave a Reply

  • Categories