ウェブマスターツールの検索のデザイン → 構造化データで継続的にエラーが上がっていた
データタイプhatomでエラータイプ:updatedがありませんが発生
WebエンジニアブログのWMT(ウェブマスターツール)に何ヵ月も前から
構造化データのエラーが上がっていたが、原因が分かったので対処した。
検索のデザイン → 構造化データ → エラータイプupdatedがありませんを選択すると画像のようにエラー一覧が表示される。
WordPressの公式テーマTwenty Thirteenの場合は、以下の方法でこのエラーに対処できる。
エラーの回避方法
構造化データエラーを回避するためには、HTMLを修正する必要があり、
<div class="entry-meta"> <span class="date"><a href="http://wordpress391ja.local/article1/" title="article1 へのパーマリンク" rel="bookmark"><time class="entry-date" datetime="2014-08-09T15:26:24+00:00">2014年8月9日</time></a></span>
修正を追加する部分は上ののコードの、
<span class="date">
にupdatedというclass属性を追加することでエラーを回避できるようになった。具体的には、HTMLが下のコードになるようで修正した。
<span class="date updated">
Twenty Thirteen
Twenty Thirteenの場合は、fuctions.phpに
twentythirteen_entry_date
という記事のメタデータ部分のHTMLをまとめて出力する関数で設定されているので、その部分をカスタマイズする。
twentythirteen_entry_date関数内の以下のPHPコードで問題のspanタグを出力している。
$date = sprintf( '<span class="date"><a href="%1$s" title="%2$s" rel="bookmark"><time class="entry-date" datetime="%3$s">%4$s</time></a></span>', esc_url( get_permalink() ), esc_attr( sprintf( __( 'Permalink to %s', 'twentythirteen' ), the_title_attribute( 'echo=0' ) ) ), esc_attr( get_the_date( 'c' ) ), esc_html( sprintf( $format_prefix, get_post_format_string( get_post_format() ), get_the_date() ) ) );
HTMLのコードを修正した場合と同様に、class属性にupdatedを追加する
$date = sprintf( '<span class="date updated"><a href="%1$s" title="%2$s" rel="bookmark"><time class="entry-date" datetime="%3$s">%4$s</time></a></span>', esc_url( get_permalink() ), esc_attr( sprintf( __( 'Permalink to %s', 'twentythirteen' ), the_title_attribute( 'echo=0' ) ) ), esc_attr( get_the_date( 'c' ) ), esc_html( sprintf( $format_prefix, get_post_format_string( get_post_format() ), get_the_date() ) ) );
Twenty Thirteenの場合には、上の修正をすることで、個別記事ページだけでなく、
トップページ
カテゴリページ
などのアーカイブ系のページでもエラーが発生を回避することが可能。
コードを修正した結果SEOが向上するか検証可能になった
上の修正を行った結果、ウェブマスターツールで検知されていたエラーは、画像のように減少を開始した。
2日後
3日後
コードを修正して以降、エラーは減少を開始した。
構造化データエラーが検索順位に与える影響は無いものと考えているが、エラーを回避することで、Web検索の順位に影響があった場合には、ブログで記事にする予定。