- 更新日: 2015年3月31日
- WordPress
WordPressでmeta descriptionを設定(プラグインなし版)
WordPress でプラグインを使わずに、meta description を設定する方法の一例を紹介します。当ブログで使っている方法で、昨日のエントリー WordPressのmeta keywordsをカスタムフィールドで設定 | EasyRamble とともに併用しています。
functions.php に、記事本文から meta description 用に文章を抜粋する方法です。
functions.php に meta description を出力する関数を定義
functions.php に以下のような関数を定義します。
functions.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
// get meta description from the content function get_meta_description() { global $post; $description = ""; if ( is_home() ) { // ホームでは、ブログの説明文を取得 $description = get_bloginfo( 'description' ); } elseif ( is_category() ) { // カテゴリーページでは、カテゴリーの説明文を取得 $description = category_description(); } elseif ( is_single() ) { if ($post->post_excerpt) { // 記事ページでは、記事本文から抜粋を取得 $description = $post->post_excerpt; } else { // post_excerpt で取れない時は、自力で記事の冒頭100文字を抜粋して取得 $description = strip_tags($post->post_content); $description = str_replace("\n", "", $description); $description = str_replace("\r", "", $description); $description = mb_substr($description, 0, 100) . "..."; } } else { ; } return $description; } // echo meta description tag function echo_meta_description_tag() { if ( is_home() || is_category() || is_single() ) { echo '<meta name="description" content="' . get_meta_description() . '" />' . "\n"; } } |
コメントを読めばやってることは分かるかと思います。
ヘッダー部のテンプレート header.php で meta description を出力
あとは、header.php の head タグ内で echo_meta_description_tag() 関数を呼び出してやるようにすれば良い。header.php は、single.php, category.php, index.php などから get_header() でインクルードされるテンプレートです。
header.php
1 |
<?php echo_meta_description_tag(); ?> |
これで、header.php をインクルードする single.php, category.php, index.php のテンプレートファイルで、meta description タグが出力されます。
以上の方法で、投稿した記事本文から自動で文章が抜粋されて、meta description に設定されます。記事を書く時の注意として、冒頭部分にエントリーの要約的な文章を100文字程度書くようにすると、良い感じに meta description が設定されます。最初の冒頭部分で何をするエントリーなのかを手短にまとめておくと、読者が読みやすい文章にもなるかと思います。
- WordPress の関連記事
- WordPressをTwitter Bootstrapでレスポンシブデザイン対応
- WordPressブログに更新日を表示
- WordPressにOGP設定・プラグインなしでFacebook/Twitter Cards対応
- WordPressでパンくずリスト・複数の親子カテゴリーを表示
- WordPressでプライベートな非公開ブログを運用
- BackWPupでエラー ERROR: Dropbox API: (35)
- ブログ・WordPress記事をFacebookに自動投稿するIFTTT設定
- RSS Graffitiが終了…代替にはIFTTTが使える
- WordPressで親カテゴリーに属する子カテゴリーの一覧を出力
- wp_list_categoriesでリンクなしで投稿数ゼロのカテゴリを表示 – WordPress
Leave Your Message!