Report
What changed, and how long adoption takes
Google publishes a new usage file monthly. I archive all of them. With three months archived I can start to see movement instead of a single snapshot. The movement is lopsided. 131 terms ended these months in a higher band and only 5 in a lower one. I also keep the two lists you are most likely to need here, the 87 terms Schema.org has replaced and the 22 the web already uses heavily before Schema.org has ratified them.
- Terms moved136131 up, 5 down
- Unstable2crossed a boundary and crossed back
- Replaced terms87every one with a documented successor
- Used before ratified22on 100,000 websites or more
Key findings
- 131 terms moved up a usage band across three archived months, and 5 moved down.
- Two terms crossed a band boundary and crossed back, so I count them as unstable, not as movement.
- All 87 superseded terms have a documented replacement, and 12 of them are still widely used.
- 22 terms sit on 100,000 websites or more before Schema.org has ratified them.
- Not one of the 877 terms with a datable invention has reached Google's top band.
- A term already on 1,000 websites or more was about 1.6 times more likely to climb than one below that.
131 terms moved up a band, 5 moved down
July 2026 · six ranges, no exact numbersGoogle and the Schema.org community, Schema.org usage statistics dataset. Websites in Google's index.
I count three kinds of movement across the archived months. The table lists the terms whose band changed.
| Term | Kind | Band, May 2026 | Band, June 2026 | Band, July 2026 |
|---|---|---|---|---|
| address | Property | 1M - 10M | 10M+ | 10M+ |
| affiliation | Property | 10K - 100K | 10K - 100K | 100K - 1M |
| albumProductionType | Property | < 1K | 1K - 10K | 1K - 10K |
| applicationCategory | Property | 100K - 1M | 1M - 10M | 1M - 10M |
| applicationDeadline | Property | < 1K | < 1K | 1K - 10K |
| Article | Class | 1M - 10M | 1M - 10M | 10M+ |
| artworkSurface | Property | < 1K | < 1K | 1K - 10K |
| AskAction | Class | < 1K | < 1K | 1K - 10K |
| athlete | Property | < 1K | < 1K | 1K - 10K |
| AutoRental | Class | 1K - 10K | 10K - 100K | 10K - 100K |
| availability | Property | 1M - 10M | 10M+ | 10M+ |
| availabilityEnds | Property | 1K - 10K | 1K - 10K | 10K - 100K |
| availableChannel | Property | 10K - 100K | 100K - 1M | 100K - 1M |
| award | Property | 10K - 100K | 10K - 100K | 100K - 1M |
| BarOrPub | Class | 1K - 10K | 10K - 100K | 10K - 100K |
| bodyLocation | Property | 1K - 10K | 10K - 100K | 10K - 100K |
| broadcastOfEvent | Property | < 1K | 1K - 10K | 1K - 10K |
| businessFunction | Property | 10K - 100K | 1M - 10M | 1M - 10M |
| BusTrip | Class | < 1K | < 1K | 1K - 10K |
| BuyAction | Class | 10K - 100K | 1M - 10M | 1M - 10M |
| Casino | Class | 10K - 100K | 100K - 1M | 100K - 1M |
| Certification | Class | 1K - 10K | 10K - 100K | 10K - 100K |
| certificationStatus | Property | < 1K | 1K - 10K | 1K - 10K |
| character | Property | < 1K | 1K - 10K | 1K - 10K |
| ChemicalSubstance | Class | < 1K | < 1K | 1K - 10K |
| coach | Property | < 1K | < 1K | 1K - 10K |
| ComedyEvent | Class | < 1K | 1K - 10K | 1K - 10K |
| competitor | Property | 1K - 10K | 1K - 10K | 10K - 100K |
| containedIn | Property | 1K - 10K | 10K - 100K | 10K - 100K |
| contentType | Property | 1K - 10K | 10K - 100K | 10K - 100K |
| contraindication | Property | < 1K | 1K - 10K | 1K - 10K |
| Course | Class | 10K - 100K | 100K - 1M | 100K - 1M |
| courseCode | Property | 1K - 10K | 10K - 100K | 10K - 100K |
| creditText | Property | 10K - 100K | 100K - 1M | 100K - 1M |
| dataset | Property | < 1K | 1K - 10K | 1K - 10K |
| deliveryMethod | Property | 10K - 100K | 100K - 1M | 100K - 1M |
| DeliveryMethod | Class | < 1K | 1K - 10K | 1K - 10K |
| dependencies | Property | 1K - 10K | 1K - 10K | 10K - 100K |
| Dermatology | Class | < 1K | 1K - 10K | 1K - 10K |
| Duration | Class | 1K - 10K | 10K - 100K | 10K - 100K |
| EducationalOccupationalCredential | Class | 10K - 100K | 10K - 100K | 100K - 1M |
| eduQuestionType | Property | < 1K | 1K - 10K | 1K - 10K |
| eligibleQuantity | Property | 10K - 100K | 10K - 100K | 100K - 1M |
| epidemiology | Property | < 1K | < 1K | 1K - 10K |
| fileSize | Property | 10K - 100K | 10K - 100K | 100K - 1M |
| FindAction | Class | < 1K | < 1K | 1K - 10K |
| foundingDate | Property | 100K - 1M | 1M - 10M | 1M - 10M |
| foundingLocation | Property | 10K - 100K | 100K - 1M | 100K - 1M |
| fuelEfficiency | Property | 1K - 10K | 10K - 100K | 10K - 100K |
| funder | Property | 1K - 10K | 10K - 100K | 10K - 100K |
| gameItem | Property | 1K - 10K | 10K - 100K | 10K - 100K |
| hasCertification | Property | 1K - 10K | 1K - 10K | 10K - 100K |
| hasCredential | Property | 10K - 100K | 100K - 1M | 100K - 1M |
| hasDefinedTerm | Property | 1K - 10K | 10K - 100K | 10K - 100K |
| hasTierBenefit | Property | < 1K | 1K - 10K | 1K - 10K |
| hasTiers | Property | < 1K | 1K - 10K | 1K - 10K |
| Hotel | Class | 10K - 100K | 10K - 100K | 100K - 1M |
| howPerformed | Property | 1K - 10K | 1K - 10K | 10K - 100K |
| icaoCode | Property | < 1K | 1K - 10K | 1K - 10K |
| inProductGroupWithID | Property | 1K - 10K | 10K - 100K | 10K - 100K |
| installUrl | Property | 10K - 100K | 100K - 1M | 100K - 1M |
| isSimilarTo | Property | 1K - 10K | 1K - 10K | 10K - 100K |
| isVariantOf | Property | 1K - 10K | 10K - 100K | 10K - 100K |
| jobTitle | Property | 100K - 1M | 1M - 10M | 1M - 10M |
| jurisdiction | Property | < 1K | 1K - 10K | 1K - 10K |
| knowsLanguage | Property | 10K - 100K | 100K - 1M | 100K - 1M |
| legislationIdentifier | Property | < 1K | 1K - 10K | 1K - 10K |
| legislationType | Property | < 1K | < 1K | 1K - 10K |
| MedicalAudience | Class | 1K - 10K | 10K - 100K | 10K - 100K |
| MedicalBusiness | Class | 10K - 100K | 10K - 100K | 100K - 1M |
| MedicalGuideline | Class | < 1K | < 1K | 1K - 10K |
| medicalSpecialty | Property | 10K - 100K | 100K - 1M | 100K - 1M |
| memberOf | Property | 10K - 100K | 10K - 100K | 100K - 1M |
| membershipPointsEarned | Property | < 1K | < 1K | 1K - 10K |
| menuAddOn | Property | 1K - 10K | 10K - 100K | 10K - 100K |
| MerchantReturnPolicySeasonalOverride | Class | < 1K | 1K - 10K | 1K - 10K |
| Message | Class | < 1K | 1K - 10K | 1K - 10K |
| MobileApplication | Class | 10K - 100K | 100K - 1M | 100K - 1M |
| numberOfAxles | Property | < 1K | < 1K | 1K - 10K |
| numberOfBedrooms | Property | 10K - 100K | 10K - 100K | 100K - 1M |
| numberOfEpisodes | Property | 1K - 10K | 10K - 100K | 10K - 100K |
| Offer | Class | 1M - 10M | 10M+ | 10M+ |
| offerCount | Property | 100K - 1M | 1M - 10M | 1M - 10M |
| offers | Property | 1M - 10M | 10M+ | 10M+ |
| operatingSystem | Property | 100K - 1M | 1M - 10M | 1M - 10M |
| Order | Class | < 1K | 1K - 10K | 1K - 10K |
| parent | Property | < 1K | 1K - 10K | 1K - 10K |
| percentile25 | Property | < 1K | 1K - 10K | 1K - 10K |
| percentile75 | Property | < 1K | 1K - 10K | 1K - 10K |
| performers | Property | 1K - 10K | 10K - 100K | 10K - 100K |
| performTime | Property | 1K - 10K | 1K - 10K | 10K - 100K |
| playerType | Property | 1K - 10K | 1K - 10K | 10K - 100K |
| polygon | Property | < 1K | 1K - 10K | 1K - 10K |
| PostalAddress | Class | 1M - 10M | 10M+ | 10M+ |
| practicesAt | Property | < 1K | 1K - 10K | 1K - 10K |
| price | Property | 1M - 10M | 10M+ | 10M+ |
| priceCurrency | Property | 1M - 10M | 10M+ | 10M+ |
| Product | Class | 1M - 10M | 10M+ | 10M+ |
| ProfilePage | Class | 100K - 1M | 1M - 10M | 1M - 10M |
| provider | Property | 100K - 1M | 1M - 10M | 1M - 10M |
| question | Property | < 1K | < 1K | 1K - 10K |
| referenceQuantity | Property | 10K - 100K | 1M - 10M | 1M - 10M |
| regionsAllowed | Property | 1K - 10K | 10K - 100K | 10K - 100K |
| RegisterAction | Class | 1K - 10K | 1K - 10K | 10K - 100K |
| relevantSpecialty | Property | 1K - 10K | 1K - 10K | 10K - 100K |
| School | Class | 1K - 10K | 1K - 10K | 10K - 100K |
| ScreeningEvent | Class | < 1K | 1K - 10K | 1K - 10K |
| season | Property | < 1K | 1K - 10K | 1K - 10K |
| SelfStorage | Class | 1K - 10K | 10K - 100K | 10K - 100K |
| ServiceChannel | Class | 10K - 100K | 100K - 1M | 100K - 1M |
| serviceType | Property | 100K - 1M | 100K - 1M | 1M - 10M |
| SoftwareApplication | Class | 100K - 1M | 100K - 1M | 1M - 10M |
| specialCommitments | Property | < 1K | 1K - 10K | 1K - 10K |
| spokenByCharacter | Property | < 1K | 1K - 10K | 1K - 10K |
| SurgicalProcedure | Class | < 1K | 1K - 10K | 1K - 10K |
| taxID | Property | 10K - 100K | 100K - 1M | 100K - 1M |
| TaxiService | Class | 1K - 10K | 1K - 10K | 10K - 100K |
| totalJobOpenings | Property | < 1K | < 1K | 1K - 10K |
| TrainStation | Class | < 1K | 1K - 10K | 1K - 10K |
| transcript | Property | 10K - 100K | 10K - 100K | 100K - 1M |
| TypeAndQuantityNode | Class | < 1K | < 1K | 1K - 10K |
| typicalTest | Property | < 1K | 1K - 10K | 1K - 10K |
| unitCode | Property | 100K - 1M | 1M - 10M | 1M - 10M |
| validUntil | Property | < 1K | 1K - 10K | 1K - 10K |
| variesBy | Property | 10K - 100K | 100K - 1M | 100K - 1M |
| version | Property | 1K - 10K | 1K - 10K | 10K - 100K |
| VideoGameSeries | Class | < 1K | 1K - 10K | 1K - 10K |
| warning | Property | < 1K | < 1K | 1K - 10K |
| WatchAction | Class | 10K - 100K | 100K - 1M | 100K - 1M |
| webFeed | Property | 1K - 10K | 10K - 100K | 10K - 100K |
| workTranslation | Property | 1K - 10K | 10K - 100K | 10K - 100K |
| LiveBlogPosting | Class | 10K - 100K | 1K - 10K | 1K - 10K |
| masthead | Property | 10K - 100K | 1K - 10K | 1K - 10K |
| paymentMethodType | Property | 1K - 10K | 1K - 10K | < 1K |
| PlayAction | Class | 10K - 100K | 10K - 100K | 1K - 10K |
| RadioEpisode | Class | 1K - 10K | 1K - 10K | < 1K |
| customerRemorseReturnLabelSource | Property | < 1K | 1K - 10K | < 1K |
| purchaseDate | Property | 1K - 10K | < 1K | 1K - 10K |
Read as growth, 131 up against 5 down would be remarkable. I do not read it as growth, and I would not want you to. Google's counting settles for a while after a term first appears in the file, so some of this rise is the measurement catching up, not markup spreading. customerRemorseReturnLabelSource and purchaseDate crossed a boundary and crossed back, so I count both as unstable, not as movement either way. If one of your terms moved up this quarter, the honest reading is that it might have.
Three months of band data cannot separate real adoption from settling; the method section explains why.
All 87 replaced terms have a documented successor
The table lists every superseded term in Google's file and the replacement Schema.org documents for it.
12 of them are still on ten thousand websites or more, so this is not a list of terms nobody ever used. Two of the replacements have themselves been replaced, because area points at serviceArea, which itself points at areaServed, and seasons points at season, which itself points at containsSeason. Chains surprised me. I expected a replacement to be final. Where a replacement has its own row here, the table links to it, so you can follow a chain to its end instead of adopting a term that is also on its way out. If a term of yours is in this table, the end of its chain is the term to move to, not the next link.
22 terms are widely used before ratification
The table lists the terms in Schema.org's pending section that are already on 100,000 websites or more.
| Term | Band |
|---|---|
| applicableCountry | 100K - 1M |
| creditText | 100K - 1M |
| EducationalOccupationalCredential | 100K - 1M |
| eventAttendanceMode | 100K - 1M |
| gtin | 100K - 1M |
| hasCredential | 100K - 1M |
| hasMerchantReturnPolicy | 100K - 1M |
| hasVariant | 100K - 1M |
| jobTitle | 1M - 10M |
| knowsAbout | 100K - 1M |
| knowsLanguage | 100K - 1M |
| merchantReturnDays | 100K - 1M |
| MerchantReturnPolicy | 100K - 1M |
| numberOfBedrooms | 100K - 1M |
| OnlineStore | 100K - 1M |
| ProductGroup | 100K - 1M |
| productGroupID | 100K - 1M |
| provider | 1M - 10M |
| returnFees | 100K - 1M |
| returnMethod | 100K - 1M |
| returnPolicyCategory | 100K - 1M |
| variesBy | 100K - 1M |
Most of them are retail, specifically returns and product variants, the same signal the recommended gap report finds from the other direction. Wide use makes a pending term a reasonable choice, not an exotic one. Pending still means the wording is not settled. So if you adopt one of these, I would expect to revisit it.
Schema.org warns that pending terms "are subject to change and should be used with caution", and the method section quotes its full description. You can read it at Schema.org's own documentation for the pending section.
All 51 top-band terms were already published by May 2015
July 2026 · six ranges, no exact numbersGoogle and the Schema.org community, Schema.org usage statistics dataset. Websites in Google's index.
Below I count all 2,487 real terms across Google's six usage bands. The table splits each band by whether the term's invention can be dated.
| Websites using the term | All real terms | Invented 2015 to 2026 |
|---|---|---|
| < 1K | 1,161 | 482 |
| 1K - 10K | 575 | 204 |
| 10K - 100K | 423 | 133 |
| 100K - 1M | 173 | 56 |
| 1M - 10M | 104 | 2 |
| 10M+ | 51 | 0 |
| All | 2,487 | 877 |
Not one of the 877 datable terms has climbed into the top band, so the terms the whole web uses were all already in the vocabulary by release 2.0 in May 2015. New vocabulary enters at the bottom. The next section measures how slowly it leaves. Slower than I expected.
Only two of the 877 datable terms have passed a million websites
11 August 2026 · datesSchema.org dated release snapshots. Not a measurement of the web.
Below I count the 877 datable terms by the year Schema.org invented them.
1,610 more terms are excluded because they were already present in release 2.0, which is the floor of my archive, not their true age; the method section carries the full rule.
The same terms appear again by invention year and by the band each one sits in today, so you can see how far any year's terms have climbed.
| Year | < 1K | 1K - 10K | 10K - 100K | 100K - 1M | 1M - 10M | 10M+ | Total |
|---|---|---|---|---|---|---|---|
| 2015 | 34 | 29 | 13 | 11 | 0 | 0 | 87 |
| 2016 | 60 | 29 | 28 | 6 | 1 | 0 | 124 |
| 2017 | 68 | 27 | 28 | 7 | 0 | 0 | 130 |
| 2018 | 12 | 17 | 13 | 4 | 1 | 0 | 47 |
| 2019 | 55 | 25 | 16 | 6 | 0 | 0 | 102 |
| 2020 | 94 | 38 | 17 | 19 | 0 | 0 | 168 |
| 2021 | 66 | 16 | 5 | 1 | 0 | 0 | 88 |
| 2022 | 10 | 2 | 3 | 2 | 0 | 0 | 17 |
| 2023 | 13 | 4 | 2 | 0 | 0 | 0 | 19 |
| 2024 | 18 | 9 | 2 | 0 | 0 | 0 | 29 |
| 2025 | 49 | 8 | 5 | 0 | 0 | 0 | 62 |
| 2026 | 3 | 0 | 1 | 0 | 0 | 0 | 4 |
| All | 482 | 204 | 133 | 56 | 2 | 0 | 877 |
Not one datable term has reached the top band. Only two have passed a million websites. I can date about a third of the vocabulary here, 877 of 2,487 real terms. The undated two thirds is the shape of the archive, not a fact about adoption. The consequence for a term you adopt is plain. If it was invented in the last few years, the company you are in is small. It will stay small for a while.
Terms already in use were 1.6 times more likely to climb
July 2026 · six ranges, no exact numbersGoogle and the Schema.org community, Schema.org usage statistics dataset. Websites in Google's index.
Below I compare how often terms climbed a band, grouped by where they started.
| Group | Terms | Climbed | Rate |
|---|---|---|---|
| Started below 1,000 sites | 1,208 | 49 | 4.06% |
| Started between 1,000 and 10,000,000 sites | 1,237 | 82 | 6.63% |
| Started in the top band | 42 | 0 | Excluded, nowhere to climb |
| All | 2,487 | 131 |
6.63% of terms that started between 1,000 and 10,000,000 websites climbed a band, against 4.06% of terms that started below 1,000. Adoption compounds. A term with existing implementations has examples to copy, documentation written about it, and tooling that already emits it. This is the finding I trust most on the page, even with the limit the caveat names. A term you can find examples of is a term you can implement in an afternoon, and that alone explains most of the gap.
Part of this gap is the shape of Google's bands, not a difference in adoption; the method section explains why the two cannot be told apart.
Ten years measured a different way, and every line ends higher
November 2015 to December 2024 · exact site countsWeb Data Commons structured data class statistics. Pay-level domains in a Common Crawl corpus.
The lines trace four JSON-LD types across ten Web Data Commons crawls, November 2015 to December 2024.
| Release | WebSite | Organization | BreadcrumbList | Product |
|---|---|---|---|---|
| November 2015 | 568,457 | 92,316 | 354 | 571 |
| October 2016 | 2,072,793 | 537,173 | 9,560 | 2,526 |
| December 2017 | 2,573,118 | 872,751 | 37,735 | 12,514 |
| December 2018 | 3,519,466 | 1,349,775 | 205,971 | 40,169 |
| December 2019 | 4,401,951 | 2,304,308 | 427,887 | 218,270 |
| December 2020 | 5,616,104 | 3,882,068 | 1,688,820 | 1,234,972 |
| December 2021 | 6,019,584 | 4,155,751 | 4,327,369 | 1,478,171 |
| December 2022 | 5,799,829 | 4,502,002 | 4,749,333 | 1,562,108 |
| December 2023 | 6,306,644 | 5,357,808 | 5,416,066 | 1,928,725 |
| December 2024 | 8,461,613 | 6,574,284 | 6,206,556 | 2,349,844 |
WebSite was already the largest of the four in November 2015, at 568,457 sites, and reached 8,461,613 by December 2024. All four lines end higher than they started. BreadcrumbList climbed furthest, from 354 sites to 6,206,556. The three smaller lines stay close together for most of the decade and only pull apart in the final few years, so the table is the precise way to read the early stretch. I include this series because ten years is a longer memory than my three months. It says the same thing at a different scale. Markup you adopt now is joining a curve that has not flattened.
Web Data Commons publishes no licence for its data, so I can chart and cite these numbers but cannot put them in a download or in the markdown version of this page. You can check any of these numbers yourself at Web Data Commons' own structured data statistics.
How this is measured
Google publishes a monthly file counting how many websites in its index use any given Schema.org term. I archive a copy the same month. I rebuild the figures here from that archive, not from a live download, so you can trace any number on this page back to the month it came from. Google publishes six bands and not the figure inside one, so a term you can see on somewhere between one and ten million websites has no public exact number, here or anywhere.
Movement means a term's band changed between the archived months and stayed changed. Two terms, customerRemorseReturnLabelSource and purchaseDate, crossed a band boundary and crossed back instead, so I count them as unstable, which is why 136 terms that moved is 131 plus 5 and not the 138 rows in the movement table. Google's counting also settles for a while after a term first appears in the file, so an early run of upward moves can be the measurement catching up with reality and not new adoption. With three months archived I cannot yet tell the two apart. As the archive grows across more months, this comparison becomes more reliable. If you want to check my split, the movement table carries the band for all three months, term by term, so you can recount it yourself.
Pending is Schema.org's own name for terms it has published for use without yet folding them into a numbered release. Schema.org describes the section as "a staging area for work-in-progress terms which have yet to be accepted into the core vocabulary" and warns that "pending terms are subject to change and should be used with caution". You can read the whole description at Schema.org's own documentation for the pending section.
The invention dates come from Schema.org's own dated releases, not from Google's file, which carries no dates at all. That is a different source measuring a different thing, so it sits in its own section here with its own figures and I do not combine it with a usage band into one number. The adoption figures are built from the 877 terms whose invention date can be traced to a dated release. 1,610 terms are left out because they were already present in release 2.0, published on 13 May 2015, which is the floor of my archive, not their true age. If you date a term yourself and get an earlier year than mine, that floor is the reason.
The climb comparison has limits that are the shape of the bands themselves. The bottom band has no floor. Four of the five bands above it span a single factor of ten. The top one is open-ended. It is excluded because a term in it has nowhere to climb. The band under a thousand sites runs down from zero and holds terms almost nobody uses, some of which could not cross a thousand sites in three months whatever happened. So part of the gap between the two climb rates is the shape of the bands, not a difference in adoption, and we cannot separate the two from band data alone. Three archived months is also a short window. The web itself keeps growing underneath it, so some of the movement inside any group reflects the whole vocabulary drifting upward and not a single term catching on.
The ten-year series comes from Web Data Commons. I only chart its JSON-LD rows, because its workbooks record the same web address twice, once written as http and once as https. Keeping the http spelling and dropping the https one is the right fix for JSON-LD, where almost nothing was ever written the https way. Microdata is different. Its https share grew from under a tenth of the total in 2015 to well over half by 2024, so the same fix would have thrown away most of the newest microdata measurements, and I leave microdata out rather than chart it wrong. You are reading ten releases, not a smooth trend, because Web Data Commons crawls roughly once a year. It has not published a release since December 2024. None of those figures comes from Google's usage file. I do not place a Google number beside them, because the two sources measure different populations at different dates.
You can download the same figures as JSON or CSV, and the migration table's rows, term by term, as explorer.json. Check any number on this page against whichever of the three actually carries it.
Snapshot July 2026. 3 months archived. Built 19 August 2026.
Analysis © Eduard Dziak, licensed under the Apache License 2.0. Please credit eduarddziak.com with a link. Source data: Google and the Schema.org community, Schema.org usage statistics dataset. Rich result requirements: Google Search Central, licensed CC BY 4.0. Term descriptions: Schema.org, licensed CC BY-SA 3.0, each term linking to its own page. Crawl counts: HTTP Archive Web Almanac, licensed Apache License 2.0.