WordPressテーマHabakiriに記事更新時間を表示させ、timeタグをGoogle検索結果に反映させる

関連記事

WordPressテーマHabakiriは更新日時がデフォルト非表示

Habakiri 更新日時 表示

一応更新日時を表示させるための処理は行っているのですが、cssで無効にされています。

CSSだけで対応

.entry-meta__item.updated {
    display: inline-block !important;
}

.hiddenと言うクラスで非表示になっているのでdisplayをinline-blockにしてやれば表示されます。

functions.phpで対応

add_filter('habakiri_entry_meta', 'myHabakiriEntryMeta');

function myHabakiriEntryMeta($entry_meta)
{
    if (get_the_modified_date('Ymd') !== get_the_date('Ymd')) {
        $entry_meta = preg_replace('%<li class="entry-meta__item published[\s\S]+?entry-meta__item updated[\s\S]+?</li>%',
                                   sprintf('<li class="entry-meta__item updated"><time datetime="%s">%s: %s</time></li><li class="entry-meta__item published">%s: %s</li>',
                                           get_the_modified_date('c'), __('Updated', 'habakiri'), esc_html(get_the_modified_date()),
                                           __('Published', 'habakiri'), esc_html(get_the_date())), $entry_meta);
    }
    $entry_meta = preg_replace('/<li class="entry-meta__item vCard author">.*?<\/li>/',  '', $entry_meta);
    return $entry_meta;
}

記事作成日時にtimeタグを付与し、記事が更新されている場合は更新日時のみにtimeタグを付与するため、Googleの検索結果に更新日時が優先的に表示されるようになります。

もちろんテンプレートを更新してからGoogleが巡回するまでの間は無効ですが、検索結果の日時が気にする人も多いと思うのでテーマによらず対応しておきたいところですね。

関連記事

この投稿へのコメント

コメントはありません。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

この投稿へのトラックバック

トラックバックはありません。

トラックバック URL