フロントの人の雑多メモ

All in One SEOの構造化パンくずリストで「HOME」が「家」になってしまうときの対処法

All in One SEOの構造化パンくずリストで「HOME」が「家」になってしまうときの対処法

WordPressのプラグインAll in One SEOでは、パンくずリストの構造化マークアップが出力されます。

出力されるソースはおよそこんな感じで「JSON-LD」形式で出力されるのですが

<script type="application/ld+json" class="aioseo-schema">
{"@context":"https:\/\/schema.org","@graph":[{"@type":"BreadcrumbList","@id":"http:\/\/blog.kentokanai.net\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"http:\/\/blog.kentokanai.net\/#listItem","position":1,"name":"\u5bb6","item":"http:\/\/blog.kentokanai.net\/","nextItem":"http:\/\/blog.kentokanai.net\/#listItem"},{"@type":"ListItem","@id":"http:\/\/blog.kentokanai.net\/#listItem","position":2,"name":"title",・・・
</script>

これをGoogleのリッチリザルトテストにかけると

「家」となっています、 んなわけあるかい!

リッチリザルト パンくずリスト 家

「HOME」の翻訳が「家」になっているのでしょうが、ダサいので直します。

All in One SEOの設定の中にはこれに関する項目が見つからなかったので

functions.phpに以下を追記します。

//AIOSEO パンくずリストが「家」になる対策
add_filter( 'aioseo_schema_output', 'aioseo_filter_schema_output' );

function aioseo_filter_schema_output( $graphs ) {
	if($graphs[0]['itemListElement'][0]['name'] == '家'){ //$graphsの1つ目のnameが「家」の時
		$graphs[0]['itemListElement'][0]['name'] = 'HOME'; //「HOME」に置き換え
	}
	return $graphs;
}

「HOME」はパンくずリストの1つ目に来るはずです。

パンくずリストの1つ目の値を確認し、「家」であれば「HOME」に置き換えています。

今後のアップデートで「家」じゃなく「お家」に変わってるよ、とかあればコメントで教えてください。

コメント

内容を確認の上、個人情報などは省いて掲載させていただきます。

直接送信されます。確認の上、「送信」してください。

シェア

Twitterでシェア Facebookでシェア LINEでシェア はてなブックマークでシェア