Stileex

The declared identity of the .fr parc

How many French sites tell a machine who they are, and what they write into their markup.

At the reading of 05/09/2026, 26.1 % of the .fr sites serving a page declare an identity in JSON-LD, an Organization or a LocalBusiness.

Declare an identity

26.1 %

Emit JSON-LD

35.8 %

Page markup without an identity

8.7 %

What the publishing sites declare

Each share covers the panel sites that emit structured data. One page declares several types at once, a WebSite and an Organization inside the same graph: these shares overlap, and each reads as the share of publishers declaring at least one node of that type.

schema.org type Share of publishers Share of publishers
WebSite 80.0 %
Organization identity 56.0 %
WebPage 54.6 %
BreadcrumbList 43.5 %
ImageObject 28.6 %
LocalBusiness identity 22.1 %
Person 8.6 %
Article 6.4 %
FAQPage 6.1 %
Place 1.9 %
ItemList 1.2 %
Outside the followed types 8.6 %

Structured data, platform by platform

Two readings of the same page on the same morning: what the site is built on, and what it declares. Platforms carrying at least thirty pages of the reading appear in the table.

Platform Pages read Emit JSON-LD Declare an identity
WordPress 2,922 69.9 % 50.3 %
Wix 258 92.6 % 55.4 %
Shopify 186 78.0 % 76.3 %
Drupal 86 26.7 % 19.8 %
Duda 83 74.7 % 26.5 %
PrestaShop 58 58.6 % 58.6 %
Webflow 50 44.0 % 36.0 %
Joomla 45 31.1 % 28.9 %
Squarespace 41 100.0 % 65.9 %
Jimdo 38 0.0 % 0.0 %
Outside the followed platforms 6,409 16.0 % 12.2 %

Week after week

See the figures as a table
Date Sites declaring an identity
2026-09-05 26.1 %

The method

The panel
The same panel as the other indices of the .fr parc: 15,000 domains drawn at random from Afnic's open data file, which lists the 4,590,553 active .fr domains. The draw orders every domain by the sha256 fingerprint of its name, and the published seed is enough to rebuild it.
The cadence
The home page of every domain is read each Monday, in the pass that already opens the panel. The panel stays the same from one week to the next: a movement of the series is a decision of the parc.
The reading
Every application/ld+json script tag on the page is read and its payload parsed. A block counts when it parses as JSON and declares at least one @type. Arrays of blocks and @graph containers are walked in full: a page declares several nodes on average, and counting them all is what yields the breakdown.
The identity
A page declares an identity when it carries an Organization or a LocalBusiness node. The schema.org hierarchy is folded before counting: a hair salon declaring HairSalon, a hotel declaring LodgingBusiness and a solicitor declaring LegalService are three LocalBusiness, and the map of folded subtypes is published with the list.
The followed types
Organization, LocalBusiness, WebSite, WebPage, BreadcrumbList, Article, Person, FAQPage, ImageObject, ItemList and Place. FAQPage keeps its own rank rather than joining WebPage: answering questions in the markup is an editorial decision. The remaining declared types are published together, under "outside the followed types".
The reading ceiling
The home page is read up to one million bytes, and the JSON-LD is looked for over that whole length. The ceiling is the reading's and it is published as a parameter of the method: many sites put their markup in the page footer, and the reading of 5 September 2026 found a block at byte 698,148 of a 698,698 byte page.
Unusable blocks
0.5 % of the pages read carry an ld+json tag whose payload yields no node, either because it is not JSON or because it declares no @type. Those pages are counted apart and never enter the adoption shares: what this index measures is a payload read, not a tag seen.
The base
The shares cover the panel domains that serve a page, that is 68 % of the panel read.
The API
GET https://api.stileex.xyz/v1/series/fr/structured-data-identity/latest

Read on the same panel, in the same weekly pass: What the .fr parc is built on and llms.txt adoption in France