Skip to main content

房地产 GEO 指南

绝大多数房源对 AI 搜索引擎而言是隐形的。本指南将告诉您原因,以及如何解决,无论您只有 1 套房产还是管理 10,000 套。

JSON-LD schema 标记、结构化数据与地理位置丰富化,助力房源在 ChatGPT、Perplexity 和 Google AI Overviews 中获得曝光。

JSON-LDAI 搜索Schema房地产

无地理数据

位置「安静街道,优质社区」
附近-
交通-
坐标-

AI 所见:无可匹配内容。零邻里或邻近查询得到回答。

使用 GeoEnrich

位置Ruysdaelkade 21,阿姆斯特丹 De Pijp
附近Albert Cuyp 市场(200m),3 所学校(500m)
交通3 路和 12 路有轨电车,步行 1 分钟
坐标52.3534, 4.8965

AI 所见:可匹配 50 多种查询类型,包括「De Pijp 附近有电车的两居室」、「停车位且售价低于 40 万的公寓」、「靠近学校的安静街道」。

GeoEnrich 可根据地址自动生成右列数据。仅需一次 API 调用。

快速开始

将以下 JSON-LD 添加到您的房源页面,AI 搜索引擎即可立即解析并推荐它:


{
  "@context": "https://schema.org",
  "@type": "RealEstateListing",
  "name": "2-Bedroom Apartment in Amsterdam De Pijp",
  "url": "https://www.example-agency.com/listings/ruysdaelkade-21",
  "description": "Bright 2-bedroom apartment on the Ruysdaelkade in De Pijp, Amsterdam. 85 square meters, south-facing balcony, open-plan kitchen, renovated bathroom. 200 meters from Albert Cuyp market, 1-minute walk to tram lines 3 and 12.",
  "datePosted": "2026-03-15",
  "about": {
    "@type": "Residence",
    "address": {
      "@type": "PostalAddress",
      "streetAddress": "Ruysdaelkade 21",
      "addressLocality": "Amsterdam",
      "addressRegion": "North Holland",
      "postalCode": "1072 AK",
      "addressCountry": "NL"
    },
    "geo": {
      "@type": "GeoCoordinates",
      "latitude": 52.3534,
      "longitude": 4.8965
    },
    "floorSize": {
      "@type": "QuantitativeValue",
      "value": 85,
      "unitCode": "MTK"
    },
    "numberOfRooms": 3,
    "numberOfBedrooms": 2,
    "numberOfBathroomsTotal": 1,
    "petsAllowed": false,
    "yearBuilt": "1925"
  },
  "offers": {
    "@type": "Offer",
    "price": 395000,
    "priceCurrency": "EUR",
    "availability": "https://schema.org/InStock"
  }
}

以上涵盖了基础内容。后续章节将介绍如何添加社区背景、附近兴趣点、交通数据等,以使您的房源匹配更多查询类型。完整的生产就绪文件请参见「Schema 示例」选项卡。

用户如何通过 AI 搜索房产

通过 AI 进行的房产搜索与门户网站搜索有本质区别。用户不再通过下拉筛选,而是用自然语言描述需求。理解这些搜索意图模式是房地产 GEO 的基础。

社区与位置查询

这是最常见的房产查询类型,也是传统房源最难以回答的:

  • 「阿姆斯特丹 De Pijp 40 万以下两居室公寓」
  • 「巴塞罗那国际学校附近的家庭住宅」
  • 「伦敦 Zone 2 交通便利的安静街道」
  • 「里斯本步行可达海滩的公寓」
  • 「阿姆斯特丹南区医院附近的住宅」

每一个查询都需要结构化位置数据、坐标和附近兴趣点背景。缺少这些数据,您的房源将无从被发现。

邻近查询

买家和租客关心附近有什么。AI 引擎需要距离数据才能回答:

  • 「靠近 Vondelpark 且 5 分钟步行有超市的公寓」
  • 「阿姆斯特丹 500 米内有地铁站的住宅」
  • 「Jordaan 附近餐厅和夜生活丰富的房产」

特征与规格查询

将房产属性与位置相结合:

  • 「阿姆斯特丹 50 万以下带阳台和车位的三居室」
  • 「海牙带花园的底层公寓」
  • 「巴塞罗那 Eixample 带屋顶露台的顶层公寓」
  • 「鹿特丹配备太阳能电池板的节能住宅」

投资查询

投资者会提出不同问题:

  • 「阿姆斯特丹租金回报率最高的社区」
  • 「里斯本适合投资的新兴区域」
  • 「柏林 Mitte 与 Kreuzberg 每平方米均价对比」

要出现在这些结果中,您的房源需要 AI 引擎可解析的结构化数据:精确坐标、附近兴趣点及距离、结构化字段中的房产规格,以及社区背景信号。

房源为何在 AI 搜索中失利

绝大多数房源对 AI 搜索引擎而言是隐形的。以下是原因及解决方法。

1. 位置描述模糊

「位于优质社区」对 AI 毫无意义。「Ruysdaelkade 21,阿姆斯特丹 De Pijp,距 Albert Cuyp 市场 200 米」才能让 AI 获取所有信息。模糊描述是房源失败的最大原因。AI 无法推断「好地段」指的是 De Pijp,也无法推断「靠近商店」意味着距市场 200 米。

2. 缺少坐标

没有经纬度,AI 就无法计算距离。每个邻近查询(「靠近公园」、「地铁附近」、「步行到学校」)都需要房源和兴趣点的坐标。坐标精度需达到 4 位以上小数。「52.35, 4.90」指向 100 米半径;「52.3534, 4.8965」则精确指向某栋建筑。

3. 缺乏附近背景

即使有地址,大多数房源也在这里失败。有坐标但没有附近兴趣点数据的房源无法回答「学校附近的公寓」,因为 AI 没有学校数据可供匹配。您需要明确列出附近有什么,包括名称和距离。

4. 无结构化数据

埋藏在段落文本中的房产细节很难被 AI 提取。「这套精美的 85 平米公寓有 2 间卧室、1 间浴室和朝南阳台」是人类可读的。而 floorSize: 85、numberOfBedrooms: 2 和 amenityFeature: "South-facing balcony" 等结构化 schema 字段是机器可读的。AI 引擎强烈偏好结构化数据。

5. 房源过时

6 个月前发布且没有 datePosted 或 dateModified 字段的房源看起来已被废弃。AI 引擎会降低看似过时内容的优先级。始终包含日期,并在房源变更时更新。

6. 价格未放入结构化字段

埋藏在文本中的价格(「要价:39.5 万欧元」)比带有 price: 395000 和 priceCurrency: "EUR" 的 Offer 更难解析。价格是房产查询中最常见的筛选条件之一,缺少结构化定价意味着完全错失这些查询。

RealEstateListing Schema 标记

Schema.org 的 RealEstateListing 类型是房源的正确 schema。它将房产(Residence、Apartment、House)包裹在包含价格、日期和可用状态的房源上下文中。

核心结构

RealEstateListing 包含三个关键部分:

  1. 房源本身:名称、描述、datePosted、URL
  2. 房产(通过 about):地址、地理坐标、面积、房间数、配套设施
  3. 报价:价格、货币、可用状态

房产类型

在 about 中为房产使用最具体的 @type:

  • Apartment 适用于公寓、共管公寓、单间公寓
  • House 或 SingleFamilyResidence 适用于独立/半独立住宅
  • Residence 作为通用后备类型

必填字段

以下字段是 AI 可发现性的最低要求:


{
  "@context": "https://schema.org",
  "@type": "RealEstateListing",
  "name": "Descriptive title with key features and location",
  "description": "150-300 word description with specific details",
  "datePosted": "2026-03-15",
  "about": {
    "@type": "Apartment",
    "address": {
      "@type": "PostalAddress",
      "streetAddress": "Herengracht 100",
      "addressLocality": "Amsterdam",
      "addressRegion": "North Holland",
      "postalCode": "1015 BS",
      "addressCountry": "NL"
    },
    "geo": {
      "@type": "GeoCoordinates",
      "latitude": 52.3728,
      "longitude": 4.8882
    },
    "floorSize": {
      "@type": "QuantitativeValue",
      "value": 120,
      "unitCode": "MTK"
    },
    "numberOfRooms": 5,
    "numberOfBedrooms": 3,
    "numberOfBathroomsTotal": 2
  },
  "offers": {
    "@type": "Offer",
    "price": 650000,
    "priceCurrency": "EUR"
  }
}

附加房产字段

以下字段可增加您的房源匹配的查询数量:

  • yearBuilt:建造年份(对翻新查询很重要)
  • petsAllowed:true/false(过滤宠物友好搜索)
  • amenityFeature:配套设施数组,如「阳台」、「停车位」、「花园」、「电梯」、「储藏室」
  • numberOfFullBathrooms / numberOfPartialBathrooms:比总数更具体
  • floorLevel:房产所在楼层
  • permittedUsage:「住宅」、「混合用途」、「商业」

房源地理丰富化

坐标只能告诉 AI 房产在哪里。地理丰富化能告诉 AI 周围有什么。这是匹配 5 种查询类型与匹配 50 种的区别。

地理丰富化提供的内容

对于阿姆斯特丹 Ruysdaelkade 21 的房产,地理丰富化提供:

  • 学校:De Pijp 小学(350m)、Montessori School Zuid(600m)、国际学校(1.2km)
  • 交通:3 路电车站(80m)、12 路电车站(120m)、De Pijp 地铁站(500m)、阿姆斯特丹中央站(3.5km)
  • 购物:Albert Cuyp 市场(200m)、Albert Heijn 超市(150m)、Ferdinand Bolstraat 购物街(300m)
  • 公园:Sarphatipark(400m)、Vondelpark(1.2km)
  • 医疗:OLVG 医院(800m)、药店(250m)、全科诊所(300m)
  • 餐厅:500 米内有 23 家餐厅

如何构建附近兴趣点

使用房产的 additionalProperty 字段添加附近背景:


{
  "@type": "Apartment",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "Ruysdaelkade 21",
    "addressLocality": "Amsterdam",
    "postalCode": "1072 AK",
    "addressCountry": "NL"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 52.3534,
    "longitude": 4.8965
  },
  "additionalProperty": [
    {
      "@type": "PropertyValue",
      "name": "Nearest School",
      "value": "De Pijp Primary School, 350m"
    },
    {
      "@type": "PropertyValue",
      "name": "Nearest Supermarket",
      "value": "Albert Heijn, 150m"
    },
    {
      "@type": "PropertyValue",
      "name": "Nearest Tram Stop",
      "value": "Tram 3 (Ruysdaelkade), 80m"
    },
    {
      "@type": "PropertyValue",
      "name": "Nearest Park",
      "value": "Sarphatipark, 400m"
    },
    {
      "@type": "PropertyValue",
      "name": "Nearest Hospital",
      "value": "OLVG Hospital, 800m"
    },
    {
      "@type": "PropertyValue",
      "name": "Restaurants within 500m",
      "value": "23"
    }
  ]
}

为何这很重要

缺少这些数据,AI 将无法回答关于您房源的任何以下查询:

  • 「De Pijp 学校附近的公寓」(需要学校兴趣点数据)
  • 「阿姆斯特丹南区公共交通便利的房产」(需要交通数据)
  • 「靠近超市和公园的住宅」(需要两者的兴趣点数据)
  • 「医院附近的公寓」(需要医疗机构兴趣点数据)

MapAtlas GeoEnrich API 只需一个地址或坐标对即可生成所有这些数据。一次 API 调用返回学校、交通、购物、公园、医疗和餐厅的名称及距离,可直接嵌入为 additionalProperty 值。

社区背景信号

除了单个兴趣点,买家和租客还想了解社区本身。AI 引擎会寻找描述区域特征和宜居性的信号。

步行与交通评分

社区层面的评分帮助 AI 回答生活方式查询:


{
  "additionalProperty": [
    {
      "@type": "PropertyValue",
      "name": "Walk Score",
      "value": "92/100"
    },
    {
      "@type": "PropertyValue",
      "name": "Transit Score",
      "value": "88/100"
    },
    {
      "@type": "PropertyValue",
      "name": "Bike Score",
      "value": "95/100"
    }
  ]
}

这些评分可直接回答「阿姆斯特丹适合无车生活的步行友好社区」或「阿姆斯特丹最适合骑行通勤的区域」等查询。

通勤时间数据

通勤时间是房产买家最重要的决策因素之一。将其纳入结构化数据:


{
  "@type": "PropertyValue",
  "name": "Commute to Amsterdam Centraal",
  "value": "12 minutes by tram, 18 minutes by bike"
}

社区描述

您的房源描述应包含社区背景。不要写「优质社区」,而应写:

「De Pijp 是阿姆斯特丹最受欢迎的社区之一,以 Albert Cuyp 街市、多元餐饮场景和林荫运河而闻名。该区域公共交通极为便利,有 3、12 和 24 路电车,以及新开通的 Metro 52(南北线)。Sarphatipark 绿地距离仅 400 米。」

这一段落本身就能匹配数十个 AI 查询,因为它包含 AI 可提取并引用的具体可验证事实。

本地设施数量

汇总数量让 AI 感知密度和便利性:

  • 「300 米内 14 家餐厅」
  • 「500 米内 3 家超市」
  • 「1 公里内 5 所学校」
  • 「600 米内 2 个公园」

这些数量支持比较查询:「阿姆斯特丹哪个社区附近餐厅最多?」或「学校覆盖最好的区域」。

租赁与出售房源

租赁和出售房源使用相同的 RealEstateListing 包装器,但报价结构和部分字段有所不同。

出售房源报价


{
  "offers": {
    "@type": "Offer",
    "price": 395000,
    "priceCurrency": "EUR",
    "availability": "https://schema.org/InStock",
    "validFrom": "2026-03-15"
  }
}

租赁房源报价

对于租赁,价格代表月租金。使用 priceSpecification 说明计费周期:


{
  "offers": {
    "@type": "Offer",
    "priceSpecification": {
      "@type": "UnitPriceSpecification",
      "price": 1850,
      "priceCurrency": "EUR",
      "unitText": "MONTH"
    },
    "availability": "https://schema.org/InStock"
  }
}

租赁专用字段

租赁房源可受益于出售房源不需要的额外字段:

  • leaseLength:最短租期(如 12 个月)
  • petsAllowed:对租赁搜索至关重要(「阿姆斯特丹宠物友好租赁」)
  • amenityFeature:带家具/不带家具、含水电、停车位
  • 在描述或 additionalProperty 中说明押金金额
  • 可入住日期(在 Offer 上使用 validFrom)

度假租赁不同

短期度假租赁(Airbnb 模式)不应使用 RealEstateListing。它们使用 LodgingBusiness,含夜间定价和入住/退房时间。详见下方度假租赁章节。

商业地产

商业地产搜索遵循与住宅不同的模式。寻找办公室、零售或工业空间的企业会提出需要特定结构化数据的问题。

常见商业查询

  • 「阿姆斯特丹 Zuidas 每平方米 50 欧元以下的办公空间」
  • 「巴塞罗那高客流量区域附近的零售空间」
  • 「鹿特丹港区带装卸台的仓库」
  • 「Centraal 站附近可共享办公的办公室」
  • 「Jordaan 带露台许可的餐饮租赁空间」

商业房产 Schema

尽量使用具体类型:

  • OfficeBuilding 用于办公空间
  • ShoppingCenter 或 Store 用于零售
  • Warehouse 用于工业/物流
  • LocalBusiness 作为通用后备,配合 additionalType

商业房源需要住宅房源不需要的字段:


{
  "@context": "https://schema.org",
  "@type": "RealEstateListing",
  "name": "350m2 Office Space in Amsterdam Zuidas",
  "about": {
    "@type": "OfficeBuilding",
    "address": {
      "@type": "PostalAddress",
      "streetAddress": "Barbara Strozzilaan 201",
      "addressLocality": "Amsterdam",
      "postalCode": "1083 HN",
      "addressCountry": "NL"
    },
    "geo": {
      "@type": "GeoCoordinates",
      "latitude": 52.3361,
      "longitude": 4.8756
    },
    "floorSize": {
      "@type": "QuantitativeValue",
      "value": 350,
      "unitCode": "MTK"
    },
    "amenityFeature": [
      {"@type": "LocationFeatureSpecification", "name": "Fiber Internet"},
      {"@type": "LocationFeatureSpecification", "name": "24/7 Access"},
      {"@type": "LocationFeatureSpecification", "name": "Meeting Rooms"},
      {"@type": "LocationFeatureSpecification", "name": "Parking Garage"},
      {"@type": "LocationFeatureSpecification", "name": "Reception Desk"}
    ],
    "additionalProperty": [
      {"@type": "PropertyValue", "name": "Floor Level", "value": "8th floor"},
      {"@type": "PropertyValue", "name": "Nearest Metro", "value": "Amsterdam Zuid, 200m"},
      {"@type": "PropertyValue", "name": "Parking Spaces", "value": "12 included"}
    ]
  },
  "offers": {
    "@type": "Offer",
    "priceSpecification": {
      "@type": "UnitPriceSpecification",
      "price": 45,
      "priceCurrency": "EUR",
      "unitText": "SQM/YEAR"
    }
  }
}

商业专属丰富化

商业租户关心的附近背景与住宅居民不同:

  • 交通枢纽:火车站、高速公路入口、机场距离
  • 商业生态系统:附近企业、商业园区、会议中心
  • 员工设施:餐厅、健身房、托儿所、停车位
  • 客流量数据:零售空间的关键指标

GeoEnrich API 返回所有这些兴趣点类别,助您自动为商业房源丰富商业租户所需的背景信息。

度假与短租 AEO

度假租赁(Airbnb 式短租)需要完全不同的 schema 方法。这些是酒店业务,而非房产销售或长租。

使用 LodgingBusiness,而非 RealEstateListing

度假租赁的正确 schema 类型是 LodgingBusiness(或更具体的 VacationRental,如果支持)。这告诉 AI 引擎该房产接受含夜间定价、入退房时间和酒店式设施的短期客人。

与住宅房源的主要区别

  • 定价:夜间费率,而非总售价或月租
  • 可用性:入住和退房时间、最短入住天数
  • 设施:WiFi、厨房、洗衣机、毛巾、床上用品
  • 容纳人数:最大入住人数、床位数、卧室数
  • 评价:来自房客评价的 aggregateRating
  • 附近景点:游客关心的兴趣点与居民不同

度假租赁查询模式

度假租赁搜索高度具体:

  • 「巴塞罗那哥特区每晚 150 以下可住 4 人的公寓」
  • 「里斯本海景附近的度假租赁」
  • 「阿姆斯特丹带花园和停车位的家庭度假屋」
  • 「加尔达湖附近宠物友好的度假小屋」
  • 「阿姆斯特丹适合情侣的浪漫运河房租赁」

度假租赁必填字段


{
  "@context": "https://schema.org",
  "@type": "LodgingBusiness",
  "name": "Canal View Apartment in Amsterdam Jordaan",
  "description": "Charming 1-bedroom canal house apartment in the heart of Jordaan. Sleeps 2 guests. Original wooden beams, modern kitchen, rain shower. 5-minute walk to Anne Frank House and Westerkerk. Free WiFi, Smart TV, Nespresso machine.",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "Prinsengracht 263",
    "addressLocality": "Amsterdam",
    "postalCode": "1016 GV",
    "addressCountry": "NL"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 52.3752,
    "longitude": 4.8839
  },
  "checkinTime": "15:00",
  "checkoutTime": "11:00",
  "numberOfRooms": 1,
  "petsAllowed": false,
  "amenityFeature": [
    {"@type": "LocationFeatureSpecification", "name": "Free WiFi"},
    {"@type": "LocationFeatureSpecification", "name": "Kitchen"},
    {"@type": "LocationFeatureSpecification", "name": "Washing Machine"},
    {"@type": "LocationFeatureSpecification", "name": "Smart TV"},
    {"@type": "LocationFeatureSpecification", "name": "Air Conditioning"},
    {"@type": "LocationFeatureSpecification", "name": "Canal View"}
  ],
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": 4.8,
    "reviewCount": 127,
    "bestRating": 5
  },
  "offers": {
    "@type": "Offer",
    "price": 135,
    "priceCurrency": "EUR",
    "unitText": "NIGHT"
  }
}

面向游客的地理丰富化

度假租赁房客关心的附近兴趣点与长租居民不同:

  • 旅游景点:博物馆、地标、历史遗址及距离
  • 餐厅和酒吧:步行范围内的密度和多样性
  • 机场和车站交通:距主要交通枢纽的时间
  • 海滩或滨水区:海滨房产的距离
  • 超市:自助式客人最近的食品杂货店

使用 GeoEnrich API 为每个度假租赁房源自动生成面向游客的兴趣点数据。

实施与测试

按照以下流程在您的房源页面上实施 schema 标记。

第 1 步:将 JSON-LD 添加到房源页面

将 <script type="application/ld+json"> 标签放置在每个房源页面的 <head> 中。对于拥有数千个房源的房产门户,请从您的房源数据库服务端生成 schema。

第 2 步:验证

使用以下工具测试每个 schema:

第 3 步:用 AI 引擎测试

部署后,向 AI 引擎询问您的房源:

  • 「告诉我阿姆斯特丹 Ruysdaelkade 上出售的公寓」
  • 「[您的房产地址] 附近有什么?」
  • 「对比阿姆斯特丹 De Pijp 的房产」

如果 AI 无法给出具体回答,说明您的 schema 不完整或未被抓取。检查页面是否可索引(无 noindex 标签),JSON-LD 是否在渲染的 HTML 中(不仅仅是客户端 JS),以及您的 sitemap 是否包含房源页面。

第 4 步:使用清单

本页面的清单选项卡涵盖完整房产 GEO 所需的每个字段和信号。系统地逐节完成。力求基础 schema 和地址部分达到 100%,然后添加附近背景和社区信号以最大化覆盖范围。

通过 GeoEnrich API 扩展规模

为每个房源手动添加附近兴趣点、交通数据和社区背景在规模化场景下不可行。如果您管理 100 套以上房产,则需要自动化。

GeoEnrich 的工作原理

MapAtlas GeoEnrich API 接收地址或坐标对,返回结构化的附近背景信息:

  • 学校(名称、类型、距离)
  • 公共交通(站点、线路、距离)
  • 购物(超市、市场、零售)
  • 公园和绿地
  • 医疗(医院、药店、全科诊所)
  • 餐厅和咖啡馆
  • 旅游景点(用于度假租赁)
  • 步行性、交通和骑行评分

集成模式

房产门户的典型工作流:

  1. 创建含地址的房源
  2. 将地址地理编码为坐标(MapAtlas Geocoding API 或您现有的提供商)
  3. 将坐标发送至 GeoEnrich API
  4. 将响应解析为 additionalProperty 值
  5. 生成含完整丰富化的 JSON-LD schema
  6. 将 schema 嵌入房源页面

此流程对每个新房源自动运行,也可对现有库存批量处理。

前后对比

没有 GeoEnrich,房源仅能匹配关于其地址和基本规格(卧室数、价格)的查询。有了 GeoEnrich,同一房源可匹配关于学校、交通、步行性、附近餐厅、公园、医院和通勤时间的查询。这是匹配 5 种与 50 多种查询类型的区别。

有关实施细节和 API 文档,请参见 GeoEnrich API 页面。

大规模自动化

手动编写模式对一条房源有效,但面对数千条时该怎么办?

MapAtlas GeoEnrich API 自动为每条房源添加坐标、附近兴趣点、交通接入、社区背景和模式就绪的地理数据,每条房源仅需一次 API 调用,可在任意规模下使用。