ほとんどのホテルはAI検索に対して不可視状態です。このガイドでは、1施設でも1,000施設でも対応できる理由と解決策を解説します。
JSON-LDスキーママークアップ、構造化データ、位置情報エンリッチメントにより、ホテルをChatGPT、Perplexity、Google AIオーバービューで見つけやすくします。
ジオデータなし
AIが見るもの:マッチング不可。近接クエリへの回答がゼロ。
GeoEnrich 使用時
AIが見るもの:「Centraal駅近く」「レストランまで徒歩圏」「地下鉄アクセス便利」など40種類以上のクエリにマッチ可能。
GeoEnrichは住所から右列を自動生成します。APIコール1回で完了。
このJSON-LDをホテルのウェブサイトに追加すると、AIサーチエンジンからすぐに発見されるようになります。
{
"@context": "https://schema.org",
"@type": "Hotel",
"name": "Hotel Amsterdam Central",
"url": "https://www.example-hotel.com",
"telephone": "+31 20 123 4567",
"email": "reservations@example-hotel.com",
"address": {
"@type": "PostalAddress",
"streetAddress": "Prins Hendrikkade 33",
"addressLocality": "Amsterdam",
"addressRegion": "North Holland",
"postalCode": "1012 TM",
"addressCountry": "NL"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 52.3787,
"longitude": 4.9010
},
"description": "Luxury 4-star hotel overlooking Amsterdam Central Station with spa, rooftop bar, and canal views.",
"priceRange": "EUR150-350",
"starRating": {
"@type": "Rating",
"ratingValue": 4.5,
"bestRating": 5
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": 4.5,
"reviewCount": 823,
"bestRating": 5,
"worstRating": 1
},
"checkinTime": "15:00",
"checkoutTime": "11:00",
"amenityFeature": [
{"@type": "Text", "name": "Free WiFi"},
{"@type": "Text", "name": "Swimming Pool"},
{"@type": "Text", "name": "Spa"},
{"@type": "Text", "name": "Restaurant"},
{"@type": "Text", "name": "Gym"},
{"@type": "Text", "name": "Parking"}
],
"petsAllowed": true,
"offers": {
"@type": "Offer",
"url": "https://www.example-hotel.com/book",
"priceCurrency": "EUR",
"price": "200"
}
}
位置スコア、周辺POI、近隣観光スポット、客室タイプを含む完全版が必要な場合は、下記のスキーマサンプルをご覧ください。
ユーザーはAIエンジンに対して、位置情報と施設データの両方を必要とする具体的な質問を増やしています。ホテルが回答すべき実際のクエリパターンは次のとおりです。
アメニティ+立地の検索:
アクセスの検索:
体験の検索:
これらのクエリに対応するためのデータが必要です:
Hotelスキーマは土台となります。AIシステムはこれを最初に読み込み、施設の種類、所在地、提供サービス、品質を把握します。
ホテルタイプ:LodgingBusinessかHotelか
一般的なホテルには"@type": "Hotel"を使用します。LodgingBusinessは変わった宿泊施設(ホステル、コテージ、ハウスボートなど)のみに使用します。大半の施設はHotelです。
必須フィールド
name:施設のアイデンティティ(例:"The Pulitzer Amsterdam")address(PostalAddress全体):位置照合と距離計算geo(緯度・経度):「半径1km以内のホテル」などのクエリに対応するための精密な位置情報description:AIがクエリのマッチングや関連性のランキング、回答の引用に使用するテキストaggregateRating:信頼シグナル。評価の高いホテルほどAIのランキングが高くなりますoffers(価格帯):予算重視の検索フィルタリングamenityFeature:AIが引用できる具体的な設備(プール、スパ、レストラン、WiFi)image:AIの推薦後にユーザーが確認するビジュアル情報AIが実際に引用する説明文の書き方
descriptionフィールドは非常に重要です。AIシステムはこのテキストから詳細を抽出してユーザーのクエリに回答します。
悪い説明文(一般的で曖昧):
"Beautiful hotel in Amsterdam. Nice rooms. Friendly staff. Great location."
良い説明文(具体的、位置情報あり、アメニティ豊富):
"Luxury 5-star hotel occupying a restored 17th century palace on Amsterdam's Prinsengracht canal. 80 rooms with floor-to-floor windows overlooking Amsterdam's oldest waterway. Amenities include Michelin-starred restaurant, spa with sauna and steam room, rooftop terrace with canal views, 24-hour gym, and free WiFi. Located 150 meters from Westermarkt church and 300 meters from Anne Frank House. Walking distance to Jordaan neighborhood galleries and shops. Direct tram access to Central Station (5 minutes) and airport (20 minutes)."
「間仕切りドア付きの広い客室があるファミリーホテル」や「200ユーロ以下のシティビュー付きダブルルーム」といった検索には、客室レベルのデータが必要です。
containsPlaceを使ってHotelスキーマ内にHotelRoomをネストします。
{
"@type": "HotelRoom",
"name": "Deluxe Double Room with Canal View",
"description": "45 sqm room with king-size bed, floor-to-ceiling windows overlooking Prinsengracht canal.",
"bed": [
{
"@type": "BedDetails",
"name": "King Size",
"numberOfBeds": 1
}
],
"occupancy": {
"@type": "QuantitativeValue",
"minValue": 1,
"maxValue": 2
},
"amenityFeature": [
{"@type": "Text", "name": "Private balcony"},
{"@type": "Text", "name": "Air conditioning"},
{"@type": "Text", "name": "Rainfall shower"},
{"@type": "Text", "name": "Minibar"},
{"@type": "Text", "name": "Safe"},
{"@type": "Text", "name": "Free WiFi"}
],
"floorSize": {
"@type": "QuantitativeValue",
"value": 45,
"unitCode": "MTK"
},
"offers": {
"@type": "Offer",
"priceCurrency": "EUR",
"price": "280"
}
}
主要な客室カテゴリごとに個別のHotelRoomエントリを作成します。
AIシステムはレビューと評価を重視します。レビュー2,000件の4.8つ星ホテルは、レビュー3件の5つ星ホテルより推薦ランキングがずっと高くなります。
ホテルレベルには必ずaggregateRatingを含めてください。
{
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": 4.6,
"reviewCount": 1847,
"bestRating": 5,
"worstRating": 1
}
}
この情報が重要な理由:
ratingValue:生のスコア(5点満点)。AIはこれをランキングに使用します。reviewCount:レビュー件数。件数が多いほどAIからの信頼が高まります。個別レビューにはreview配列を使用します。上位10〜20件のレビューを最低限含めてください。AIエンジンは「このホテルについて宿泊客は何と言っているか」という質問に答える際にこれらのスニペットを活用します。
AIによる評価の活用方法:
ここがGEOがAI推薦を本当に後押しする部分です。位置情報エンリッチメントにより、ホテルがロジスティクス系クエリに対応できるようになります。
周辺ポイント・オブ・インタレスト(POI)
周辺観光スポットのadditionalPropertyエントリを作成します。ユーザーが「ルーブル美術館から徒歩圏内のホテル」と検索した場合、AIはこのデータを必要とします。
{
"additionalProperty": [
{
"@type": "PropertyValue",
"name": "Nearest Museum",
"value": "Anne Frank House, 300 meters walking distance (5 minutes)"
},
{
"@type": "PropertyValue",
"name": "Nearest Public Transport",
"value": "Westermarkt Tram Stop (lines 13, 14), 150 meters (2 minutes)"
},
{
"@type": "PropertyValue",
"name": "Nearest Airport",
"value": "Amsterdam Airport Schiphol, 9 km (express train 20 minutes, bus 45 minutes)"
}
]
}
位置スコア
構造化されたスコアにより、AIがホテルの周辺環境特性を理解できます。
{
"additionalProperty": [
{
"@type": "PropertyValue",
"name": "Walkability Score",
"value": "92/100 - Walker's Paradise. Most errands can be accomplished on foot."
},
{
"@type": "PropertyValue",
"name": "Transit Score",
"value": "94/100 - Excellent Public Transportation. Convenient for most trips."
},
{
"@type": "PropertyValue",
"name": "Nightlife Score",
"value": "85/100 - Very High. Lots of nearby bars, clubs, restaurants, music venues."
}
]
}
GeoEnrich APIによる位置情報エンリッチメントの自動化
このデータをすべて手動で入力する代わりに、MapAtlas GeoEnrich APIを使用すると、座標から周辺観光スポット、交通リンク、位置スコアを自動的に取得できます。
JSON-LDは不可欠ですが、ウェブサイトのHTMLコンテンツ構造も重要です。AIはその両方をクロールします。
ランディングページには、ユーザーの検索方法に合ったH2ヘッダーが必要です。
FAQセクション(AIに不可欠)
特定のAIクエリパターンを対象としたFAQセクションを作成します。
ホテル、客室、位置情報コンテンツ間をリンクして、AIが関係性を理解しコンテキストランキングを改善できるようにします。
AIがホテルを引用する方法を理解することで、データの最適化に役立てることができます。
ChatGPT、Perplexity、またはClaudeが「250ユーロ以下の運河ビュー付きアムステルダムのロマンチックホテル」に回答する場合、以下のシグナルが推薦に影響します。
データシグナル:
AIシステムはホテルをこのように引用します。
"The Pulitzer Amsterdam is an excellent choice. This 5-star luxury hotel occupies 25 interconnected 17th-century palaces on the Prinsengracht canal. Rooms feature floor-to-ceiling windows with canal views, high ceilings, and antique furnishings. The hotel has a spa, rooftop bar, and Michelin-recommended restaurant. Guests give it 4.6 stars. Rates start at EUR 280 per night."
この引用はスキーマから直接生成されます:description、reviews、amenities、offers/price。
AIがホテルを正しく発見してランク付けできるよう、以下の間違いを避けてください。
1. 座標が欠落または不正確
"52, 4"のような座標はアムステルダムとイギリスの間の海を指します。小数点以下4桁以上を使用してください。"latitude": 52.3787, "longitude": 4.9010。不正確な座標は距離計算を完全に破壊します。
2. 客室レベルのスキーマがない
containsPlaceでネストされた客室レベルのHotelRoomスキーマなしには、AIは「バルコニー付き客室」や「間仕切りドア付きファミリールーム」に回答できません。
3. ありきたりな説明文
"Beautiful hotel in Amsterdam. Great location. Excellent service."はどのホテルにも当てはまります。AIは詳細を抽出してユーザーのクエリにマッチさせることができません。具体的に:「アムステルダムのヨルダーン地区にある4つ星ラグジュアリーホテル、アンネ・フランクの家から300メートル」のように書いてください。
4. 周辺観光スポットデータがない
additionalPropertyまたは説明文に周辺観光スポットを記載しないと、「美術館まで徒歩圏内のホテル」などのクエリを逃してしまいます。
5. 空室状況と料金が古い
最低でも月に一度は料金を更新してください。料金が古いとAIはクローズまたは信頼性が低いと判断します。
6. レビューマークアップがない
reviewCountのないstarRatingは信頼性が低いです。常にratingValueとreviewCountの両方を含むaggregateRatingを使用してください。
7. 住所が不完全
PostalAddressには必ずpostalCodeとaddressCountryを含めてください。フィールドが欠落すると検証ができません。
GEO最適化を公開する前に、スキーマが機能することを検証します。
ツール1:Google リッチリザルト テスト
search.google.com/test/rich-resultsにアクセスしてページURLを貼り付け、有効なタグに「Hotel」が表示されているか確認します。エラーや警告がないかチェックし、リッチリザルトのプレビューを確認します。
ツール2:AEO Checker
/ai-seo-checkerにアクセスしてホテルのURLを入力すると、スキーマの完全性、座標の精度、周辺観光スポットのカバレッジ、位置情報エンリッチメントのギャップ、改善提案を含む詳細レポートが届きます。スキーマ完全性85%以上、周辺観光スポット20件以上の定義を目指してください。
ツール3:実際のAIシステムでテスト
ChatGPT、Perplexity、Claudeに「スパ付き4つ星アムステルダムホテル、250ユーロ以下」と質問してみてください。ホテルが表示されない場合、スキーマの問題がある可能性が高いです:データ不完全、座標不正確、レビュー数が少ない、またはクエリにマッチするアメニティデータが不足しています。
JSON-LDの検証
jsonlint.comのJSONリンターを使用してください。よくあるエラーは、プロパティ間のカンマ欠落、数値の引用符囲み(座標は文字列ではなく数値でなければなりません)、閉じ括弧やブレースの欠落です。
このガイドには3つの完全な本番対応スキーマサンプルが含まれています。
すべてのファイルには実際の座標サンプル(アムステルダムのホテル)、完全なadditionalPropertyエンリッチメント、周辺観光スポットのサンプル、位置スコア、複数の客室タイプ、レビューマークアップ、価格/オファーが含まれています。これらのファイルをコピーし、ホテルの詳細に合わせて更新してウェブサイトに展開してください。
大規模に自動化
MapAtlas GeoEnrich API は、各リスティングに座標、近くの POI、交通アクセス、地域コンテキスト、スキーマ対応ジオデータを自動的に追加します。リスティングごとに1回の API 呼び出しで、あらゆる規模に対応します。