きになるnet - きになるものを綴ったブログ

iPhone・MacからWordPressなどのWebに関することまで、きになるものを綴ったブログ

カスタマイズ

SEOに効果!WordPressでプラグインを使用せずに、title、description、keywordsを投稿ごとに換える方法

投稿日:2012.06.16 更新日:

meta-keywords

WordPressで、title、description、keywordsを投稿ごとに換えるには、プラグインの "All in OneSEO Pack"や、"HeadSpace2"が有名ですが…

個人的にはプラグイン同士のバッティングもありそうなので、なるべくプラグインを使わない方向でと思い…(といいながらたくさん入ってますがw)

カスタムフィールドと、抜粋を使用したコードになります。

仕様

Title

投稿 or ページのタイトル|管理画面で設定したブログのタイトル

Description

単独記事ページの場合
 抜粋がある場合は、その文字列を入れ
 抜粋がない場合は、投稿記事の始めから60文字を入れる

単独記事ページ以外の場合
 管理画面で設定したブログのキャッチフレーズを入れる

Keywords

単独記事ページの場合
 カスタムフィールドでの設定がある場合は、その文字列をそのまま入れ
 カスタムフィールドでの設定がなく、投稿にタグがある場合は、タグを入れ
 両方ともない場合は、デフォルトのキーワードを表示する

単独記事ページ以外の場合
 デフォルトのキーワードを表示する

サンプルコード

当サイトで使用しているサンプルコードになります。
header.phpの<head></head>の間に入れます。

<!-- keyword description -->
  <?php if ( is_single() ) { // 単独記事ページの場合 ?>
    <?php //meta keywordsの設定
    $custom_fields = get_post_custom();
    $posttags = get_the_tags();
    if ($keywords = isset($custom_fields['keywords'])) { ?>
    <meta name="keywords" content="<?php echo get_post_meta($post->ID,'keywords',true); ?>" />
    <?php }
    elseif($posttags) { ?>
    <meta name="keywords" content="<?php if ($posttags) {foreach($posttags as $tag)
    {echo $tag->name . ','; } } ?>"/>
    <?php }
    else { ?>
    <meta name="keywords" content="デフォルトキーワードを入れる" />
    <?php } ?>
    <?php if ($post->post_excerpt){ //meta descriptionの設定 抜粋あり
    ?>
    <meta name="description" content="<?php echo $post->post_excerpt; ?>" />
    <?php } else { //抜粋なし
    $summary = strip_tags($post->post_content);
    $summary = str_replace("\n", "", $summary);
    $summary = mb_substr($summary, 0, 60). "..."; ?>
    <meta name="description" content="<?php echo $summary; ?>" />
    <?php } ?>
  <?php } else { // 単独記事ページ以外の場合
    ?>
    <meta name="keywords" content="デフォルトキーワードを入れる," />
    <meta name="description" content="<?php bloginfo('description'); ?>" />
  <?php } ?>
  <!-- end keyword description -->

  <title><?php wp_title(''); ?><?php if(wp_title('', false)) { echo ' | '; } ?>
  <?php bloginfo('name'); ?></title>

設定画面

keywordsは、カスタムフィールドで「keywords」を新規登録し、値を入れ「カスタムフィールドを追加」を押すと追加されます。

meta-keywords

Descriptionは、抜粋に文字を追加するだけです。

meta-description
補足:抜粋には上記のように "404 Not Found" 等、" "を使用すると、Firefoxでソースを見るとおかしなことになっていましたので注意してください。Safariはきちんと表示されます。
ちなみに「」()は問題なかったです。

確認

単独投稿ページ

meta

単独投稿ページ以外

meta2

念の為に、いろいろと表示を確認してみて下さい。

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

mixhost
当ブログは、MixHostで運営中です!
おすすめ記事

-カスタマイズ
-

Copyright© きになるnet - きになるものを綴ったブログ , 2018 All Rights Reserved.