Skip to main content

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.

JSON-LDPencarian AISchemaProperti

Tanpa data geo

Lokasi"Jalan tenang di lingkungan yang bagus"
Terdekat-
Transit-
Koordinat-

Yang dilihat AI: tidak ada yang dapat dicocokkan. Nol kueri lingkungan atau kedekatan yang terjawab.

Dengan GeoEnrich

LokasiRuysdaelkade 21, Amsterdam De Pijp
TerdekatPasar Albert Cuyp (200m), 3 sekolah (500m)
TransitTrem 3 dan 12, jalan kaki 1 menit
Koordinat52.3534, 4.8965

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:

  1. Listing itu sendiri: nama, deskripsi, datePosted, URL
  2. Properti (melalui about): alamat, geo, luas lantai, jumlah kamar, fasilitas
  3. Penawaran: harga, mata uang, ketersediaan

Jenis Properti

  • Apartment untuk flat, kondominium, studio
  • House atau SingleFamilyResidence untuk rumah terpisah/semi-terpisah
  • Residence sebagai 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 total
  • floorLevel: lantai berapa properti berada
  • permittedUsage: "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 sewa
  • amenityFeature: furnitur/tidak berfurnitur, utilitas termasuk, parkir
  • Jumlah deposit dalam deskripsi atau additionalProperty
  • Tanggal tersedia mulai (gunakan validFrom pada 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

  • OfficeBuilding untuk ruang kantor
  • ShoppingCenter atau Store untuk ritel
  • Warehouse untuk industri/logistik
  • LocalBusiness sebagai fallback umum dengan 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 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

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

  1. Listing dibuat dengan alamat
  2. Alamat di-geocode ke koordinat
  3. Koordinat dikirim ke GeoEnrich API
  4. Respons diurai menjadi nilai additionalProperty
  5. Skema JSON-LD dihasilkan dengan pengayaan penuh
  6. 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.