
WordPress 標準テーマ Twenty Fifteenを使用したネイティブAMP対応のブログで、Search Consoleの構造化データレポートで「authorがありません」のエラーが発生しました。エラーの原因と対策について紹介します。
目次 - Table of Contents
Search Consoleの構造化データレポートについて
Search Consoleの構造化データレポートは、細かいレベルでのエラーを含めて表示されるのが特徴です。構造化データテスティングツールでは、エラーとはならないURLでもSearch Cosnoleの構造化データのレポートではエラーとして表示されることがあります。
例えば、マークアップは問題なく行われていても、検索アルゴリズムが必要とみなす要素が含まれていないとSearch Consoleではエラーとして表示されます。これは現時点での仕様です。AMPテストでは、構造化データのマークアップがされていなかったり、足りない場合、警告が表示されていましたが、最近、仕様が変更され警告は表示されなくなりました。関連記事:Search Console AMPレポート表示開始。しかし、不可思議なステータス
Search Console 構造化レポートのエラーの調べ方
以下はSearch Console構造化レポートのトップページです。エラーが2つ発生しています。下側に表示されるデータタイプ別のリストから hatom のマークアップアイテムでエラーが発生していることが分かります。
hatomの行をクリックするとページのURLリストが表示されます。エラーが発生しているページ(URL)は2つで、エラーの理由は「author がありません」であることが分かりました。
エラーとなっているURLを構造化データテスティングツールでテストすると、マークアップソース別にまとめられた結果が表示されます。テスティングツールには、エラーも警告も0になっています。赤枠で囲った部分が一つの記事(hentry)のマークアップで設定されている内容になります。マークアップ自体は問題なく設定されています。しかし、author (著者)が含まれていません。
構造化データのテストでは、マークアップは問題なく出力されていても、記事情報(hentry)には、リッチリザルトでは含まれるべき要素、authorが含まれていないと検索のアルゴリズムは、エラーとして取り扱います。(現在の仕様での場合です。将来、変更になる可能性があります。)
Search Consoleの構造化データエラー発生に対する対処
エラーとして表示されているので、基本的には対処した方が良いですが、対処する上で、エラーの深刻度がどの程度であるかを理解することも重要です。
エラーの重要度・深刻度について
今回の場合は、構造化テスティングツールではエラーも警告も発生していません。検索においてリッチリザルトを表示する上での要素が足りないためエラーとして表示されているものです。構造化データのマークアップにエラーがある場合は、問題の程度は高くなります。逆に今回の場合は、問題の深刻度は低いとも言えます。
記事ページがリッチリザルトで表示されることは、現時点では多くありません。しかし、検索で表示されることが多いサイト、検索のクエリ経由の訪問が多いページで今回のようなエラーが発生している場合は、現在はリッチリザルトで表示されていなくても、将来、リッチリザルトで表示される可能性は少なからずあるため対処した方が良いです。
今回、エラーが発生しているページは、カテゴリーページです。記事ページではエラーは発生していません。一般的に、特定のサイトのカテゴリー一覧ページが検索に表示される可能性は低いです。そのためエラーの重要度としては、高くないと言えます。
しかし、検索エンジンのアルゴリズムがエラーとして取り扱っている状態であるため、対処しておいた方が良いことではあります。また、サイト運営者として、Search Consoleの構造化データのレポートでエラーが発生している状態のままにしておくことはできない(対処してエラーをなくしたい)と考える方もいると思います。
エラーの原因と対策
今回のエラーの原因は、カテゴリーページで表示される記事の author が構造化データにマークアップされていないためです。マークアップにauthorを加えることが対策となります。
Twenty Fifteenで発生した構造化データエラーの対策
WordPress 標準テーマ Twenty Fifteenでは、個別の投稿の場合、記事の最後に投稿日、著者(author)、カテゴリー、タグが表示される仕様になっています。
表示の出力をする際に、構造化データのマークアップも行われます。投稿ページを構造化データテスティングツールでテストすると、マークアップに author も含まれています。Twenty Fifteenのデフォルトでは、カテゴリーやタグなどの一覧ページでは、author の表示は省かれます。(複数の投稿者(author)がいる場合は、表示されます。)
日付、カテゴリー、タグは表示されていますが、著者が表示されません。Twenty Fifteenの場合、この箇所の構造化データのマークアップは、表示と同じ内容になります。
対策は、カテゴリーの一覧ページでも著者(author)を表示させるようにすることです。著者が表示されれば、マークアップもされます。(別の方法もあります。)
Twenty Fifteen のカテゴリー一覧ページの記事下に著者を加えて表示させる方法
作業前の準備
WordPressの標準テーマの機能追加は、テンプレートファイルの編集を行う作業が比較的多くあります。子テーマを作成して、利用すると保守性、作業効率が良くなります。
テンプレートファイルの編集
以下の説明は、親テーマで操作を行っています。作業は子テーマで行うことを強くお勧め致します。編集するテンプレートファイル名は、小テーマでも同じです。
WordPressの管理メニューの「外観」から「テーマの編集」を選びます。テーマの編集ページの右上に表示される「編集するテーマを選択」からTwenty Fifteenとなっていることを確認します。(ここでは親テーマで編集を行っていますが、子テーマで編集する方が良いです。)
右側にテーマファイルと表示され、その下にテンプレートファイルの一覧がリスト表示されています。その中から、”inc”をクリックし、”template-tags.php”を選択します。template-tags.phpのソースコードが表示されます。
上の画像の赤線部は変更後の記述です。
スクロールダウンして、以下の記述部を探します。このコード部は、単独記事(投稿または固定ページ)か複数の投稿者の場合の記事下のタグ記述設定を行うところです。
if ( is_singular() || is_multi_author() ) {
printf(
‘<span class=”byline”><span class=”author vcard”><span class=”screen-reader-text”>%1$s </span><a class=”url fn n” href=”%2$s”>%3$s</a></span></span>’,
_x( ‘Author’, ‘Used before post author name.’, ‘twentyfifteen’ ),
esc_url( get_author_posts_url( get_the_author_meta( ‘ID’ ) ) ),
get_the_author()
);
}
カテゴリーページを条件に加えるため、以下の様にコードを変更します。
if ( ( is_singular() || is_category() ) || is_multi_author() ) {
printf(
‘<span class=”byline”><span class=”author vcard”><span class=”screen-reader-text”>%1$s </span><a class=”url fn n” href=”%2$s”>%3$s</a></span></span>’,
_x( ‘Author’, ‘Used before post author name.’, ‘twentyfifteen’ ),
esc_url( get_author_posts_url( get_the_author_meta( ‘ID’ ) ) ),
get_the_author()
);
}
設定内容を確認の上、「ファイルを更新」ボタンを押します。
表示と構造化データのマークアップ出力の確認
カテゴリーページを表示して、投稿ページと同様に記事下に著者が含まれて表示されているか確認します。設定が適切に行われていれば、著者が含まれて表示されるようになります。
続いて、構造化テスティングツールを使用してカテゴリーページのURLを入力してテストします。テスト結果のhatomをクリックして、hentry(記事情報のマークアップ)に author が含まれていれば大丈夫です。
以上で作業完了です。
構造化データ エラーが解消されました
Search Consoleの構造化レポートは、通常3から4日置きに更新されます。修正を行っていても、更新されるまでの間に、該当するページをクローラーが訪問していない、解析が終了していない場合は、エラーは継続して表示されます。
今回の構造化エラーの対策は、9月17−18日に行いましたが、エラーは9月24日までは減らず、その次の更新日27日に減少し、10月1日に無くなりました。
コメントを残す(承認後表示されます)