Panduan GEO Properti
Sebagian besar listing properti tidak terlihat oleh mesin pencari AI. Panduan ini menjelaskan alasannya dan cara memperbaikinya, baik Anda mendaftar 1 properti maupun 10.000.
Markup skema JSON-LD, data terstruktur, dan pengayaan lokasi untuk membuat listing properti terlihat di ChatGPT, Perplexity, dan Google AI Overviews.
Tanpa data geo
Yang dilihat AI: tidak ada yang dapat dicocokkan. Nol kueri lingkungan atau kedekatan yang terjawab.
Dengan GeoEnrich
Yang dilihat AI: dapat dicocokkan untuk 50+ jenis kueri termasuk "2 kamar tidur dekat trem di De Pijp", "apartemen dengan parkir di bawah 400k", "jalan tenang dekat sekolah".
GeoEnrich menghasilkan kolom kanan secara otomatis dari sebuah alamat. Satu panggilan API.
Mulai Cepat
Tambahkan JSON-LD ini ke halaman listing properti Anda dan mesin pencari AI dapat langsung mengurai serta merekomendasikannya:
{
"@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"
}
}
Ini mencakup dasar-dasarnya. Bagian di bawah menjelaskan cara menambahkan konteks lingkungan, POI terdekat, data transit, dan lainnya. Lihat tab "Contoh Skema" untuk file siap produksi yang lengkap.
Cara Orang Mencari Properti Melalui AI
Pencarian properti melalui AI pada dasarnya berbeda dari pencarian portal. Alih-alih dropdown filter, orang mendeskripsikan keinginan mereka dalam bahasa alami. Memahami pola niat ini adalah fondasi GEO properti.
Kueri Lingkungan dan Lokasi
Ini adalah kueri properti yang paling umum dan paling sulit dijawab oleh listing tradisional:
- "Apartemen 2 kamar tidur di De Pijp, Amsterdam di bawah 400k"
- "Rumah keluarga dekat sekolah internasional di Barcelona"
- "Jalan tenang di London Zone 2 dengan akses transportasi yang baik"
- "Apartemen dalam jarak jalan kaki dari pantai di Lisbon"
- "Rumah dekat rumah sakit di Amsterdam-Zuid"
Setiap kueri ini memerlukan data lokasi terstruktur, koordinat, dan konteks POI terdekat. Tanpanya, listing Anda tidak terlihat.
Kueri Kedekatan
Pembeli dan penyewa peduli dengan apa yang ada di sekitar. Mesin AI membutuhkan data jarak untuk menjawab:
- "Apartemen dekat Vondelpark dengan supermarket dalam 5 menit"
- "Rumah dalam 500 meter dari stasiun metro di Amsterdam"
- "Properti dekat restoran dan hiburan malam di Jordaan"
Kueri Fitur dan Spesifikasi
Menggabungkan atribut properti dengan lokasi:
- "Apartemen 3 kamar tidur dengan balkon dan parkir di Amsterdam di bawah 500k"
- "Apartemen lantai dasar dengan taman di The Hague"
- "Penthouse dengan teras atap di Barcelona Eixample"
- "Rumah hemat energi dengan panel surya di Rotterdam"
Kueri Investasi
Investor mengajukan pertanyaan yang berbeda:
- "Lingkungan terbaik untuk imbal hasil sewa di Amsterdam"
- "Area berkembang di Lisbon untuk investasi properti"
- "Harga rata-rata per meter persegi di Berlin Mitte vs Kreuzberg"
Untuk muncul dalam hasil ini, listing Anda memerlukan data terstruktur yang dapat diurai mesin AI: koordinat tepat, POI terdekat dengan jarak, spesifikasi properti sebagai bidang terstruktur, dan sinyal konteks lingkungan.
Mengapa Listing Properti Gagal di Pencarian AI
Sebagian besar listing properti tidak terlihat oleh mesin pencari AI. Berikut alasannya dan apa yang perlu diperbaiki.
1. Teks Lokasi yang Samar
"Terletak di lingkungan yang diinginkan" tidak memberi tahu AI apa-apa. "Ruysdaelkade 21, Amsterdam De Pijp, 200 meter dari pasar Albert Cuyp" memberi tahu AI segalanya. Deskripsi samar adalah alasan terbesar listing gagal.
2. Tidak Ada Koordinat
Tanpa lintang dan bujur, AI tidak dapat menghitung jarak. Setiap kueri kedekatan memerlukan koordinat pada listing dan POI. Koordinat harus tepat hingga 4+ desimal.
3. Tidak Ada Konteks Terdekat
Di sinilah sebagian besar listing gagal meskipun memiliki alamat. Listing dengan koordinat tetapi tanpa data POI terdekat tidak dapat menjawab "apartemen dekat sekolah".
4. Tidak Ada Data Terstruktur
Detail properti yang tersembunyi dalam teks paragraf sulit diekstrak AI. Bidang skema terstruktur seperti floorSize: 85, numberOfBedrooms: 2, dan amenityFeature: "South-facing balcony" dapat dibaca mesin. Mesin AI sangat menyukai data terstruktur.
5. Listing Kedaluwarsa
Listing yang diposting 6 bulan lalu tanpa bidang datePosted atau dateModified terlihat ditinggalkan. Selalu sertakan tanggal dan perbarui saat listing berubah.
6. Tidak Ada Harga di Bidang Terstruktur
Harga yang tersembunyi dalam teks lebih sulit diurai daripada Offer dengan price: 395000 dan priceCurrency: "EUR".
Markup Skema RealEstateListing
Tipe RealEstateListing dari Schema.org adalah skema yang tepat untuk listing properti. Ini membungkus properti (Residence, Apartment, House) dalam konteks listing dengan harga, tanggal, dan ketersediaan.
Struktur Inti
RealEstateListing memiliki tiga bagian utama:
- Listing itu sendiri: nama, deskripsi, datePosted, URL
- Properti (melalui
about): alamat, geo, luas lantai, jumlah kamar, fasilitas - Penawaran: harga, mata uang, ketersediaan
Jenis Properti
Apartmentuntuk flat, kondominium, studioHouseatauSingleFamilyResidenceuntuk rumah terpisah/semi-terpisahResidencesebagai fallback umum
Bidang Penting
{
"@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"
}
}
Bidang Properti Tambahan
yearBuilt: tahun konstruksi (penting untuk kueri renovasi)petsAllowed: true/false (memfilter pencarian ramah hewan peliharaan)amenityFeature: array fitur seperti "Balkon", "Parkir", "Taman", "Lift", "Gudang"numberOfFullBathrooms/numberOfPartialBathrooms: lebih spesifik dari totalfloorLevel: lantai berapa properti beradapermittedUsage: "Residensial", "Campuran", "Komersial"
Pengayaan Geo untuk Listing Properti
Koordinat saja hanya memberi tahu AI di mana properti berada. Pengayaan geo memberi tahu AI apa yang ada di sekitarnya. Inilah perbedaan antara cocok dengan 5 jenis kueri dan 50.
Apa yang Ditambahkan Pengayaan Geo
Untuk properti di Ruysdaelkade 21 Amsterdam, pengayaan geo memberikan:
- Sekolah: De Pijp Primary School (350m), Montessori School Zuid (600m), International School (1.2km)
- Transit: Halte Trem 3 (80m), Trem 12 (120m), Stasiun Metro De Pijp (500m), Amsterdam Centraal (3.5km)
- Belanja: Pasar Albert Cuyp (200m), Supermarket Albert Heijn (150m), Jalan belanja Ferdinand Bolstraat (300m)
- Taman: Sarphatipark (400m), Vondelpark (1.2km)
- Kesehatan: OLVG Hospital (800m), Apotek (250m), Praktik Umum (300m)
- Restoran: 23 restoran dalam 500m
Cara Menyusun POI Terdekat
{
"@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 menghasilkan semua ini dari satu alamat atau pasangan koordinat. Satu panggilan API mengembalikan sekolah, transit, belanja, taman, kesehatan, dan restoran dengan nama dan jarak, siap disematkan sebagai nilai additionalProperty.
Sinyal Konteks Lingkungan
Selain POI individual, pembeli dan penyewa ingin memahami lingkungan itu sendiri. Mesin AI mencari sinyal yang mendeskripsikan karakter dan kelayakan huni suatu area.
Skor Walkability dan Transportasi
{
"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" }
]
}
Skor ini langsung menjawab kueri seperti "lingkungan ramah pejalan kaki di Amsterdam untuk hidup tanpa mobil" atau "area terbaik untuk komuter sepeda di Amsterdam".
Data Waktu Tempuh
{
"@type": "PropertyValue",
"name": "Commute to Amsterdam Centraal",
"value": "12 minutes by tram, 18 minutes by bike"
}
Deskripsi Lingkungan
Deskripsi listing Anda harus menyertakan konteks lingkungan. Alih-alih "lingkungan yang bagus", tulis:
"De Pijp adalah salah satu lingkungan paling diminati di Amsterdam, dikenal dengan pasar jalanan Albert Cuyp, pemandangan restoran yang beragam, dan kanal berjejer pohon. Area ini memiliki transportasi umum yang sangat baik dengan jalur trem 3, 12, dan 24, ditambah Metro 52 (jalur Utara-Selatan) yang baru dibuka. Sarphatipark menawarkan ruang hijau dalam jarak 400 meter."
Jumlah Fasilitas Lokal
- "14 restoran dalam 300 meter"
- "3 supermarket dalam 500 meter"
- "5 sekolah dalam 1 kilometer"
- "2 taman dalam 600 meter"
Listing Sewa vs Jual
Listing sewa dan jual menggunakan wrapper RealEstateListing yang sama, tetapi struktur penawaran dan beberapa bidang properti berbeda.
Penawaran Listing Jual
{
"offers": {
"@type": "Offer",
"price": 395000,
"priceCurrency": "EUR",
"availability": "https://schema.org/InStock",
"validFrom": "2026-03-15"
}
}
Penawaran Listing Sewa
Untuk sewa, harga mewakili sewa bulanan. Gunakan priceSpecification untuk memperjelas periode penagihan:
{
"offers": {
"@type": "Offer",
"priceSpecification": {
"@type": "UnitPriceSpecification",
"price": 1850,
"priceCurrency": "EUR",
"unitText": "MONTH"
},
"availability": "https://schema.org/InStock"
}
}
Bidang Khusus Sewa
leaseLength: durasi sewa minimum (mis. 12 bulan)petsAllowed: penting untuk pencarian sewaamenityFeature: furnitur/tidak berfurnitur, utilitas termasuk, parkir- Jumlah deposit dalam deskripsi atau additionalProperty
- Tanggal tersedia mulai (gunakan
validFrompada Penawaran)
Sewa Liburan Berbeda
Sewa liburan jangka pendek (bergaya Airbnb) tidak boleh menggunakan RealEstateListing. Mereka menggunakan LodgingBusiness dengan harga malam dan waktu check-in/check-out.
Properti Komersial
Pencarian properti komersial mengikuti pola yang berbeda dari residensial. Bisnis yang mencari ruang kantor, ritel, atau industri mengajukan pertanyaan yang memerlukan data terstruktur khusus.
Kueri Komersial Umum
- "Ruang kantor disewa di Amsterdam Zuidas di bawah 50 EUR per m²"
- "Ruang ritel dekat area lalu lintas tinggi di Barcelona"
- "Gudang dengan dermaga bongkar muat di area pelabuhan Rotterdam"
- "Kantor siap coworking dekat Centraal Station"
- "Ruang restoran untuk disewa di Jordaan dengan izin teras"
Skema untuk Properti Komersial
OfficeBuildinguntuk ruang kantorShoppingCenteratauStoreuntuk ritelWarehouseuntuk industri/logistikLocalBusinesssebagai fallback umum denganadditionalType
{
"@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 mengembalikan semua kategori POI ini sehingga Anda dapat secara otomatis memperkaya listing komersial dengan konteks yang dicari penyewa bisnis.
AEO Sewa Liburan dan Hari Libur
Sewa liburan (menginap singkat bergaya Airbnb) memerlukan pendekatan skema yang sama sekali berbeda. Ini adalah bisnis perhotelan, bukan penjualan properti atau sewa jangka panjang.
Gunakan LodgingBusiness, Bukan RealEstateListing
Jenis skema yang tepat untuk sewa liburan adalah LodgingBusiness (atau VacationRental yang lebih spesifik jika didukung).
Perbedaan Utama dari Listing Residensial
- Harga: tarif per malam, bukan harga jual total atau sewa bulanan
- Ketersediaan: waktu check-in dan check-out, minimum menginap
- Fasilitas: WiFi, dapur, mesin cuci, handuk, linen
- Kapasitas tamu: hunian maksimal, tempat tidur, kamar tidur
- Ulasan: aggregateRating dari ulasan tamu
{
"@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"
}
}
Gunakan GeoEnrich API untuk secara otomatis menghasilkan data POI yang relevan untuk wisatawan bagi setiap listing sewa liburan.
Implementasi dan Pengujian
Ikuti proses ini untuk mengimplementasikan markup skema di halaman listing properti Anda.
Langkah 1: Tambahkan JSON-LD ke Halaman Listing
Tempatkan tag <script type="application/ld+json"> di <head> setiap halaman listing. Untuk portal properti dengan ribuan listing, buat skema di sisi server dari database listing Anda.
Langkah 2: Validasi
- JSON Linter: validasi sintaks di jsonlint.com
- Google Rich Results Test: search.google.com/test/rich-results
- AEO Checker: /ai-seo-checker untuk validasi khusus AI
Langkah 3: Uji dengan Mesin AI
Setelah deployment, tanyakan mesin AI tentang listing Anda.
Langkah 4: Gunakan Daftar Periksa
Tab daftar periksa di halaman ini mencakup setiap bidang dan sinyal yang diperlukan untuk GEO listing properti yang lengkap.
Skalabilitas dengan GeoEnrich API
Menambahkan POI terdekat, data transit, dan konteks lingkungan secara manual ke setiap listing tidak layak dalam skala besar. Jika Anda mengelola 100+ properti, Anda memerlukan otomatisasi.
Cara Kerja GeoEnrich
MapAtlas GeoEnrich API mengambil alamat atau pasangan koordinat dan mengembalikan konteks terdekat yang terstruktur:
- Sekolah (nama, jenis, jarak)
- Transportasi umum (halte, jalur, jarak)
- Belanja (supermarket, pasar, ritel)
- Taman dan ruang hijau
- Kesehatan (rumah sakit, apotek, dokter umum)
- Restoran dan kafe
- Objek wisata (untuk sewa liburan)
- Skor walkability, transit, dan sepeda
Pola Integrasi
- Listing dibuat dengan alamat
- Alamat di-geocode ke koordinat
- Koordinat dikirim ke GeoEnrich API
- Respons diurai menjadi nilai
additionalProperty - Skema JSON-LD dihasilkan dengan pengayaan penuh
- Skema disematkan di halaman listing
Untuk detail implementasi dan dokumentasi API, lihat halaman GeoEnrich API.
Otomatisasi dalam skala besar
Menulis skema secara manual berhasil untuk satu listing. Bagaimana dengan ribuan?
API GeoEnrich MapAtlas secara otomatis menambahkan koordinat, POI terdekat, akses transportasi, konteks lingkungan, dan data geo siap-skema ke setiap listing, satu panggilan API per listing, dalam skala apa pun.