A maioria dos anúncios imobiliários é invisível para os motores de pesquisa IA. Este guia explica o porquê e como resolver, quer gira 1 propriedade ou 10.000.
Markup JSON-LD, dados estruturados e enriquecimento de localização para tornar os anúncios imobiliários visíveis no ChatGPT, Perplexity e Google AI Overviews.
Sem dados geo
O que a IA vê: nada utilizável. Zero consultas de bairro ou proximidade respondidas.
Com GeoEnrich
O que a IA vê: utilizável para 50+ tipos de consulta, incluindo "apartamento T2 perto do elétrico em De Pijp", "apartamento com estacionamento abaixo de 400k", "rua tranquila perto de escolas".
O GeoEnrich gera automaticamente a coluna da direita a partir de um endereço. Uma única chamada API.
Adicione este JSON-LD à sua página de anúncio imobiliário para que os motores de pesquisa IA possam imediatamente analisá-lo e recomendá-lo:
{
"@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"
}
}
Isto cobre o básico. As secções seguintes explicam como adicionar contexto de bairro, POI próximos, dados de transporte e mais para que o seu anúncio corresponda a dezenas de tipos de consulta adicionais. Consulte o separador de exemplos de esquema para ficheiros completos prontos para produção.
As pesquisas imobiliárias através de IA são fundamentalmente diferentes das pesquisas em portais. Em vez de menus suspensos, as pessoas descrevem o que querem em linguagem natural. Compreender estes padrões de intenção é a base do GEO imobiliário.
Estas são as consultas imobiliárias mais comuns e as mais difíceis de satisfazer para os anúncios tradicionais:
Cada uma destas consultas requer dados de localização estruturados, coordenadas e contexto de POI próximos. Sem eles, o seu anúncio é invisível.
Compradores e inquilinos preocupam-se com o que está nas proximidades. Os motores IA precisam de dados de distância para responder a:
Estas combinam atributos do imóvel com a localização:
Os investidores fazem perguntas diferentes:
Para aparecer nestes resultados, o seu anúncio precisa de dados estruturados que os motores IA possam processar: coordenadas exatas, POI próximos com distâncias, especificações do imóvel como campos estruturados e sinais de contexto de bairro.
A grande maioria dos anúncios imobiliários é invisível para os motores de pesquisa IA. Eis o motivo e o que deve corrigir.
"Localizado num bairro prestigiado" não diz nada à IA. "Ruysdaelkade 21, Amsterdam De Pijp, 200 metros do mercado Albert Cuyp" diz tudo à IA. As descrições vagas são o principal motivo pelo qual os anúncios falham. A IA não pode deduzir que "ótima zona" significa De Pijp, ou que "perto de lojas" significa 200 metros de um mercado.
Sem latitude e longitude, a IA não pode calcular distâncias. Cada consulta de proximidade ("perto do parque", "junto ao metro", "escolas a pé") requer coordenadas tanto do anúncio como do POI. As coordenadas devem ser precisas a 4+ decimais. "52,35, 4,90" aponta para um raio de 100 metros; "52,3534, 4,8965" aponta para um edifício específico.
Aqui é onde a maioria dos anúncios falha mesmo que tenham um endereço. Um anúncio com coordenadas mas sem dados de POI próximos não pode responder a "apartamentos perto de escolas" porque a IA não tem dados de escolas para fazer a correspondência. Deve indicar explicitamente o que está nas proximidades, com nomes e distâncias.
Os detalhes do imóvel enterrados em texto de parágrafo são difíceis de extrair para a IA. "Este adorável apartamento de 85m² tem 2 quartos, 1 casa de banho e uma varanda orientada a sul" é legível por humanos. Mas os campos de esquema estruturados como floorSize: 85, numberOfBedrooms: 2 e amenityFeature: "South-facing balcony" são legíveis por máquinas. Os motores IA preferem claramente dados estruturados.
Um anúncio publicado há 6 meses sem campo datePosted ou dateModified parece abandonado. Os motores IA dão menor prioridade ao conteúdo que parece desatualizado. Inclua sempre datas e atualize-as quando o anúncio muda.
Um preço enterrado no texto ("preço pedido: EUR 395.000") é mais difícil de processar do que um Offer com price: 395000 e priceCurrency: "EUR". O preço é um dos filtros mais comuns nas consultas imobiliárias, por isso a ausência de preços estruturados significa perder completamente essas consultas.
O tipo RealEstateListing do Schema.org é o esquema correto para anúncios imobiliários. Envolve um imóvel (Residence, Apartment, House) num contexto de anúncio com preço, data e disponibilidade.
Um RealEstateListing tem três partes chave:
about): endereço, geo, área, divisões, comodidadesUse o @type mais específico para o imóvel dentro de about:
Apartment para apartamentos, condominiums, estúdiosHouse ou SingleFamilyResidence para moradias isoladas ou geminadasResidence como fallback genéricoEstes campos são o mínimo para visibilidade IA:
{
"@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"
}
}
Estes campos aumentam o número de consultas com que o seu anúncio pode corresponder:
yearBuilt: ano de construção (importante para consultas de renovação)petsAllowed: true/false (filtra pesquisas de animais permitidos)amenityFeature: array de características como "Varanda", "Estacionamento", "Jardim", "Elevador", "Arrecadação"numberOfFullBathrooms / numberOfPartialBathrooms: mais específico que o totalfloorLevel: andar do imóvelpermittedUsage: "Residencial", "Uso misto", "Comercial"As coordenadas sozinhas dizem à IA onde está um imóvel. O enriquecimento geo diz à IA o que está à volta. Esta é a diferença entre corresponder a 5 tipos de consulta e 50.
Para um imóvel em Ruysdaelkade 21 em Amesterdão, o enriquecimento geo fornece:
Use o campo additionalProperty no imóvel para adicionar contexto de proximidade:
{
"@type": "Apartment",
"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" }
]
}
Sem estes dados, a IA não pode responder a nenhuma destas consultas sobre o seu anúncio:
A API GeoEnrich da MapAtlas gera tudo isto a partir de um único endereço ou par de coordenadas. Uma chamada API devolve escolas, transporte, compras, parques, saúde e restaurantes com nomes e distâncias, prontos para incorporar como valores additionalProperty.
Para além dos POI individuais, compradores e inquilinos querem compreender o próprio bairro. Os motores IA procuram sinais que descrevam o carácter e a habitabilidade de uma área.
As pontuações ao nível do bairro ajudam a IA a responder a consultas de estilo de vida:
{
"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" }
]
}
Estas pontuações respondem diretamente a consultas como "bairros muito praticáveis em Amesterdão para viver sem carro" ou "melhores zonas para ciclistas pendulares em Amesterdão".
O tempo de deslocação é um dos principais fatores de decisão para compradores de imóveis. Inclua-o como dado estruturado:
{
"@type": "PropertyValue",
"name": "Commute to Amsterdam Centraal",
"value": "12 minutes by tram, 18 minutes by bike"
}
A descrição do seu anúncio deve incluir contexto do bairro. Em vez de "ótimo bairro", escreva:
"De Pijp é um dos bairros mais procurados de Amesterdão, conhecido pelo mercado de rua Albert Cuyp, uma cena de restaurantes diversificada e canais ladeados de árvores. A zona tem excelente transporte público com linhas de elétrico 3, 12 e 24, mais o recentemente inaugurado Metro 52 (linha Norte-Sul). O Sarphatipark oferece espaço verde a 400 metros."
Este parágrafo por si só corresponde a dezenas de consultas IA porque contém factos específicos e verificáveis que a IA pode extrair e citar.
Os totais agregados dão à IA uma ideia de densidade e conveniência:
Estas contagens permitem consultas comparativas: "Qual bairro de Amesterdão tem mais restaurantes nas proximidades?" ou "Zonas com melhor cobertura escolar".
Os anúncios de arrendamento e venda usam o mesmo wrapper RealEstateListing, mas a estrutura da oferta e alguns campos diferem.
{
"offers": {
"@type": "Offer",
"price": 395000,
"priceCurrency": "EUR",
"availability": "https://schema.org/InStock",
"validFrom": "2026-03-15"
}
}
Para arrendamentos, o preço representa a renda mensal. Use priceSpecification para clarificar o período de faturação:
{
"offers": {
"@type": "Offer",
"priceSpecification": {
"@type": "UnitPriceSpecification",
"price": 1850,
"priceCurrency": "EUR",
"unitText": "MONTH"
},
"availability": "https://schema.org/InStock"
}
}
Os anúncios de arrendamento beneficiam de campos adicionais que os de venda não precisam:
leaseLength: duração mínima do contrato (ex. 12 meses)petsAllowed: crucial para pesquisas de arrendamento ("arrendamentos que aceitam animais em Amesterdão")amenityFeature: mobilado/não mobilado, serviços incluídos, estacionamentovalidFrom na Offer)Os arrendamentos de curta duração (estilo Airbnb) não devem usar RealEstateListing. Usam LodgingBusiness com preços por noite e horários de check-in/out. Consulte a secção de arrendamento de férias abaixo para mais detalhes.
As pesquisas de imobiliário comercial seguem padrões diferentes das residenciais. As empresas que procuram escritórios, espaços de retalho ou industriais fazem perguntas que requerem dados estruturados específicos.
Use tipos específicos sempre que possível:
OfficeBuilding para escritóriosShoppingCenter ou Store para retalhoWarehouse para indústria/logísticaLocalBusiness como fallback genérico com additionalTypeOs anúncios comerciais precisam de campos que os residenciais não têm. Inclua transporte, estacionamento e dados de afluência para cobertura máxima.
Os inquilinos comerciais preocupam-se com contexto de proximidade diferente dos residentes:
A API GeoEnrich devolve todas estas categorias de POI, permitindo-lhe enriquecer automaticamente os anúncios comerciais com o contexto que os inquilinos empresariais procuram.
Os arrendamentos de férias (estadias curtas estilo Airbnb) precisam de uma abordagem de schema completamente diferente. São negócios de hospitalidade, não vendas imobiliárias ou arrendamentos de longa duração.
O tipo de schema correto para arrendamentos de férias é LodgingBusiness (ou o mais específico VacationRental se suportado). Isto indica aos motores IA que a propriedade aceita hóspedes de curta duração com preços por noite, horários de check-in/out e comodidades de hospitalidade.
{
"@context": "https://schema.org",
"@type": "LodgingBusiness",
"name": "Canal View Apartment in Amsterdam Jordaan",
"checkinTime": "15:00",
"checkoutTime": "11:00",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": 4.8,
"reviewCount": 127,
"bestRating": 5
},
"offers": {
"@type": "Offer",
"price": 135,
"priceCurrency": "EUR",
"unitText": "NIGHT"
}
}
Os hóspedes de férias preocupam-se com POI próximos diferentes dos residentes de longa duração:
Use a API GeoEnrich para gerar automaticamente dados POI relevantes para turistas em cada arrendamento de férias.
Siga este processo para implementar o markup de schema nos seus anúncios imobiliários.
Coloque a tag <script type="application/ld+json"> no <head> de cada página de anúncio. Para portais imobiliários com milhares de anúncios, gere o schema do lado do servidor a partir da sua base de dados de anúncios.
Teste cada schema com estas ferramentas:
Após a implementação, pergunte aos motores IA sobre os seus anúncios e verifique se respondem com detalhes específicos. Se não conseguirem, o seu schema está incompleto ou não está a ser indexado.
O separador de checklist nesta página cobre cada campo e sinal necessário para um GEO imobiliário completo. Trabalhe cada secção sistematicamente, visando 100% nos campos básicos antes de adicionar contexto avançado.
Adicionar manualmente POI próximos, dados de transporte e contexto de bairro a cada anúncio não é viável em escala. Se gerir 100+ propriedades, precisa de automação.
A API GeoEnrich da MapAtlas recebe um endereço ou par de coordenadas e devolve contexto de proximidade estruturado:
O fluxo de trabalho típico para portais imobiliários:
additionalPropertyEste processo corre automaticamente para cada novo anúncio e pode ser processado em lote para o inventário existente.
Sem GeoEnrich, um anúncio corresponde a consultas sobre o seu endereço e especificações básicas. Com GeoEnrich, o mesmo anúncio corresponde a consultas sobre escolas, transporte, praticabilidade, restaurantes próximos, parques, hospitais e tempos de deslocação: a diferença entre 5 e mais de 50 tipos de consulta.
Para detalhes de implementação e documentação da API, consulte a página da API GeoEnrich.
Automatizar em escala
A API GeoEnrich da MapAtlas adiciona automaticamente coordenadas, POIs próximos, acesso a transportes, contexto de bairro e dados geo prontos para schema a cada anúncio, uma chamada API por anúncio, em qualquer escala.