サイトリンク検索ボックスを無効化するmetaタグをGoogleが提供開始

[対象: 中級]

サイトリンク検索ボックスを検索結果に表示させないようにするためのmetaタグの提供をGoogleは始めました。

Web担当者Forumの連載コラムで先週ピックアップしましたが、記録のために自分のブログでも触れておきます。

サイトリンク検索ボックスを無効にする nositelinkssearchbox meta タグ

サイトリンク検索ボックスを無効にする方法はシンプルです。
Googlebotだけを対象にした、次のrobots metaタグをheadセクションに記述します。

<meta name="google" content="nositelinkssearchbox">

XHTMLでは、文法的に正しくするなら閉じタグの前に「/」を付けます。

<meta name="google" content="nositelinkssearchbox" />

サイトのトップページに記述するだけで大丈夫です。
すべてのページに記述する必要はありません。

再クロール後の再処理が必要なので、適用されるまでには数週間かかります。

サイトリンク検索ボックスの表示を望まないサイトは実装するといいでしょう。

公式ドキュメントはこちらで参照できます。

これまで投稿したサイトリンク検索ボックス関連の記事をあわせて紹介しておきます。

おまけ

自サイトのサイト内検索へリダイレクトするサイトリンク検索ボックスを適用しているサイトが国内でも増えてきました。
楽天市場もそのうちの1つです。

楽天市場のコードを見て僕ならこうするかなと思ったのでご参考までに。

schema.orgとJSON-LDを使った現在のコードは次のようになっています。

<script type="application/ld+json">
{
"@context" : "http://schema.org",
"@type" : "Organization",
"url" : "http://www.rakuten.co.jp",
"logo" : "http://a.ichiba.jp.rakuten-static.com/com/img/home/logo/logo_w200_h200.gif",
"contactPoint" : [ {
"@type" : "ContactPoint",
"telephone" : "+81-50-5838-4333",
"contactType" : "customer service"} ],
"@type" : "WebSite",
"url" : "http://www.rakuten.co.jp/",
"potentialAction" : {
"@type" : "SearchAction",
"target" : "http://search.rakuten.co.jp/search/mall/{search_term}/?scid=we_ich_gsb",
"query-input" : "required name=search_term"} } </script>

OrganizationとWebSiteの2つの独立したタイプが、アレイを使わずに並んでいるのがおかしな感じがします。
逆に、contactPointのアレイは目的が不明です(ヘルプの例が変?)。

ただ、サイトリンク検索ボックスは機能しているし、JSON-LD Playgroundの検証ではエラーは出ないので間違っているとはいえないのかもしれません。
もっともGoogleのCorporate Contacts Markup Testerでは、注意マークの警告が出ます。

OrganizationとWebSiteを独立させるなら、僕ならこう書きます。

<script type="application/ld+json">
{
"@context" : "http://schema.org",
"@graph" :
[{
"@type" : "Organization",
"url" : "http://www.rakuten.co.jp/",
"logo" : "http://a.ichiba.jp.rakuten-static.com/com/img/home/logo/logo_w200_h200.gif",
"contactPoint" : {
	"@type" : "ContactPoint",
	"telephone" : "+81-50-5838-4333",
	"contactType" : "customer service"
	}
},
{
"@type": "WebSite",
"url": "http://www.rakuten.co.jp",
"potentialAction": {
	"@type" : "SearchAction",
	"target" : "http://search.rakuten.co.jp/search/mall/{search_term}/?scid=we_ich_gsb",
	"query-input" : "required name=search_term"
	}
}]
}
</script>

potentialActionは、Organizationのプロパティとしても使えるので、シンプルにするならこんなふうにも書けます。

<script type="application/ld+json">
{
"@context" : "http://schema.org",
"@type" : "Corporation",
"url" : "http://www.rakuten.co.jp/",
"logo" : "http://a.ichiba.jp.rakuten-static.com/com/img/home/logo/logo_w200_h200.gif",
"contactPoint" : {
	"@type" : "ContactPoint",
	"telephone" : "+81-50-5838-4333",
	"contactType" : "customer service"} ,
"potentialAction" : {
	"@type" : "SearchAction",
	"target" : "http://search.rakuten.co.jp/search/mall/{search_term}/?scid=we_ich_gsb",
	"query-input" : "required name=search_term"} 
}
</script>

Googleのサイトリンク検索ボックスのドキュメントでは、WebSiteを指定していますがOrganizationでもきっと大丈夫なはずです。
ちなみにより近いエンティティを表現するために、OrganizationのサブタイプのCorporationを使っています。

僕の2つの例は、もちろんJSON-LD PlaygroundでもCorporate Contacts Markup Testerでもエラーは出ません。

楽天市場のサイトリンク検索ボックスのschema.orgとJSON-LD