【プラグイン不要】ウェブサイトのソースコードに “descriptionタグ” を設定する

※phpファイルを編集する際は、必ずバックアップを取ってから作業を開始して下さい。

WordPressで構築したウェブサイトに “descriptionタグ” を設定します。
プラグインは使いません。

All in One SEOなどを導入している場合は生成されている可能性もありますので、先にソースコードを確認して下さい。

<meta name="description" content="ウェブサイトの概要" />

キャッチフレーズを入力する

ダッシュボードの「設定」>「一般」でキャッチフレーズを入力します。
ここで入力した内容がトップページの descriptionタグの中に表示されます。
入力したら「変更を保存」。

【プラグイン不要】ウェブサイトのソースコードにdescriptionタグを設定する

投稿・固定ページは抜粋を使って設定する

トップページ以外の投稿・固定ページは「抜粋」に入力した内容を descriptionタグとして使用します。

【プラグイン不要】ウェブサイトのソースコードにdescriptionタグを設定する

固定ページには抜粋がないため、functions.php を編集して入力項目を作る必要があります。
こちらについては後述します。

投稿の編集ページの中に「抜粋」が表示されていない場合は、「表示オプション」をクリックします。
開いたウィンドウの中の「抜粋」にチェックを入れます。

【プラグイン不要】ウェブサイトのソースコードにdescriptionタグを設定する

編集ページに「抜粋」入力欄が表示されるので、入力して「公開」または「更新」。

固定ページで「抜粋」の機能を有効にする

functions.php に次のコードを追加します。
functions.php は、「外観」>「テーマエディター」から編集できますが、入力時にミスがあるとサイトが真っ白…
ということもあるので、FTPクライアントを使ってアップロードする方法をおすすめします。

add_post_type_support( 'page', 'excerpt' );

固定ページを開き、「抜粋」が追加されていることを確認し、入力を済ませて下さい。
投稿同様、項目が表示されていない場合は「表示オプション」を開いて「抜粋」にチェック。

descriptionタグとして表示する

header.php を開き、<head></head> 中に次のコードを追記します。

<?php if ( is_single()): ?>
<?php if ($post->post_excerpt){ ?>
    <meta name="description" content="<? echo $post->post_excerpt; ?>" />
    <?php } else {
        $summary = strip_tags($post->post_content);
        $summary = str_replace("\n", "", $summary);
        $summary = mb_substr($summary, 0, 120). "…"; ?>
        <meta name="description" content="<?php echo $summary; ?>" />
        <?php } ?>
<?php elseif ( is_home() || is_front_page() ): ?>
<meta name="description" content="<?php bloginfo('description'); ?>" />
<?php else: ?>
<meta name="description" content="<?php the_excerpt();?>" />
<?php endif; ?>

抜粋の前後に表示される<p>タグを消去する

ソースを確認すると、この段階で descriptionタグが追加されているのが確認できると思います。
前後に挿入されている<p>タグは不要なので、最後に<p>タグを削除するためのコードを追加します。

functions.php に次のコードを追記。

remove_filter('the_excerpt', 'wpautop');
remove_filter('term_description','wpautop');

トップページ、投稿・固定ページのソースコードの中に descriptionタグが追加されていることが確認できたら作業は完了です。