Hướng dẫn GEO Bất động sản
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.
Bắt đầu nhanh
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.
Cách mọi người tìm kiếm bất động sản qua AI
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.
Truy vấn về khu phố và vị trí
Đâ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:
- "Căn hộ 2 phòng ngủ ở De Pijp, Amsterdam dưới 400k"
- "Nhà gia đình gần trường quốc tế ở Barcelona"
- "Phố yên tĩnh ở London Zone 2 có kết nối giao thông tốt"
- "Căn hộ trong khoảng cách đi bộ đến bãi biển ở Lisbon"
- "Nhà gần bệnh viện ở Amsterdam-Zuid"
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ị.
Truy vấn về sự gần gũi
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:
- "Căn hộ gần Vondelpark có siêu thị trong 5 phút"
- "Nhà trong vòng 500 mét từ trạm tàu điện ngầm ở Amsterdam"
- "Bất động sản gần nhà hàng và cuộc sống về đêm ở Jordaan"
Truy vấn về tính năng và thông số kỹ thuật
Kết hợp thuộc tính bất động sản với vị trí:
- "Căn hộ 3 phòng ngủ có ban công và bãi đỗ xe ở Amsterdam dưới 500k"
- "Căn hộ tầng trệt có vườn ở The Hague"
- "Căn hộ penthouse có sân thượng ở Barcelona Eixample"
- "Nhà tiết kiệm năng lượng với tấm pin mặt trời ở Rotterdam"
Truy vấn đầu tư
Nhà đầu tư đặt câu hỏi khác:
- "Khu phố tốt nhất cho lợi suất cho thuê ở Amsterdam"
- "Khu vực mới nổi ở Lisbon cho đầu tư bất động sản"
- "Giá trung bình mỗi mét vuông ở Berlin Mitte so với Kreuzberg"
Để 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ố.
Tại sao tin đăng bất động sản thất bại trong tìm kiếm AI
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.
1. Văn bản vị trí mơ hồ
"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.
2. Không có tọa độ
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.
3. Không có ngữ cảnh gần đây
Đâ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".
4. Không có dữ liệu có cấu trú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.
5. Tin đăng lỗi thời
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.
6. Không có giá trong trường có cấu trúc
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".
Đánh dấu Schema RealEstateListing
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ó.
Cấu trúc cốt lõi
RealEstateListing có ba phần chính:
- Tin đăng bản thân: tên, mô tả, datePosted, URL
- Bất động sản (qua
about): địa chỉ, tọa độ, diện tích, số phòng, tiện ích - Đề xuất: giá, tiền tệ, tình trạng sẵn có
Loại bất động sản
Apartmentcho căn hộ chung cư, căn hộ studioHousehoặcSingleFamilyResidencecho nhà độc lập/bán độc lậpResidencenhư phương án dự phòng chung
Các trường thiết yếu
{
"@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"
}
}
Các trường bất động sản bổ sung
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"
Làm phong phú Geo cho tin đăng bất động sản
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.
Những gì làm phong phú geo thêm vào
Đối với bất động sản tại Ruysdaelkade 21 ở Amsterdam, làm phong phú geo cung cấp:
- Trường học: Trường tiểu học De Pijp (350m), Trường Montessori Zuid (600m), Trường quốc tế (1.2km)
- Giao thông: Trạm xe điện 3 (80m), Tram 12 (120m), Ga tàu điện ngầm De Pijp (500m), Amsterdam Centraal (3.5km)
- Mua sắm: Chợ Albert Cuyp (200m), Siêu thị Albert Heijn (150m), Phố mua sắm Ferdinand Bolstraat (300m)
- Công viên: Sarphatipark (400m), Vondelpark (1.2km)
- Y tế: Bệnh viện OLVG (800m), Nhà thuốc (250m), Phòng khám đa khoa (300m)
- Nhà hàng: 23 nhà hàng trong vòng 500m
Cách cấu trúc POI gần đây
{
"@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.
Tín hiệu ngữ cảnh khu phố
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.
Điểm số đi bộ và giao thông
{
"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".
Dữ liệu thời gian đi lại
{
"@type": "PropertyValue",
"name": "Commute to Amsterdam Centraal",
"value": "12 minutes by tram, 18 minutes by bike"
}
Mô tả khu phố
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."
Số lượng tiện ích địa phương
- "14 nhà hàng trong vòng 300 mét"
- "3 siêu thị trong vòng 500 mét"
- "5 trường học trong vòng 1 kilômét"
- "2 công viên trong vòng 600 mét"
Tin đăng cho thuê và bán
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.
Đề xuất tin đăng bán
{
"offers": {
"@type": "Offer",
"price": 395000,
"priceCurrency": "EUR",
"availability": "https://schema.org/InStock",
"validFrom": "2026-03-15"
}
}
Đề xuất tin đăng cho thuê
Đố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"
}
}
Các trường dành riêng cho cho thuê
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 đỗ xe- Số tiền đặt cọc trong mô tả hoặc additionalProperty
- Ngày có thể vào ở (sử dụng
validFromtrên Đề xuất)
Cho thuê kỳ nghỉ khác biệ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.
Bất động sản thương mại
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ể.
Các truy vấn thương mại phổ biến
- "Văn phòng cho thuê ở Amsterdam Zuidas dưới 50 EUR mỗi m²"
- "Không gian bán lẻ gần khu vực có lưu lượng khách cao ở Barcelona"
- "Kho với cầu tàu bốc dỡ ở khu cảng Rotterdam"
- "Văn phòng sẵn sàng coworking gần Centraal Station"
- "Không gian nhà hàng cho thuê ở Jordaan có giấy phép sân hiên"
Schema cho bất động sản thương mại
OfficeBuildingcho không gian văn phòngShoppingCenterhoặcStorecho bán lẻWarehousecho công nghiệp/hậu cầnLocalBusinesslàm phương án dự phòng chung vớiadditionalType
{
"@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.
AEO cho thuê kỳ nghỉ
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.
Sử dụng LodgingBusiness, không phải RealEstateListing
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ợ).
Sự khác biệt chính với tin đăng dân dụng
- Giá cả: giá theo đêm, không phải tổng giá bán hay tiền thuê hàng tháng
- Tình trạng sẵn có: thời gian nhận và trả phòng, số đêm tối thiểu
- Tiện nghi: WiFi, bếp, máy giặt, khăn tắm, ga giường
- Sức chứa khách: số khách tối đa, số giường, số phòng ngủ
- Đánh giá: aggregateRating từ đánh giá của khách
{
"@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ỉ.
Triển khai và kiểm tra
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.
Bước 1: Thêm JSON-LD vào trang tin đăng
Đặ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.
Bước 2: Xác thực
- JSON Linter: xác thực cú pháp tại jsonlint.com
- Google Rich Results Test: search.google.com/test/rich-results
- AEO Checker: /ai-seo-checker để xác thực dành riêng cho AI
Bước 3: Kiểm tra với các công cụ AI
Sau khi triển khai, hỏi các công cụ AI về tin đăng của bạn.
Bước 4: Sử dụng danh sách kiểm tra
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.
Mở rộng quy mô với GeoEnrich API
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.
Cách GeoEnrich hoạt động
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:
- Trường học (tên, loại, khoảng cách)
- Giao thông công cộng (điểm dừng, tuyến, khoảng cách)
- Mua sắm (siêu thị, chợ, bán lẻ)
- Công viên và không gian xanh
- Y tế (bệnh viện, nhà thuốc, bác sĩ đa khoa)
- Nhà hàng và quán cà phê
- Điểm tham quan du lịch (dành cho cho thuê kỳ nghỉ)
- Điểm số đi bộ, giao thông và xe đạp
Mẫu tích hợp
- Tin đăng được tạo với địa chỉ
- Địa chỉ được mã hóa địa lý thành tọa độ
- Tọa độ được gửi đến GeoEnrich API
- Phản hồi được phân tích thành các giá trị
additionalProperty - Schema JSON-LD được tạo với làm phong phú đầy đủ
- Schema được nhúng vào trang tin đăng
Để 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
Viết schema thủ công hoạt động cho một danh sách. Còn hàng nghìn danh sách thì sao?
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.