Estate SEO
JSON-LD and Open Graph
Section titled “JSON-LD and Open Graph”On singular estate pages, the plugin can emit schema.org JSON-LD and Open Graph tags from the wpis_* meta already stored on the post. Nothing extra is fetched from ImmoSync at request time.
This runs only when estate import is enabled (enableImportSystem), including when estates are imported into a custom post type.
Configuration → SEO (next to Slugs):
- Activer le SEO des biens — master switch. Off: no JSON-LD, no Open Graph, no robots override.
- JSON-LD (schema.org) — independent; disabled unless SEO is on.
- Open Graph — independent; disabled unless SEO is on.
- noindex des biens vendus — default on (
wpis_status_id = 3). - noindex des biens retirés (soft-delete) — default on (
wpis_soft_deleted).
Keys present in the theme wpis-settings.json lock the matching admin fields. See Theme settings.
JSON-LD
Section titled “JSON-LD”A single application/ld+json script is printed in wp_head:
@type:RealEstateListingoffers.@type:Offer(price, currency, availability,businessFunction)offers.itemOffered.@type:Place(PostalAddress, optional GeoCoordinates)
| Output | Source |
|---|---|
name |
wpis_name, else the post title |
description |
wpis_description_short, then long, then base (HTML stripped) |
url |
Permalink |
image |
Featured image (full) |
datePosted / dateModified |
WordPress post dates |
Offer.price / priceCurrency |
wpis_finance_price / wpis_finance_currency unless wpis_finance_hidden |
Offer.availability |
Sell/rent → InStock; sold → SoldOut; other statuses → OutOfStock |
Offer.businessFunction |
Purpose 1 → Sell; purpose 2 → LeaseOut |
Place.address |
wpis_address_*. If wpis_address_hidden, street/number/box and geo are omitted; city/zip/country stay |
Filter: wpis_estate_jsonld ($graph, $data).
Open Graph
Section titled “Open Graph”When Open Graph is on (including on noindex pages, for share previews):
og:type,og:title,og:description,og:url,og:locale,og:imageproduct:price:amount/product:price:currencywhen the price is publicproduct:availabilityandog:availability(instock,sold out,out of stock)
If Yoast SEO or Rank Math is active, the plugin does not print duplicate og:* tags. It still fills their title, description, URL, and image filters, and still prints product:* tags. JSON-LD is always independent of those plugins.
Filter: wpis_estate_opengraph_tags ($tags, $data).
noindex
Section titled “noindex”When SEO is on, sold and/or soft-deleted singles get noindex, follow through wp_robots, plus Yoast (wpseo_robots) and Rank Math (rank_math/frontend/robots) so those UIs cannot re-index the page.
Rented listings (wpis_status_id = 4) stay indexable. The URL itself is unchanged.
Filter: wpis_estate_seo_should_noindex ($noindex, $data, $settings).
Related
Section titled “Related”- Theme settings —
enableEstateSeo,enableEstateJsonLd,enableEstateOpenGraph,noindexSoldEstates,noindexSoftDeletedEstates - Supported fields —
wpis_*meta used in the markup