wordpressの投稿ページなどに、個別に meta データの description を挿入できるように、
ダッシュボードの投稿ページにカスタムフィールドを設けて、そこで個別に設定できるようにする方法を紹介します。
同じ meta データの keyword について
現在、Google検索、yahoo検索(yahoo検索はGoogleと同じクローラーを使用している)では、meta データの keyword は対象外となっているため、meta データの keyword は記述しても意味がありません。一方、meta データの description は、現在でも Googleクローラーの対象になっていますので、SEO 対策としては有効と言われています。
■functions.php
add_action('admin_menu', 'add_custom_fields'); add_action('save_post', 'save_custom_fields'); function add_custom_fields() { add_meta_box( 'my_sectionid', 'カスタムフィールド', 'my_custom_fields', 'post'); add_meta_box( 'my_sectionid', 'カスタムフィールド', 'my_custom_fields', 'page'); } function my_custom_fields() { global $post; $description = get_post_meta($post->ID,'description',true); echo "<p>ページの説明(description)160文字以内<br>"; echo "<input type='text' style='width: 600px;height: 40px;' name='description' value='" . esc_html($description) . "' maxlength='160' /></p>"; } // カスタムフィールドの値を保存 function save_custom_fields( $post_id ) { if(!empty($_POST['description'])) update_post_meta($post_id, 'description', $_POST['description'] ); else delete_post_meta($post_id, 'description'); } function my_description() { // カスタムフィールドの値を読み込む $custom = get_post_custom(); if(!empty( $custom['keywords'][0])) { $keywords = $custom['keywords'][0]; } if(!empty( $custom['description'][0])) { $description = $custom['description'][0]; } ?> <?php if(is_home()): // トップページ ?> <meta name='robots' content='index, follow' /> <meta name='description' content='トップページに表示させるdescription' /> <?php elseif(is_single()): // 記事ページ ?> <meta name='robots' content='index, follow' /> <meta name='description' content='<?php echo $description ?>'> <?php elseif(is_page()): // 固定ページ ?> <meta name='robots' content='index, follow' /> <meta name='description' content='<?php echo $description ?>'> <?php elseif (is_category()): // カテゴリーページ ?> <meta name='robots' content='index, follow' /> <meta name='description' content='<?php single_cat_title(); ?>の記事一覧' /> <?php elseif (is_tag()): // タグページ ?> <meta name='robots' content='noindex, follow' /> <meta name='description' content='<?php single_tag_title(“”, true); ?>の記事一覧' /> <?php elseif(is_404()): // 404ページ ?> <meta name='robots' content='noindex, follow' /> <title><?php echo 'お探しのページが見つかりませんでした'; ?></title> <?php else: // その他ページ ?> <meta name='robots' content='noindex, follow' /> <?php endif; ?> <?php }
各ページのテンプレートの head内、あるいは、header.php に下記記述を記載する。
<?php my_description() ?>