اکثر فهرستهای ملکی برای جستجوی هوش مصنوعی نامرئی هستند. این راهنما نشان میدهد چرا، و چطور آن را برطرف کنید، چه ۱ ملک داشته باشید چه ۱۰۰۰۰ تا.
نشانهگذاری JSON-LD، داده ساختاریافته و غنیسازی موقعیت مکانی برای افزایش دیدهشدن فهرستهای ملکی در ChatGPT، Perplexity و Google AI Overviews.
بدون داده جغرافیایی
آنچه هوش مصنوعی میبیند: هیچ موردی قابل تطبیق نیست. پاسخی به هیچ پرسوجوی محله یا مجاورت داده نمیشود.
با GeoEnrich
آنچه هوش مصنوعی میبیند: قابل تطبیق با ۵۰ نوع پرسوجو از جمله "۲ خوابه نزدیک ترام در De Pijp"، "آپارتمان با پارکینگ زیر ۴۰۰ هزار"، "خیابان آرام نزدیک مدارس".
GeoEnrich ستون سمت راست را بهصورت خودکار از یک آدرس تولید میکند. یک فراخوانی API.
این JSON-LD را به صفحه فهرست ملکی خود اضافه کنید تا موتورهای جستجوی هوش مصنوعی بلافاصله بتوانند آن را تجزیه و توصیه کنند:
{
"@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 را ببینید.
جستجوی ملک از طریق هوش مصنوعی اساساً با جستجوی پورتال متفاوت است. به جای فیلترهای کشویی، مردم با زبان طبیعی آنچه میخواهند را توصیف میکنند. درک این الگوهای قصد، پایه GEO در بازار مسکن است.
اینها رایجترین پرسوجوهای ملکی هستند و سختترینها برای فهرستهای سنتی:
هر یک از این پرسوجوها به داده موقعیت ساختاریافته، مختصات و زمینه POI نزدیک نیاز دارد. بدون آن، فهرست شما نامرئی است.
خریداران و مستأجران به آنچه در نزدیکی است اهمیت میدهند. موتورهای هوش مصنوعی برای پاسخ به این نیاز به داده فاصله دارند:
اینها ویژگیهای ملک را با موقعیت ترکیب میکنند:
سرمایهگذاران سوالات متفاوتی میپرسند:
برای ظاهر شدن در هر یک از این نتایج، فهرست شما به داده ساختاریافتهای نیاز دارد که موتورهای هوش مصنوعی بتوانند تجزیه کنند: مختصات دقیق، POIهای نزدیک با فاصله، مشخصات ملک به عنوان فیلدهای ساختاریافته، و سیگنالهای زمینه محله.
اکثریت قریب به اتفاق فهرستهای ملکی برای موتورهای جستجوی هوش مصنوعی نامرئی هستند. در اینجا دلایل و آنچه باید برطرف شود آمده است.
«واقع در یک محله مطلوب» به هوش مصنوعی چیزی نمیگوید. «Ruysdaelkade 21، Amsterdam De Pijp، ۲۰۰ متر از بازار Albert Cuyp» همه چیز را به هوش مصنوعی میگوید. توضیحات مبهم بزرگترین دلیل شکست فهرستها هستند. هوش مصنوعی نمیتواند استنباط کند که «منطقه عالی» به معنی De Pijp است، یا «نزدیک به مغازهها» به معنی ۲۰۰ متر از یک بازار است.
بدون طول و عرض جغرافیایی، هوش مصنوعی نمیتواند فاصلهها را محاسبه کند. هر پرسوجوی مجاورت («نزدیک پارک»، «نزدیک مترو»، «در فاصله پیاده از مدارس») به مختصات هم روی فهرست و هم روی POI نیاز دارد. مختصات باید تا ۴ یا بیشتر رقم اعشار دقیق باشند. «52.35، 4.90» به شعاع ۱۰۰ متری اشاره دارد؛ «52.3534، 4.8965» به یک ساختمان خاص اشاره دارد.
اینجاست که بیشتر فهرستها شکست میخورند حتی اگر آدرس داشته باشند. فهرستی با مختصات اما بدون داده POI نزدیک نمیتواند به «آپارتمانها نزدیک مدارس» پاسخ دهد زیرا هوش مصنوعی داده مدرسهای برای مطابقت ندارد. باید صریحاً بگویید چه چیزی در نزدیکی است، با نامها و فاصلهها.
جزئیات ملک مدفون در متن پاراگراف برای هوش مصنوعی سخت است که استخراج کند. «این آپارتمان دلنشین ۸۵ متر مربعی ۲ اتاق خواب، ۱ حمام و یک بالکن رو به جنوب دارد» برای انسان قابل خواندن است. اما فیلدهای schema ساختاریافته مانند floorSize: 85، numberOfBedrooms: 2 و amenityFeature: "South-facing balcony" برای ماشین قابل خواندن هستند. موتورهای هوش مصنوعی بهشدت داده ساختاریافته را ترجیح میدهند.
فهرستی که ۶ ماه پیش پست شده و فیلد datePosted یا dateModified ندارد، رها شده به نظر میرسد. موتورهای هوش مصنوعی محتوایی را که قدیمی به نظر میرسد کمتر اولویت میدهند. همیشه تاریخها را اضافه کنید و در صورت تغییر فهرست آنها را بروزرسانی کنید.
قیمت مدفون در متن («قیمت درخواستی: ۳۹۵۰۰۰ یورو») برای تجزیه سختتر از یک Offer با price: 395000 و priceCurrency: "EUR" است. قیمت یکی از رایجترین فیلترها در پرسوجوهای ملکی است، پس نبود قیمتگذاری ساختاریافته به معنی از دست دادن کل آن پرسوجوها است.
نوع RealEstateListing از Schema.org schema صحیح برای فهرستهای ملکی است. یک ملک (Residence، Apartment، House) را در یک زمینه فهرست با قیمت، تاریخ و دسترسیپذیری میپوشاند.
یک RealEstateListing سه بخش اصلی دارد:
about): آدرس، geo، floorSize، numberOfRooms، امکاناتاز خاصترین @type برای ملک داخل about استفاده کنید:
Apartment برای آپارتمانها، کاندوها، استودیوHouse یا SingleFamilyResidence برای خانههای مجزا/نیمهمجزاResidence به عنوان fallback عمومیاین فیلدها حداقل برای قابل کشف بودن در هوش مصنوعی هستند:
{
"@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: درست/غلط (فیلترهای جستجوی حیوان خانگی دوستانه)amenityFeature: آرایهای از ویژگیها مانند «بالکن»، «پارکینگ»، «باغ»، «آسانسور»، «انباری»numberOfFullBathrooms / numberOfPartialBathrooms: خاصتر از مجموعfloorLevel: طبقهای که ملک در آن استpermittedUsage: «مسکونی»، «مختلط»، «تجاری»مختصات به تنهایی به هوش مصنوعی میگوید ملک کجاست. غنیسازی جغرافیایی به هوش مصنوعی میگوید چه چیزی در اطراف آن است. این تفاوت بین مطابقت با ۵ نوع پرسوجو و ۵۰ نوع است.
برای ملکی در 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"
}
]
}
بدون این داده، هوش مصنوعی نمیتواند به هیچ یک از این پرسوجوها درباره فهرست شما پاسخ دهد:
MapAtlas GeoEnrich API تمام اینها را از یک آدرس یا جفت مختصات تولید میکند. یک فراخوانی API مدارس، حملونقل، خرید، پارکها، بهداشت و رستورانها را با نامها و فاصلهها برمیگرداند، آماده برای جاسازی به عنوان مقادیر additionalProperty.
فراتر از POIهای فردی، خریداران و مستأجران میخواهند خود محله را درک کنند. موتورهای هوش مصنوعی به دنبال سیگنالهایی هستند که شخصیت و قابل سکونت بودن یک منطقه را توصیف کنند.
امتیازهای سطح محله به هوش مصنوعی کمک میکنند پرسوجوهای سبک زندگی را پاسخ دهد:
{
"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، صحنه رستورانی متنوع و کانالهای درختدار شناخته میشود. این منطقه حملونقل عمومی عالی با خطوط ترام ۳، ۱۲ و ۲۴ دارد، به اضافه مترو ۵۲ (خط شمال-جنوب) که اخیراً افتتاح شد. Sarphatipark فضای سبز را در فاصله ۴۰۰ متری ارائه میدهد.»
این پاراگراف به تنهایی با دهها پرسوجوی هوش مصنوعی مطابقت دارد زیرا حاوی حقایق خاص و قابل تأیید است که هوش مصنوعی میتواند استخراج و ذکر کند.
تعداد کل به هوش مصنوعی حس تراکم و راحتی میدهد:
این تعدادها پرسوجوهای مقایسهای را فعال میکنند: «کدام محله آمستردام بیشترین رستوران نزدیک دارد؟» یا «مناطقی با بهترین پوشش مدرسه.»
فهرستهای اجاره و فروش از همان wrapper 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: حداقل مدت اجاره (مثلاً ۱۲ ماه)petsAllowed: برای جستجوهای اجاره («اجاره حیوان خانگی دوستانه در آمستردام») حیاتی استamenityFeature: مبله/خالی، تأسیسات شامل، پارکینگvalidFrom روی Offer استفاده کنید)اجارههای کوتاهمدت تعطیلاتی (سبک Airbnb) نباید از RealEstateListing استفاده کنند. آنها از LodgingBusiness با قیمتگذاری شبانه و زمانهای ورود/خروج استفاده میکنند. برای جزئیات بیشتر بخش اجاره تعطیلات را ببینید.
جستجوهای ملک تجاری الگوهای متفاوتی نسبت به مسکونی دارند. کسبوکارهایی که به دنبال فضای اداری، خردهفروشی یا صنعتی هستند سوالاتی میپرسند که به داده ساختاریافته خاص نیاز دارند.
در صورت امکان از انواع خاص استفاده کنید:
OfficeBuilding برای فضای اداریShoppingCenter یا Store برای خردهفروشیWarehouse برای صنعتی/لجستیکLocalBusiness به عنوان fallback عمومی با 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 تمام این دستههای POI را برمیگرداند، بنابراین میتوانید فهرستهای تجاری را بهصورت خودکار با زمینهای که مستأجران کسبوکار جستجو میکنند غنی کنید.
اجارههای تعطیلاتی (اقامت کوتاهمدت سبک Airbnb) به رویکرد schema کاملاً متفاوتی نیاز دارند. اینها کسبوکارهای مهمانپذیری هستند، نه فروش ملک یا اجاره بلندمدت.
نوع schema صحیح برای اجارههای تعطیلاتی LodgingBusiness است (یا VacationRental اگر پشتیبانی شود). این به موتورهای هوش مصنوعی میگوید که ملک مهمانان کوتاهمدت با قیمتگذاری شبانه، زمانهای ورود/خروج و امکانات مهمانپذیری میپذیرد.
جستجوهای اجاره تعطیلاتی بسیار خاص هستند:
{
"@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"
}
}
مهمانان اجاره تعطیلاتی به POIهای نزدیک متفاوتی نسبت به ساکنان بلندمدت اهمیت میدهند:
از GeoEnrich API برای تولید خودکار داده POI مرتبط با توریسم برای هر فهرست اجاره تعطیلاتی استفاده کنید.
این فرایند را برای پیادهسازی نشانهگذاری schema در فهرستهای ملکی دنبال کنید.
تگ <script type="application/ld+json"> را در <head> هر صفحه فهرست قرار دهید. برای پورتالهای ملکی با هزاران فهرست، schema را از پایگاه داده فهرست خود بهصورت سمت سرور تولید کنید.
هر schema را با این ابزارها آزمایش کنید:
پس از استقرار، از موتورهای هوش مصنوعی درباره فهرستهایتان بپرسید:
اگر هوش مصنوعی نمیتواند با جزئیات پاسخ دهد، schema شما ناقص است یا crawl نشده. بررسی کنید که صفحه شما قابل ایندکس است (تگ noindex ندارد)، JSON-LD در HTML رندر شده است (نه فقط JS سمت کلاینت)، و sitemap شما صفحات فهرست را شامل میشود.
چکلیست در این صفحه هر فیلد و سیگنال مورد نیاز برای GEO کامل فهرست ملکی را پوشش میدهد. هر بخش را بهصورت سیستماتیک انجام دهید. هدف ۱۰۰٪ تکمیل در بخشهای schema پایه و آدرس، سپس اضافه کردن زمینه نزدیک و سیگنالهای محله برای حداکثر پوشش است.
اضافه کردن دستی POIهای نزدیک، داده حملونقل و زمینه محله به هر فهرست در مقیاس امکانپذیر نیست. اگر ۱۰۰ یا بیشتر ملک مدیریت میکنید، به اتوماسیون نیاز دارید.
MapAtlas GeoEnrich API یک آدرس یا جفت مختصات میگیرد و زمینه نزدیک ساختاریافته برمیگرداند:
جریان کار معمول برای پورتالهای ملکی:
additionalProperty تجزیه میشوداین فرایند بهصورت خودکار برای هر فهرست جدید اجرا میشود و میتواند برای موجودی موجود بهصورت دستهای پردازش شود.
بدون GeoEnrich، یک فهرست با پرسوجوهای مربوط به آدرس و مشخصات پایه (اتاقهای خواب، قیمت) مطابقت دارد. با GeoEnrich، همان فهرست با پرسوجوهای مربوط به مدارس، حملونقل، قابل پیادهروی بودن، رستورانهای نزدیک، پارکها، بیمارستانها و زمان رفتوآمد مطابقت دارد. این تفاوت بین مطابقت با ۵ نوع پرسوجو و ۵۰ یا بیشتر است.
برای جزئیات پیادهسازی و مستندات API، صفحه GeoEnrich API را ببینید.
خودکارسازی در مقیاس بزرگ
API GeoEnrich MapAtlas به طور خودکار مختصات، POIهای نزدیک، دسترسی به حملونقل، زمینه محله و دادههای جغرافیایی آماده برای اسکیما را به هر فهرست اضافه میکند، یک فراخوانی API برای هر فهرست، در هر مقیاسی.