Skip to content

Schema.org Structured Data

WP-ImmoMakler automatically adds JSON-LD structured data according to schema.org to every property listing view and every detail page. This allows search engines, answer engines, and AI assistants to identify your properties as real estate offers — with price, location, energy data, contact person, and availability. PLUS

This page describes which schemas WP-ImmoMakler outputs, where you can enable or disable them, and what benefit this brings for SEO, AEO, and GEO.

An HTML document contains text, images, and layout — but no machine-readable statement that this page offers a flat in Hamburg-Eppendorf for €749,000 for sale. That is exactly what schema.org is for: a shared vocabulary that Google, Bing, Apple, ChatGPT, Perplexity, Gemini, and Claude all understand equally.

WP-ImmoMakler delivers this vocabulary for your properties automatically. You do not need to maintain anything manually — the data comes from your OpenImmo interface, the estate agent software import, or the entries in the property forms.

Search engines use the structured data to enrich your search results: price and availability directly in the snippet, images next to the result, breadcrumb path instead of a bare URL. For listing views, Google can display the price range of all matching properties. This noticeably increases the click-through rate without changing the ranking itself.

Answer engines such as Google AI Overviews, Bing Copilot, or Perplexity formulate direct answers to search queries. For “Which houses in Lübeck are for sale?”, the answer engine preferentially draws on pages whose content it can read in a structured way. An ItemList schema with the properties visible on the page is exactly what these systems expect.

Generative AI models (ChatGPT, Claude, Gemini) preferentially cite sources whose statements can be clearly attributed. A RealEstateListing with address, living area, year of construction, and energy rating is a clear, citable statement. A plain HTML page with the same information remains ambiguous for the model.

In List Views (Archive, Search Results, Categories)

Section titled “In List Views (Archive, Search Results, Categories)”
SchemaContent
ItemListThe properties visible on the current page with position, URL, and title; plus the total count of all matching properties.
AggregateOfferMinimum and maximum price as well as the number of offers in the current list. Optionally extended with RealEstateListing, Residence, and House or Apartment when the list is filtered to a single property type.
SchemaContent
ProductTitle, description, property number (SKU), image, and Offer with price, currency, and availability (InStock or SoldOut).
RealEstateListingExtends the Product schema with RealEstateListing and Residence. For houses and flats, House or Apartment is added additionally.
AccommodationDedicated schema with living and usage data: number of rooms and bathrooms, floor, living area (m²), year of construction, pets allowed, address with district, geo-coordinates, and energy values as LocationFeatureSpecification. Specific types: SingleFamilyResidence, House, Apartment, Room — with fallback to Accommodation.
PlaceFallback for commercial properties (office, retail, hospitality, warehouse, parking). With additionalType pointing to the matching subtype such as OfficeBuilding or Warehouse, including area, year of construction, address, and geo-coordinates.
RealEstateAgentEmbedded as seller in Product and as performer/organizer in Event: name, company, telephone, email, address, and photo of the contact person.
Event “Schedule a Viewing”Marks the detail page as a bookable appointment at the property’s location.
Event “360° Virtual Tour”Also output when the property has a 360° tour URL. Marked as OnlineEventAttendanceMode with VirtualLocation.

If an excerpt (summary) is stored for a property, the detail view schemas Product, Accommodation, and Place additionally populate the disambiguatingDescription field with this brief text — separate from the detailed description (which is formed from the title and SEO meta description). This gives search engines and answer engines a compact, independently citable statement about the listing, in addition to the structured key data.

disambiguatingDescription is a field of the schema.org base class Thing and is therefore valid on all three detail view schemas (unlike abstract, which would only be permitted on CreativeWork types). You can maintain the excerpt manually or have it generated automatically via the AI Features; the same text also appears on the detail page as a highlighted summary below the subtitle.

From the energy certificate, WP-ImmoMakler transfers the following values as LocationFeatureSpecification into the Accommodation schema:

  • Final energy demand (kWh/(m²·a))
  • Final energy consumption (kWh/(m²·a))
  • Energy efficiency class (A+ to H)

If the energy certificate status is set to “none”, “not required”, or “at viewing”, no energy data is output — in line with the GEG-compliant display in the frontend.

Schema.org data is only output for properties with the status open. References, reservations, and sold properties are not included in the structured data and are therefore not reported by search engines as available.

All schema outputs can be individually enabled or disabled. You will find the options in the backend of your website (wp-admin) under WP-ImmoMakler → Settings → SEO/AEO/GEO.

OptionEffect
schema.org/ItemListJSON-LD ItemList in list views.
schema.org/AggregateOfferJSON-LD AggregateOffer in list views (price range and number of offers).
schema.org/ProductJSON-LD Product in detail views.
schema.org/RealEstateListingExtends the Product schema with RealEstateListing, Residence, and where applicable House/Apartment.
schema.org/RealEstateAgentEmbeds the contact person as seller in the Product schema and as performer/organizer in the Event schema.
schema.org/AccomodationJSON-LD Accommodation with living and usage data in detail views; for commercial properties, falls back to Place.
schema.org/Event “Schedule a Viewing”JSON-LD Event for viewing requests.
schema.org/Event “360° Virtual Tour”JSON-LD Event for virtual tours for properties with a 360° tour.

All options are enabled by default. If you disable an option and later find that you need it after all, the plugin displays a notice in the WordPress backend that lets you restore the default settings with a single click.

You can see the JSON-LD output directly in the source of any detail or list page. The <script> tags are marked with an HTML comment:

<!-- BEGIN schema.org section generated by WP-ImmoMakler RealEstate Plugin ... -->
<script type="application/ld+json" class="immomakler-schema-product"></script>
<script type="application/ld+json" class="immomakler-schema-accomodation"></script>
<!-- END schema.org section ... -->

For structured validation, these external tools are recommended:

Every schema is accessible via a filter hook, allowing you to add, modify, or remove fields — update-safely in your WP-ImmoMakler child skin plugin:

  • immomakler_schema_item_list
  • immomakler_schema_aggregate_offer
  • immomakler_schema_product
  • immomakler_schema_accomodation
  • immomakler_schema_commercial_property
  • immomakler_schema_event

The signatures and default values can be found in the Hooks Reference for SEO.