(店名)+(市町村名)といった検索クエリに対しGoogleで上位表示を狙いたいのですが、
インデックスされて1ヶ月近く経つにも関わらず、100位以内にも入らない状況です。
検索結果を見ると、
1位: 飲食サイトポータルの当店のページ
2位: 市町村のYahoo!天気
3位: 市町村のWikipedia
4位: 市町村のオフィシャル
5位: 市町村の観光協会
となっており、市町村名のクエリが優先されているようです。
その飲食店と全く同じHTMLの構造のテンプレートで、
つい3日前にオープンしたユニークな店名のサイトでは、
インデックス後2日目には同じ条件のクエリで2位に表示されたため、
店名などに問題があるのではないかと考えています。
※店名はTITLEタグ、META Descriptionタグ、H1タグ内に記載あり
※他サイトからの外部リンクもあり
Google検索でダブルクォーテーションマークを使うフレーズ検索のように、
このようなキーワードの場合に記載方法などで改善する対策などがございましたら、ご教示いただきたいです。
できることは、ふたつあると思います。
まずは、Google マイビジネスに登録しましょう(もし、してなかったら)。
次に、構造化データというのをサイトに作り込みましょう。
構造化データ マークアップ支援ツールというのが Google にあるのですが、
どうやら JSON-LD とかいうのが Google 推奨らしいので、そちらを作り込みます。
# ここから、ちょっと長いです :-)
JSON-LD は、具体例を見てもらった方が早いでしょう。
「とと 長野市」でググると、Hot Pepper の「とと屋」というのが 2番目に出てきます。
そのページにも構造化データが仕込まれていて、こんな感じです。
<script type="application/ld+json"> { "@context": "http://schema.org", "@type": "Restaurant", "@id": "https://www.hotpepper.jp/strJ000430385/", "name": "とと屋 長野市", "image": "https://imgfp.hotp.jp/IMGH/04/78/P012100478/P012100478_480.jpg", "servesCuisine": "和食", "address": { "@type": "PostalAddress", "streetAddress": "南長野北石堂町1413 コイデビル2F", "addressLocality": "長野市", "addressRegion": "長野県", "addressCountry": "JP" }, "geo": { "@type": "GeoCoordinates", "latitude": "36.646085812849876", "longitude": "138.18699407478957" } } </script>
こんな感じのデータを、自分用に作ります。
方式は違うのですが、「構造化データ マークアップ支援ツール」で「レストラン」を選んだ場合に、デフォルトで入力を促される項目を考慮すると、以下のような感じが良いのではないでしょうか。
<script type="application/ld+json"> { "@context": "http://schema.org", "@type": "Restaurant", "name": "がが", "url": "http://sample.shop/", "image": "https://sample.shop/image/xxx.jpeg", "telephone": "(999) 999-9999", "email": "a-kuma3@sample.shop", "menu": "https://sample.shop/menu.html", "servesCuisine": "和食", "address": { "@type": "PostalAddress", "streetAddress": "あくま町123 はてなビル地下3F", "addressLocality": "あくま市", "addressRegion": "あくま県", "addressCountry": "JP" }, "openingHours": [ "Mo-Sa 11:30-14:00", "Mo-Th 18:00-21:30", "Fr-Sa 18:00-24:00" ], "aggregateRating": { "@type": "AggregateRating", "ratingValue": "4", "reviewCount": "250" }, "geo": { "@type": "GeoCoordinates", "latitude": "36.9999", "longitude": "138.9999" } } </script>
「項目名:値」で書いていきます。
項目は英語ですが、大体 雰囲気で分かると思います。幾つか補足を。
menu(メニュー)は、きっとサイトにメニュー用のページがあると思うので、その URL を書きます。
image(画像)は、店の外観とか、象徴的な料理の写真などの URL を書きます。
もし、お店の名入りのロゴ画像があるなら、"logo" という項目の方が適切です。
openingHours(営業時間)は、上の書式に従って書いてください。ロボット用なので。
servesCuisine(料理の種類)は、何となくで大丈夫だと思います。
aggregateRating(評価)は、もしあるなら。
上記の例では、5点満点中の4点で、評価者が 250人という意味になります。
geo(緯度、経度)は、なるべく調べて正確に。
検索結果に地図が表示される可能性があります。
データが書けたら、構造化データテストツールというので、正しく書けているかどうかをテストします。
ページを開くと、「URL を取得」と「コードスニペット」が選べるので、「コードスニペット」を選んで、「コードを貼り付け」のところに、先ほどの JSON-LD を <script type="application/ld+json"> ~ </script> までをコピペして、「テストを実行」をクリックします。
ほどなく、左に先ほどのコード、右に抽出したデータが表示されます。
先ほどのままを入れると、「エラーなし」、「1件の警告」となります。
警告は、価格帯を入れるの推奨、とでますね。
エラーが無くなるようにしてください。
エラーがなくなったら、先ほどのデータをサイトのページに埋め込みます。
サイトのページのどこか、BODY の閉じタグの直前とかに入れます。
<html> ... <body> ... <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "Restaurant", "name": "がが", ... } </script> </body> </html>
たいした大きさのデータではないので、どこに入れても良いのですが、見た目で見えるものではないので、最後の方が良いかな、程度です。
サイトのページを更新したら、もう一度テストをします。
先ほどの、構造化データテストツールを使います。
ツールを開いたときの「URLを取得」に、お店のサイトの URL を入れて、「テストを実行」です。
先ほどよりは、少し待たされますが、程なく結果が表示されます。
右側の結果表示がエラーなしになっていれば OK です。
ぼくも、きちんと分かってないのですが、Google さんがクロールしても、この構造化データはすぐに反映されないです。
最近、何度か試すことがあって、そのときの体感では、クロールされてから、1日から数日後に反映されているような気がします。
先ほどの JSON-LD のデータは、もっといろいろなことが書けます。
詳しくはここを見て考えます。
# まあ、分かりにくいんですけど (´・ω・`)
試してみないと判りませんが、ダブルクォーテーションなどで店名を囲む等でどうでしょうか?
店名がががととやなら
「ががととや」
"ががととや"
【ががととや】
などです。
TOPページに対する内部リンクなども、「ががととやのトップに戻る」を「"ががととや"のトップに戻る」などにするとか・・・。
グーグルが区別しづらいキーワードの場合は、記号か英数字などでダブルバイト文字を囲うと良いかと・・・。