Hầu hết tin đăng bất động sản không hiển thị với các công cụ tìm kiếm AI. Hướng dẫn này giải thích lý do và cách khắc phục, dù bạn đăng 1 hay 10.000 bất động sản.
Đánh dấu schema JSON-LD, dữ liệu có cấu trúc và làm phong phú vị trí để đưa tin đăng bất động sản xuất hiện trong ChatGPT, Perplexity và Google AI Overviews.
Không có dữ liệu địa lý
AI thấy gì: không có gì để khớp. Không có truy vấn về khu phố hay gần đây nào được trả lời.
Với GeoEnrich
AI thấy gì: có thể khớp với 50+ loại truy vấn bao gồm "2 phòng ngủ gần xe điện ở De Pijp", "căn hộ có bãi đỗ xe dưới 400k", "phố yên tĩnh gần trường học".
GeoEnrich tạo tự động cột bên phải từ một địa chỉ. Một lần gọi API.
Thêm JSON-LD này vào trang tin đăng bất động sản của bạn và các công cụ tìm kiếm AI có thể phân tích và đề xuất ngay lập tức:
{
"@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"
}
}
Đây là những điều cơ bản. Các phần bên dưới giải thích cách thêm ngữ cảnh khu phố, POI gần đây, dữ liệu giao thông và nhiều hơn nữa. Xem tab "Ví dụ Schema" để có file hoàn chỉnh sẵn sàng cho production.
Tìm kiếm bất động sản qua AI về cơ bản khác với tìm kiếm trên cổng thông tin. Thay vì bộ lọc thả xuống, mọi người mô tả điều họ muốn bằng ngôn ngữ tự nhiên. Hiểu các mẫu ý định này là nền tảng của GEO bất động sản.
Đây là các truy vấn bất động sản phổ biến nhất và khó trả lời nhất đối với các tin đăng truyền thống:
Mỗi truy vấn này đều yêu cầu dữ liệu vị trí có cấu trúc, tọa độ và ngữ cảnh POI gần đây. Nếu không có, tin đăng của bạn sẽ không hiển thị.
Người mua và người thuê quan tâm đến những gì ở gần đó. Các công cụ AI cần dữ liệu khoảng cách để trả lời:
Kết hợp thuộc tính bất động sản với vị trí:
Nhà đầu tư đặt câu hỏi khác:
Để xuất hiện trong những kết quả này, tin đăng của bạn cần dữ liệu có cấu trúc mà các công cụ AI có thể phân tích: tọa độ chính xác, POI gần đây với khoảng cách, thông số bất động sản dưới dạng trường có cấu trúc và tín hiệu ngữ cảnh khu phố.
Phần lớn tin đăng bất động sản không hiển thị với các công cụ tìm kiếm AI. Đây là lý do và những gì cần khắc phục.
"Tọa lạc trong khu dân cư đáng mơ ước" không nói gì với AI. "Ruysdaelkade 21, Amsterdam De Pijp, cách chợ Albert Cuyp 200 mét" nói với AI tất cả mọi thứ. Mô tả mơ hồ là lý do lớn nhất khiến tin đăng thất bại.
Không có vĩ độ và kinh độ, AI không thể tính khoảng cách. Mọi truy vấn về sự gần gũi đều yêu cầu tọa độ trên cả tin đăng và POI. Tọa độ phải chính xác đến 4+ chữ số thập phân.
Đây là nơi hầu hết tin đăng thất bại dù có địa chỉ. Tin đăng có tọa độ nhưng không có dữ liệu POI gần đây không thể trả lời "căn hộ gần trường học".
Chi tiết bất động sản được chôn vùi trong đoạn văn bản khó để AI trích xuất. Các trường schema có cấu trúc như floorSize: 85, numberOfBedrooms: 2 và amenityFeature: "South-facing balcony" có thể đọc được bởi máy. Các công cụ AI ưa thích dữ liệu có cấu trúc.
Tin đăng được đăng 6 tháng trước không có trường datePosted hay dateModified trông như bị bỏ rơi. Luôn bao gồm ngày và cập nhật chúng khi tin đăng thay đổi.
Giá được chôn vùi trong văn bản khó phân tích hơn một Offer với price: 395000 và priceCurrency: "EUR".
Loại RealEstateListing từ Schema.org là schema chính xác cho tin đăng bất động sản. Nó bao bọc một bất động sản (Residence, Apartment, House) trong ngữ cảnh tin đăng với giá, ngày và tình trạng sẵn có.
RealEstateListing có ba phần chính:
about): địa chỉ, tọa độ, diện tích, số phòng, tiện íchApartment cho căn hộ chung cư, căn hộ studioHouse hoặc SingleFamilyResidence cho nhà độc lập/bán độc lậpResidence như phương án dự phòng chung
{
"@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: năm xây dựng (quan trọng cho truy vấn cải tạo)petsAllowed: true/false (lọc tìm kiếm thân thiện với thú cưng)amenityFeature: mảng tính năng như "Ban công", "Bãi đỗ xe", "Vườn", "Thang máy", "Kho"numberOfFullBathrooms / numberOfPartialBathrooms: cụ thể hơn tổng sốfloorLevel: bất động sản ở tầng nàopermittedUsage: "Dân cư", "Hỗn hợp", "Thương mại"Chỉ tọa độ nói với AI nơi bất động sản tọa lạc. Làm phong phú geo nói với AI những gì xung quanh nó. Đây là sự khác biệt giữa khớp 5 loại truy vấn và 50.
Đối với bất động sản tại Ruysdaelkade 21 ở Amsterdam, làm phong phú geo cung cấp:
{
"@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" }
]
}
MapAtlas GeoEnrich API tạo ra tất cả điều này từ một địa chỉ hoặc cặp tọa độ duy nhất. Một lần gọi API trả về trường học, giao thông, mua sắm, công viên, y tế và nhà hàng với tên và khoảng cách, sẵn sàng nhúng dưới dạng giá trị additionalProperty.
Ngoài các POI riêng lẻ, người mua và người thuê muốn hiểu bản thân khu phố. Các công cụ AI tìm kiếm các tín hiệu mô tả đặc điểm và khả năng sinh sống của một khu vực.
{
"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" }
]
}
Các điểm số này trực tiếp trả lời các truy vấn như "khu phố thân thiện với người đi bộ ở Amsterdam cho cuộc sống không xe hơi" hoặc "khu vực tốt nhất cho người đi làm bằng xe đạp ở Amsterdam".
{
"@type": "PropertyValue",
"name": "Commute to Amsterdam Centraal",
"value": "12 minutes by tram, 18 minutes by bike"
}
Mô tả tin đăng của bạn nên bao gồm ngữ cảnh khu phố. Thay vì "khu phố tuyệt vời", hãy viết:
"De Pijp là một trong những khu phố được ưa chuộng nhất ở Amsterdam, nổi tiếng với chợ phố Albert Cuyp, cảnh quan nhà hàng đa dạng và các kênh rạch có hàng cây. Khu vực này có phương tiện giao thông công cộng xuất sắc với các tuyến xe điện 3, 12 và 24, cộng với Metro 52 mới khai trương (tuyến Bắc-Nam). Sarphatipark cung cấp không gian xanh trong vòng 400 mét."
Tin đăng cho thuê và bán sử dụng cùng wrapper RealEstateListing, nhưng cấu trúc đề xuất và một số trường khác nhau.
{
"offers": {
"@type": "Offer",
"price": 395000,
"priceCurrency": "EUR",
"availability": "https://schema.org/InStock",
"validFrom": "2026-03-15"
}
}
Đối với cho thuê, giá đại diện cho tiền thuê hàng tháng. Sử dụng priceSpecification để làm rõ kỳ thanh toán:
{
"offers": {
"@type": "Offer",
"priceSpecification": {
"@type": "UnitPriceSpecification",
"price": 1850,
"priceCurrency": "EUR",
"unitText": "MONTH"
},
"availability": "https://schema.org/InStock"
}
}
leaseLength: thời hạn thuê tối thiểu (ví dụ: 12 tháng)petsAllowed: quan trọng cho tìm kiếm cho thuêamenityFeature: có đồ đạc/không có đồ đạc, tiện ích đã bao gồm, bãi đỗ xevalidFrom trên Đề xuất)Cho thuê kỳ nghỉ ngắn hạn (kiểu Airbnb) không nên dùng RealEstateListing. Chúng sử dụng LodgingBusiness với giá theo đêm và thời gian nhận/trả phòng.
Tìm kiếm bất động sản thương mại theo các mẫu khác với bất động sản dân dụng. Các doanh nghiệp tìm kiếm văn phòng, bán lẻ hoặc không gian công nghiệp đặt câu hỏi yêu cầu dữ liệu có cấu trúc cụ thể.
OfficeBuilding cho không gian văn phòngShoppingCenter hoặc Store cho bán lẻWarehouse cho công nghiệp/hậu cầnLocalBusiness làm phương án dự phòng chung với 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 trả về tất cả các danh mục POI này để bạn có thể tự động làm phong phú các tin đăng thương mại với ngữ cảnh mà người thuê doanh nghiệp tìm kiếm.
Cho thuê kỳ nghỉ (lưu trú ngắn hạn kiểu Airbnb) cần cách tiếp cận schema hoàn toàn khác. Đây là doanh nghiệp khách sạn, không phải bán bất động sản hay cho thuê dài hạn.
Loại schema chính xác cho cho thuê kỳ nghỉ là LodgingBusiness (hoặc VacationRental cụ thể hơn nếu được hỗ trợ).
{
"@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"
}
}
Sử dụng GeoEnrich API để tự động tạo dữ liệu POI liên quan đến du khách cho mỗi tin đăng cho thuê kỳ nghỉ.
Thực hiện quy trình này để triển khai đánh dấu schema trên các trang tin đăng bất động sản của bạn.
Đặt thẻ <script type="application/ld+json"> trong <head> của mỗi trang tin đăng. Đối với các cổng thông tin bất động sản với hàng nghìn tin đăng, hãy tạo schema phía máy chủ từ cơ sở dữ liệu tin đăng của bạn.
Sau khi triển khai, hỏi các công cụ AI về tin đăng của bạn.
Tab danh sách kiểm tra trên trang này bao gồm mọi trường và tín hiệu cần thiết cho GEO tin đăng bất động sản hoàn chỉnh.
Thêm thủ công POI gần đây, dữ liệu giao thông và ngữ cảnh khu phố cho mỗi tin đăng không khả thi ở quy mô lớn. Nếu bạn quản lý 100+ bất động sản, bạn cần tự động hóa.
MapAtlas GeoEnrich API nhận địa chỉ hoặc cặp tọa độ và trả về ngữ cảnh gần đây có cấu trúc:
additionalPropertyĐể biết chi tiết triển khai và tài liệu API, xem trang GeoEnrich API.
Tự động hóa ở quy mô lớn
API GeoEnrich của MapAtlas tự động thêm tọa độ, POI lân cận, khả năng tiếp cận giao thông, ngữ cảnh khu phố và dữ liệu địa lý sẵn sàng schema vào mỗi danh sách, một lần gọi API mỗi danh sách, ở bất kỳ quy mô nào.