身近な話題を投稿してみよう!

Google検索結果のスニペットに日付を表示|制御するにはどうすれば

時計CG

うさ(仮)
うさ(仮)
WEB担うさ(仮)です。

SEO(検索エンジン最適化)において話題にのぼる検索結果の日時表示。大抵は公開日が表示されますが様々な検索結果を見ていて疑問に思われた方はいませんか。

「更新したのに古い(公開日付のまま)」「自分のところのサイトで表示されない!」「更新していないから消したい」

先に言うと「日付けを制御する」ことはできません。ガイドラインに従った表示を行うことで表示される可能性が高まるにとどまります。

思惑は様々ですが「表示したいのに表示されない」「表示したくないのに表示される」と二分されそう。

2021年2月頃より当サイトの公開記事について日付が出たり出なかったりするようになりました。ニュース、新鮮さが必要な情報形サイトであればなおさらなのですがこちらのページでは「表示したいのに表示されない」場合にどうするかについて紹介していきます。

スニペットとは

本来は「断片」という意味ですが、ここでいう「スニペット」とは検索エンジンによる検索結果の一部として表示される説明文や公開日(更新日)の部分。

今回は下の画像でいう「57秒」という部分が出たり出なかったりする件についてあれこれしてみた話。環境により再現性は異なると思われますがワードプレスサイトという前提で参考になれば。

【検証】Googleのインデックス登録までの時間はどれぐらい?|検索結果に表示されるまでの時間

スニペットの日付の意味

Google のシステムでウェブページや動画の公開日や更新日が判定され、その情報がユーザーの役に立つと考えられる場合は、日付が検索結果に表示されることがあります。(Google)

なにかしら検索をした際に表示されるページの数々ですが、結果ページについてどのような基準でクリックしますか。

間違いなくこのページ!と断定できる場合は「タイトル」「説明」「公開元(タイトルの長さによる)」をみてクリックしますが、もう一つは記事の公開(または更新)された時間の影響も少なからずあると思います。

たとえば同じテーマについて1年前と1日前に公開されたページがあれば内容としては1日前のページの方が新しいと考えるのは当然ですよね。

ねこさん
ねこさん
1年前のお店の情報だと営業時間が変わっているかもしれないし、商品だったら値段も変わっているかもしれない

と、まー「いつの情報なのか」というのはページにアクセスするにあたっての重要な部分を占めていることは間違いありません。

Google が判定できる日付情報を指定する方法

  • 公開日と最終更新日を指定
  • ユーザー向けの形式と、構造化データ形式の両方を用意
  • 日付は必須、時刻は任意: ユーザー向けデータでも構造化データでも、時刻の指定は必須ではありません
  • 時刻を指定する場合は、正しいタイムゾーンを指定する
  • 日時の整合性に注意する
  • 未来の日付、またはページに記載されているイベントなどの日付は指定しない
  • ページ内の他の日付情報は最小限にとどめる
  • Google ニュースの検索で表示されることを想定したページの場合はニュース向けガイドライン

という具合にGoogleでは検索結果に日付が表示されるための方法を記載してありますが、前提としては「情報がユーザーの役に立つと考えられる場合に表示」されるとのこと。

また

Google では、1 つの要素だけを基にして日付を判定することはありません。その要素に問題が起きている可能性があるからです。そのため、複数の要素を使い、ページが公開された日または大幅に更新された日をできるだけ正確に推定するようにしています。(Google)

という具合に日付表示を悪用されないよう複数の要素で正確な日付を判定します。一通りの表示方法は示されているもののブラックボックスとなっている部分もあり、確実に意図した日付を表示をさせるものではありませんが留意しておくべきポイント。

インデックスに登録された日付は記録されているようで単純に公開日を変えても内容に大きな変更がなければもともとの日付が表示されることも確認。

表示されないのはどういうこと?

少なくとも悪意を持って日付の修正を多用していなければペナルティを受けるわけでもなく、通常のシステムの設定で表示は行われるはず。

うさ(仮)
うさ(仮)
固定ページについては日付を表示しない設定のため出ないのは分かるのですが記事ページについて出ないのはおかしすぎる・・・。

環境

CMSWordPress 5.6
テーマ「lightning」「cocoon」併用
PHP7.3x

もともと「lightning」をカスタマイズ、AMP記事と運用していた際には問題を確認できませんでしたが部分的に「cocoon」を併用運用した2021年2月ごろからスニペットの日付表示について有り無しが出るようになりました。

どういうこと?

日付が出ない原因を探る

通常であれば特に意識をしなくても自動的に公開日が表示されるかと思います。

最近では自動的に構造化データを出力するテーマも豊富ですが昔のサイトでもユーザーが確認できる日付形式で表示されていればスニペットに公開日(更新日)が表示されているサイトも多いように思います。

日付表示の無い記事の構造化チェック

記事の構造化チェック

AMPページの構造化チェック

Google検索結果のスニペットに日時を表示|不安定な日付けを制御したい!

必須プロパティの「datePublished(公開日時)」、任意「dateModified(更新日時)」について問題なし。こちらの記事だと更新した後、日付が表示されなくなりました。

また当サイトではGoogleニュース提供元に設定しているためニュース向けガイドラインに違反しているのでは?と考えてみます。

ニュース向けガイドライン

日時を明確に表示する

記事が Google ニュースに掲載されるようにするには、日付と時間の両方をはっきりとわかりやすく表示する必要があります。日時の表示は、できれば見出しと記事本文の間に配置します。

うん、している。位置は変えているけど。

記事を不自然な形で更新しない

記事が大幅に変更された場合、当然、日時も新しいものに更新することになります。ただし、こうした更新について重要な情報や他の説得力のある理由を付け加えずに、不自然な形で記事を更新することは Google ニュースのガイドラインに対する違反となります。また、すでに公開している記事をごくわずかに更新して新たに記事を作成したうえで、古い方の記事を削除して新しい記事にリダイレクトする、といった行為も Google ニュースのガイドラインに対する違反となります。

うーん、少しグレーな感じがしなくもないけど出たり出なかったりの記事には一致しないかも

構造化データを使用する

正確なタイムゾーンとともに、「datePublished」や「dateModified」を使用します(AMP ページと非 AMP ページに関するガイドラインをご覧ください)。

ねこさん
ねこさん
問題無し

公開日を含むサイトマップ エントリを使用する

Google ニュース サイトマップを作成済みの場合、記事のサイトマップ エントリには <publication_date> タグが必要です。各記事の URL には、記事の公開日を W3C 形式で追加する必要があります。

Google検索結果のスニペットに日時を表示|不安定な日付けを制御したい!

ねこさん
ねこさん
うん、「publication_date」ある!

スニペットから日付表示が消えていく

少なくとも「ligntning」単体で運用していた場合にスニペットに日付は表示されていました。しかしながら「cocoon」単体で運用されているサイトを見る限り「cocoon」に原因があるわけではなくこちらの環境に問題があるのは容易に想像がつきます。

問題はどこに

こうしてユーザー向けの日付表示や内部的な構造化データを見る限り問題が見当たりません。

更新した記事がなんらかのガイドライン違反で消えるのは理解できるとして、更新していない記事からも公開日が消えていっている様子。

なんかおかしい

さて前後の環境を考えてみると思い当たることがありました。

  • 複数のテーマ併用によるトラブル
  • 公開日表示を無くして更新日だけに

2020年12月度のGoogleコアアップデートの影響もあって2021年サイトの仕組みを見直すことに。以前は全てテーマ「ligntning」で運用していましたがテーマ「cocoon」を導入。

「ligntning」で未対応のままにしていた機能が「cocoon」にはあったので固定ページは「ligntning」、投稿ページは「cocoon」に。(このあたりの話は別の機会)

「cocoon」では更新があった場合にユーザー向け表示を更新日のみ(更新が無い場合は公開日)で表示することが可能です。

関心の高い記事について検索結果に最新の日付を表示させたいと思うのは運営者のエゴですがGoogleの検索結果の日付を最新にする方法のひとつで「更新日のみにする」というものがあります。

確かにそれまで2018年とかだった過去記事が2021年になったりしたのですが、更新日のみの表示にしたあたりからスニペットから日付が消えていくのが加速したような感じ。

AMP記事には「datePublished(公開日時)」必須

時に同時にひとつの記事に1万人を超えるアクセスがあるためサイト外からキャッシュページを提供するAMPの利用は運用上必須。

日付表示のガイドラインには「datePublished(公開日時)」必須とあり、構造化データ上は存在するもののユーザー向けの公開日情報が無いことが原因と推測、結局両方表示するようにしたところ、非表示は改善されつつあります。

が、しかし

推測の域を出ませんがGoogleはサイトの記事ページの構造を保存しているようで一旦消したものを「ある」と認識させるのには時間が必要かもしれません。

公開日を認識させるための施策

先に運用環境が原因と書きましたが、その後モニタリングをしていると「構造化データ」「ユーザー向け日付」が存在するのにも関わらず、Googleは適切な公開日を見失っている様子。

顕著に感じたのは埋め込んだSNSの時間情報やhタグの日付(○○日の様子)などを公開日と認識してスニペットに表示したこと。

いや、見失ってるし

というわけで現在以下の施策を行っています。

  • ①日付を記事の上部に配置する
  • ②関連記事や本文内の日付を誤認識されないよう削除、または修正
  • ③OGPタグの見直し
  • ④日付の表示形式を変更
  • ⑤パーマリンクの変更
  • ⑥TIMEタグの設定
  • ⑦PHPエラーの解消

⑦については運用上のもので改善が必要なのですが①~⑤について併用することでずいぶんとマシになった実感が。(⑤については運用上の理由から4000ほどの記事について変更をかけましたがSEO的には奨めません

「cocoon」または「lightning」単体にすれば簡単に直りそうな気もするのですけどねー。

追記:この記事はどう表示されたのか

公開後チェックしていると数分後には自動的に検索にかかりました。正常にクロールされているようで時間も問題なく表示。(これが普通のはずなのですが)

また情報があれば追記。

Google検索結果のスニペットに日時を表示|日付けを制御するにはどうすれば

COMMENT

福崎町文珠荘|播磨平野を一望するお食事と癒しの湯
情報掲載
タイトルとURLをコピーしました