Google Search Consoleの「パンくずリスト」に
data-vocabulary.org スキーマのサポートは終了します
っていうエラーが出ていたので、これを解消しました。
パンくずとは
そもそも「パンくず」ってなんなのよ?というと、当ページの上に表示されている
これです。
HOME → (カテゴリ) → (ページタイトル)
のように、一般的にはトップページから該当ページへたどる道すじを示したものという解釈で合ってると思います。
ちなみに英語でも“breadcrumbs list”と言われていて、本当にパンくずっていう意味で使っているっぽい。グリム童話のヘンゼルとグレーテルで、森の中で迷わないように道しるべとして「パンくず」を落としていったエピソードに由来しているらしい。
エラーの原因
エラーの原因は、この「パンくず」を生成しているスキーマにdata-vocabulary.org
を使ってるけど、これはもうサポートされなくなるので、ほかのスキーマを使ってね、ということのようです。
調べたところ、schema.org
というスキーマを使えば良いらしい。
修正方法
当サイトではLION BLOGというテーマを使っているので、このテーマの中のfunctions.php
を修正していきます。
具体的には「親テーマ」のfunctions.phpの
itemscope itemtype="http://data-vocabulary.org/Breadcrumb"
となっている箇所を
itemscope itemtype="http://schema.org/BreadcrumbList"
という風に修正します。
自分の環境では13箇所修正しました。なぜ13箇所も同じ文字列が入っているのかは不明です。普通、定数として定義しないんでしょうか?
以上で修正は完了です。
なぜ親テーマを修正するのか?
💡WordPress │ 子テーマを導入してテーマのカスタマイズをしやすくする
という記事にも書きましたが、通常テーマを修正する場合は、親テーマではなく、子テーマを修正するのがセオリーのはず。
ちょろっと調べた感じ、WordPressは子テーマのfunctions.php
をローディングしたあと、親テーマのfunctions.php
をローディングするという仕組みのようです(逆の方がしっくりくるけど…)。
なので、今回のように親テーマのfunctionを大きく変更する場合、たぶん変更するfunctionを子テーマにコピーし、子テーマで修正し、親テーマではそのfunctionがローディングされないように修正する必要があるはず。
if (!function_exists( 'add_quicktags_to_text_editor' ) ) { function add_quicktags_to_text_editor() { :
みたいな書き方を見かけたので、たぶんこんな感じで「定義済みだったらローディングされない仕組み」が実装されてるのかな、と。
で、今回、修正が必要だったfunction(fit_breadcrumb
)は上記のような書き方がされていないので、どのみち親テーマを変更する必要がある、と予想しました。親テーマを修正しなければいけないのなら、子テーマに変更を入れてもあまり意味がないので、今回は親テーマを直接修正する、という方針にしました。
まぁ、ちょっとこの辺は自信がないところです。
コメント