WordPressで最終更新日を表示して、検索結果に日付を反映させたい

WordPressで最終更新日を表示して、検索結果に日付を反映させたい

検索結果で、ブログの公開日などの日付が入っているの、よく目にしますよね?私のブログ記事はなんで出ないのかなーと気になってたんですが、解決しましたー!


追記:2017/1/16

いろいろやっていますが、検索結果の日付はサイト管理者の側から指定することはできないということが後ほどわかりましたので、先に追記しておきます。でも記事に対する公開日・更新日の表示は大切ですよー!

気になってました

検索して自分のブログ記事が出てきたときなんかに…。。

140221-1

それが、こちらの記事を拝見して、やっと謎が解けました。

そうか、html5の要素だったのか…!というわけで、日付をtimeタグで括るためにやったことをまとめておきます。

今までの日付(タイトル左)は画像とWebフォントで視認しにくく、公開日はいつ?と思われた人もいらっしゃったようなので、記事終わりに改めて公開日と更新日を表示することにしました!過去記事をよく更新するので更新日ださなきゃなーと思っていたところだったのでちょうど良かったですー!

参考

公開日はthe_time()、更新日はthe_modified_time()というテンプレートタグがあるんですね!お知恵を拝借した記事では、

  • 公開日 > 更新日 の場合(予約投稿時に発生することがある)
  • 公開日 = 更新日 の場合
  • それ以外(公開日 < 更新日)の場合

の3パターンでfunctions.phpに関数を作って呼び出す形で紹介されていたのですが、わたしは予約投稿もあんまりしないし、

  • 公開日 < 更新日 の場合
  • それ以外(公開日 >= 更新日)の場合

この2パターンで、functions.phpには関数を作らず書いてみました。

コード

single.php

<?php if (get_the_time('Ymd') < get_the_modified_time('Ymd')): ?>
	<div id="publishing">公開日:<?php the_time('Y/m/d'); ?></div>
	<div id="update">更新日:<time class="entry-date updated" datetime="<?php the_modified_time('c'); ?>"><?php the_modified_time('Y/m/d'); ?></time></div>
<?php else: ?>
	<div id="publishing">公開日:<time class="entry-date published" datetime="<?php the_time('c'); ?>"><?php the_time('Y/m/d'); ?></time></div>
<?php endif; ?>

このように書くと、

html出力結果

公開日 < 更新日のとき

<div id="publishing">公開日:xxxx/xx/xx</div>
<div id="update">更新日:<time class="entry-date updated" datetime="xxxx-xx-xxTxx:xx:xx+xx:xx">xxxx/xx/xx</time></div>

更新日が公開日より後のときは、公開日とtimeタグのついた更新日が出力され、

公開日 >= 更新日のとき

<div id="publishing">公開日:<time class="entry-date published" datetime="xxxx-xx-xxTxx:xx:xx+xx:xx">xxxx/xx/xx</time></div>

それ以外のときはtimeタグのついた公開日のみが出力される、という感じです。

time要素を公開日で固定

single.php

<div id="publishing">公開日:<time class="entry-date published" datetime="<?php the_time('c'); ?>"><?php the_time('Y/m/d'); ?></time></div>
<?php if (get_the_time('Ymd') < get_the_modified_time('Ymd')): ?>
	<div id="update">更新日:<?php the_modified_time('Y/m/d'); ?></div>
<?php endif; ?>

上記の例は更新日の日付によってtimeタグの場所が変わるわけですが、固定しちゃう場合はこう書けば良いんじゃないかと。

検索エンジンへの結果

140221-2

出たー!(*´∀`*)

クローラーの回るタイミングによって違うとは思うのですが、だいたい1週間くらいでどの記事も日付が出るようになった、かな?という感じでした!

以上です!どなたかのお役に立てたら幸いですー!

2016/9/6追記

公開してからだいぶ経っての追記でアレなんですが、検索結果にはちゃんと日付が出るようになったものの、更新日にtimeタグを設定していても、公開日のほうが優先されて表示されるように見受けられました。

うちだけだったらいけないので、いろんなブログさんを拝見したのですが、同じようなtimeタグ設定でも、やはり検索結果には公開日が表示されている様子。(記事内で公開日を削除して、最終更新日だけにしているところは更新日が検索結果に反映されているように思います)

このような記事も拝見して考えるに、Google先生に公開日と更新日の情報を正しく伝えることができても、どちらを表示するのかはGoogle側の判断であり、Google的には公開日のほうが重要だとみなされるのかな…?(個人的見解です。)

更新日が新しければ記事の鮮度は良いと言えるでしょうが、公開日が早いほうが1次情報に近く信頼できる情報である、という見方もできますもんね。表示される公開日が古くとも、ちゃんと手入れがなされているか、情報が更新されているかはきちんと評価されていて、それはページランクという形で反映されているのかな、と思いました。

とりあえず個人にできるのは、訪問してくれた方に適切に記事の公開日・更新日をお伝えすることが一番かなと思いますので、今まで記事の最後に出していた更新日を一番上にも表示することで、記事を読む前に情報の鮮度を確認してもらえるようにしました! という追記でした。

2016/9/29追記

たまたま検索結果に自分のブログ記事をみつけて、その日付が更新日だということに気がつきました。「お!?」と思って他の記事も見てみたのですが、記事によって公開日だったり更新日だったりマチマチ。。

やはりGoogle先生の判断なのか、自分では規則性が見い出せませんでした。それでも、今まで検索結果に更新日が出たことはなかった(と思う)ので、なにかしらアルゴリズムが変わったのかもしれませんね。

という気づきを、一応メモっておきます。

2016/11/25追記

またまた、偶然検索してたら自分の記事を見つけたのですが、こんな表示になってました!

140221-3

おお! 公開日と更新日が両方表示されている!! でも、他の記事も確認したらやっぱり全部ではなかったです。VBAの記事でこんな表示になっている記事がいくつかあったのでコード載せてるとこうなりやすいのかなと思ったものの、WordPressの記事はほとんど公開日のみの表示だったので、規則性はわかりません。Google先生もこのあたり試行錯誤なさってるのかもしれません。

たぶんこの表示もまた変わるんじゃないかなーと思いつつ、メモとして書いておきます。

2017/1/16追記

冒頭にも追記しましたが、検索結果の日付は、サイト管理者の側から指定することはできないそうです。詳しくは参考リンクをご参照ください。

それでも、記事内で公開日・更新日を適切に表示しておくことは大事だと思いますので、わかりやすい場所にきちんと書いておきたいですね。

公開日:2014/02/21
更新日:2017/01/16

1件のピンバック

  1. […] 明が下手くそ過ぎて自分以外の誰の参考にもならなさそうなので、他の方の記事へのリンクを参考に置いておきます(汗) WordPressで最終更新日を表示して、検索エンジンに日付を反映させる […]


WordPressの記事に「最終更新日」を表示する方法(予約投稿対応可) | さやろぐ へ返信する コメントをキャンセル

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

コメントは承認制ですので、反映までしばらくお待ち下さい。(稀にスパムの誤判定にて届かないこともあるようですので、必要な際はお問い合わせからお願い致します。)

YouTubeでQ&Aコンテンツを企画しています

運営しているYouTubeチャンネルで、ご相談やご質問を募集しています。動画のコメントやお問い合わせページからお気軽にご相談をお寄せください。