绝大多数房源对 AI 搜索引擎而言是隐形的。本指南将告诉您原因,以及如何解决,无论您只有 1 套房产还是管理 10,000 套。
JSON-LD schema 标记、结构化数据与地理位置丰富化,助力房源在 ChatGPT、Perplexity 和 Google AI Overviews 中获得曝光。
无地理数据
AI 所见:无可匹配内容。零邻里或邻近查询得到回答。
使用 GeoEnrich
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 进行的房产搜索与门户网站搜索有本质区别。用户不再通过下拉筛选,而是用自然语言描述需求。理解这些搜索意图模式是房地产 GEO 的基础。
这是最常见的房产查询类型,也是传统房源最难以回答的:
每一个查询都需要结构化位置数据、坐标和附近兴趣点背景。缺少这些数据,您的房源将无从被发现。
买家和租客关心附近有什么。AI 引擎需要距离数据才能回答:
将房产属性与位置相结合:
投资者会提出不同问题:
要出现在这些结果中,您的房源需要 AI 引擎可解析的结构化数据:精确坐标、附近兴趣点及距离、结构化字段中的房产规格,以及社区背景信号。
绝大多数房源对 AI 搜索引擎而言是隐形的。以下是原因及解决方法。
「位于优质社区」对 AI 毫无意义。「Ruysdaelkade 21,阿姆斯特丹 De Pijp,距 Albert Cuyp 市场 200 米」才能让 AI 获取所有信息。模糊描述是房源失败的最大原因。AI 无法推断「好地段」指的是 De Pijp,也无法推断「靠近商店」意味着距市场 200 米。
没有经纬度,AI 就无法计算距离。每个邻近查询(「靠近公园」、「地铁附近」、「步行到学校」)都需要房源和兴趣点的坐标。坐标精度需达到 4 位以上小数。「52.35, 4.90」指向 100 米半径;「52.3534, 4.8965」则精确指向某栋建筑。
即使有地址,大多数房源也在这里失败。有坐标但没有附近兴趣点数据的房源无法回答「学校附近的公寓」,因为 AI 没有学校数据可供匹配。您需要明确列出附近有什么,包括名称和距离。
埋藏在段落文本中的房产细节很难被 AI 提取。「这套精美的 85 平米公寓有 2 间卧室、1 间浴室和朝南阳台」是人类可读的。而 floorSize: 85、numberOfBedrooms: 2 和 amenityFeature: "South-facing balcony" 等结构化 schema 字段是机器可读的。AI 引擎强烈偏好结构化数据。
6 个月前发布且没有 datePosted 或 dateModified 字段的房源看起来已被废弃。AI 引擎会降低看似过时内容的优先级。始终包含日期,并在房源变更时更新。
埋藏在文本中的价格(「要价:39.5 万欧元」)比带有 price: 395000 和 priceCurrency: "EUR" 的 Offer 更难解析。价格是房产查询中最常见的筛选条件之一,缺少结构化定价意味着完全错失这些查询。
Schema.org 的 RealEstateListing 类型是房源的正确 schema。它将房产(Residence、Apartment、House)包裹在包含价格、日期和可用状态的房源上下文中。
RealEstateListing 包含三个关键部分:
about):地址、地理坐标、面积、房间数、配套设施在 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 的房产,地理丰富化提供:
使用房产的 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 将无法回答关于您房源的任何以下查询:
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 感知密度和便利性:
这些数量支持比较查询:「阿姆斯特丹哪个社区附近餐厅最多?」或「学校覆盖最好的区域」。
租赁和出售房源使用相同的 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:带家具/不带家具、含水电、停车位validFrom)短期度假租赁(Airbnb 模式)不应使用 RealEstateListing。它们使用 LodgingBusiness,含夜间定价和入住/退房时间。详见下方度假租赁章节。
商业地产搜索遵循与住宅不同的模式。寻找办公室、零售或工业空间的企业会提出需要特定结构化数据的问题。
尽量使用具体类型:
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 返回所有这些兴趣点类别,助您自动为商业房源丰富商业租户所需的背景信息。
度假租赁(Airbnb 式短租)需要完全不同的 schema 方法。这些是酒店业务,而非房产销售或长租。
度假租赁的正确 schema 类型是 LodgingBusiness(或更具体的 VacationRental,如果支持)。这告诉 AI 引擎该房产接受含夜间定价、入退房时间和酒店式设施的短期客人。
度假租赁搜索高度具体:
{
"@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 标记。
将 <script type="application/ld+json"> 标签放置在每个房源页面的 <head> 中。对于拥有数千个房源的房产门户,请从您的房源数据库服务端生成 schema。
使用以下工具测试每个 schema:
部署后,向 AI 引擎询问您的房源:
如果 AI 无法给出具体回答,说明您的 schema 不完整或未被抓取。检查页面是否可索引(无 noindex 标签),JSON-LD 是否在渲染的 HTML 中(不仅仅是客户端 JS),以及您的 sitemap 是否包含房源页面。
本页面的清单选项卡涵盖完整房产 GEO 所需的每个字段和信号。系统地逐节完成。力求基础 schema 和地址部分达到 100%,然后添加附近背景和社区信号以最大化覆盖范围。
为每个房源手动添加附近兴趣点、交通数据和社区背景在规模化场景下不可行。如果您管理 100 套以上房产,则需要自动化。
MapAtlas GeoEnrich API 接收地址或坐标对,返回结构化的附近背景信息:
房产门户的典型工作流:
additionalProperty 值此流程对每个新房源自动运行,也可对现有库存批量处理。
没有 GeoEnrich,房源仅能匹配关于其地址和基本规格(卧室数、价格)的查询。有了 GeoEnrich,同一房源可匹配关于学校、交通、步行性、附近餐厅、公园、医院和通勤时间的查询。这是匹配 5 种与 50 多种查询类型的区别。
有关实施细节和 API 文档,请参见 GeoEnrich API 页面。
大规模自动化
MapAtlas GeoEnrich API 自动为每条房源添加坐标、附近兴趣点、交通接入、社区背景和模式就绪的地理数据,每条房源仅需一次 API 调用,可在任意规模下使用。