WordPressの構造化データエラーを全て修正する

実はもう昨日か… 最近は朝から仕事してるんですが、チョット考え事があってネットで調べものついでに、何となくWEBマスターツールを見たら…
なんじゃこりゃー!! エラーが出まくってる(汗)って事で、ドツボにはまっておりました。で、全て解決しましたので、方法を自分へのメモ変わりに。

広告

構造化データってなに?

最初はココからでした。今まで構造化なんか手を付けた時ないし、かなり未知でしたが、よくよく見れば単にクラスを加えて検索エンジンが構造的に見やすいようにするって事でしょう!!
多分… 詳しい方、もし間違ってたら教えて下さい。

解決方法

非常に詳しい色んな方のブログを参考にさせていただいたんですが、どうにも全ての解決ほうが見つからない。
そもそもテンプレートも違うし仕方ないだろーなーと思いながら、僕が一番参考にしている人のブログを見ていると、とある一文を決してエラーを出さないようにしている。
それがメジャーな方法かーと思っていたのですが、エラーの原因が記述抜けだけにキチンと構造化しようとしてる方もいらっしゃって、僕はそちらを選びました。
どうも、こーゆーエラーって誤魔化すの好きじゃない。検索順位には影響しないらしいけど。。。

原因はupdatedとauthor

この二つのクラスが無くてエラーを出してる事はwebマスターツールで分かってってたんですが、どこのupdatedとauthor?なのかって事で探しました。

updatedは全部

僕はデフォルトのテーマTwenty Fourteenなのですが、どうやらupdatedが全部無い。
なるほど、そりゃーエラーだらけだって事で、更新日にupdatedをつける事にしました。
これは誰かのブログで教えてもらったのですが、忘れちゃいました… 覚えてればリンクしたのですが…。

Twenty Fourteenの場合、updatedを付け加えるだけなのは2つのPHPファイルです。
子テーマでやってる場合は変わるって書いてあったような…。僕は面倒で子テーマ作って無いので、直接書き込みます。

ちなみに何度かミスって画面真っ白にしてしまったので、直接いじる人は絶対バックアップとりましょう。
ファイルのある場所はそれぞのテーマの場所にあるので、wp-contentm→themes→使ってるテーマの名前のホルダ にあります。FTPでダウンロードしておいて、もし間違って画面真っ白にしちゃったら、元のファイルを上書きすれば戻ります。

さて戻りますが、updatedを付け加えるのは更新日のdateがあるトコロ、template-tags.phpと、もしウチみたいにサイドバーに記事つけてるならwidgets.phpの修正が必要です。template-tags.phpだけ修正しても他で出ますので。
templateなんちゃらphpの113行目くらいに、

<time class="entry-date" datetime="%2$s">>%3$s</time>

ってのがあるんで、entry-date updatedに変更。同様の内容がwidgets.phpの中にもあるんで、そちらも探してupdatedを加えて終了。
これで相当減ります。

ただ、まだ出る。ウチみたいに上部に画像をグリットさせてるとそこもエラーが出る。
そこは僕流でやってしまいましたが、参考にしたければどうぞ。

グリット部分はcontent-featured-post.phpあるのですが、そこにこう書きました。

<time class="entry-date updated" style="display:none" datetime="<?php echo esc_attr( get_the_date( 'c' ) ) ?>"><?php echo esc_html( get_the_date() ) ?></time>

別の部分のphpを参考にして書いてみたのですが、おっかなびっくりでアップしたところエラーは消えました。
記述したのは、content-featured-post.php内の

<span class="cat-links"><?php echo get_the_category_list( _x( ', ', 'Used between list items, there is a space after the comma.', 'twentyfourteen' ) ); ?></span>

の下あたりです。
せっかくグリットが良い感じなのに変な文字が増えるのが嫌でdisplay:noneです。

authorは2か所

authorについてもupdated同様に新しい記述をしました。
これはどなたかのを参考にさせて頂きましたが、やはり相当調べたのでどうやって辿り着いたかも忘れました。スイマセン。

<span class="byline"><span class="author vcard"><a class="url fn n" href="https://plus.google.com/○○○○○○" rel="author"><?php echo get_the_author(); ?></a></span></span>

これを、書き足しましたが、僕は面倒でauthorを全部グーグル+のプロフィールにしちゃったので、そうじゃ無い方はhref=”の後が変わります。たしか、

esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) )

だった気がする...

これを、さっきのcontent-featured-post.phpのtimeの下に追加して完了。

あと、固定ページを使っているのであれば、そちらにも今の2行を加えて終了。
一応、そんな感じです。

一気にやるより、1つずつやってエラーの確認はやったほうが最終的に分かり易いと思います。
チェックは構造化チェックツールで検索すると出てきますよ。

広告

コメントを残す

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