Markdown

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.

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.

Every term whose band differed in at least one of the three archived months, May 2026 to July 2026.
TermKindBand, May 2026Band, June 2026Band, July 2026
addressProperty1M - 10M10M+10M+
affiliationProperty10K - 100K10K - 100K100K - 1M
albumProductionTypeProperty< 1K1K - 10K1K - 10K
applicationCategoryProperty100K - 1M1M - 10M1M - 10M
applicationDeadlineProperty< 1K< 1K1K - 10K
ArticleClass1M - 10M1M - 10M10M+
artworkSurfaceProperty< 1K< 1K1K - 10K
AskActionClass< 1K< 1K1K - 10K
athleteProperty< 1K< 1K1K - 10K
AutoRentalClass1K - 10K10K - 100K10K - 100K
availabilityProperty1M - 10M10M+10M+
availabilityEndsProperty1K - 10K1K - 10K10K - 100K
availableChannelProperty10K - 100K100K - 1M100K - 1M
awardProperty10K - 100K10K - 100K100K - 1M
BarOrPubClass1K - 10K10K - 100K10K - 100K
bodyLocationProperty1K - 10K10K - 100K10K - 100K
broadcastOfEventProperty< 1K1K - 10K1K - 10K
businessFunctionProperty10K - 100K1M - 10M1M - 10M
BusTripClass< 1K< 1K1K - 10K
BuyActionClass10K - 100K1M - 10M1M - 10M
CasinoClass10K - 100K100K - 1M100K - 1M
CertificationClass1K - 10K10K - 100K10K - 100K
certificationStatusProperty< 1K1K - 10K1K - 10K
characterProperty< 1K1K - 10K1K - 10K
ChemicalSubstanceClass< 1K< 1K1K - 10K
coachProperty< 1K< 1K1K - 10K
ComedyEventClass< 1K1K - 10K1K - 10K
competitorProperty1K - 10K1K - 10K10K - 100K
containedInProperty1K - 10K10K - 100K10K - 100K
contentTypeProperty1K - 10K10K - 100K10K - 100K
contraindicationProperty< 1K1K - 10K1K - 10K
CourseClass10K - 100K100K - 1M100K - 1M
courseCodeProperty1K - 10K10K - 100K10K - 100K
creditTextProperty10K - 100K100K - 1M100K - 1M
datasetProperty< 1K1K - 10K1K - 10K
deliveryMethodProperty10K - 100K100K - 1M100K - 1M
DeliveryMethodClass< 1K1K - 10K1K - 10K
dependenciesProperty1K - 10K1K - 10K10K - 100K
DermatologyClass< 1K1K - 10K1K - 10K
DurationClass1K - 10K10K - 100K10K - 100K
EducationalOccupationalCredentialClass10K - 100K10K - 100K100K - 1M
eduQuestionTypeProperty< 1K1K - 10K1K - 10K
eligibleQuantityProperty10K - 100K10K - 100K100K - 1M
epidemiologyProperty< 1K< 1K1K - 10K
fileSizeProperty10K - 100K10K - 100K100K - 1M
FindActionClass< 1K< 1K1K - 10K
foundingDateProperty100K - 1M1M - 10M1M - 10M
foundingLocationProperty10K - 100K100K - 1M100K - 1M
fuelEfficiencyProperty1K - 10K10K - 100K10K - 100K
funderProperty1K - 10K10K - 100K10K - 100K
gameItemProperty1K - 10K10K - 100K10K - 100K
hasCertificationProperty1K - 10K1K - 10K10K - 100K
hasCredentialProperty10K - 100K100K - 1M100K - 1M
hasDefinedTermProperty1K - 10K10K - 100K10K - 100K
hasTierBenefitProperty< 1K1K - 10K1K - 10K
hasTiersProperty< 1K1K - 10K1K - 10K
HotelClass10K - 100K10K - 100K100K - 1M
howPerformedProperty1K - 10K1K - 10K10K - 100K
icaoCodeProperty< 1K1K - 10K1K - 10K
inProductGroupWithIDProperty1K - 10K10K - 100K10K - 100K
installUrlProperty10K - 100K100K - 1M100K - 1M
isSimilarToProperty1K - 10K1K - 10K10K - 100K
isVariantOfProperty1K - 10K10K - 100K10K - 100K
jobTitleProperty100K - 1M1M - 10M1M - 10M
jurisdictionProperty< 1K1K - 10K1K - 10K
knowsLanguageProperty10K - 100K100K - 1M100K - 1M
legislationIdentifierProperty< 1K1K - 10K1K - 10K
legislationTypeProperty< 1K< 1K1K - 10K
MedicalAudienceClass1K - 10K10K - 100K10K - 100K
MedicalBusinessClass10K - 100K10K - 100K100K - 1M
MedicalGuidelineClass< 1K< 1K1K - 10K
medicalSpecialtyProperty10K - 100K100K - 1M100K - 1M
memberOfProperty10K - 100K10K - 100K100K - 1M
membershipPointsEarnedProperty< 1K< 1K1K - 10K
menuAddOnProperty1K - 10K10K - 100K10K - 100K
MerchantReturnPolicySeasonalOverrideClass< 1K1K - 10K1K - 10K
MessageClass< 1K1K - 10K1K - 10K
MobileApplicationClass10K - 100K100K - 1M100K - 1M
numberOfAxlesProperty< 1K< 1K1K - 10K
numberOfBedroomsProperty10K - 100K10K - 100K100K - 1M
numberOfEpisodesProperty1K - 10K10K - 100K10K - 100K
OfferClass1M - 10M10M+10M+
offerCountProperty100K - 1M1M - 10M1M - 10M
offersProperty1M - 10M10M+10M+
operatingSystemProperty100K - 1M1M - 10M1M - 10M
OrderClass< 1K1K - 10K1K - 10K
parentProperty< 1K1K - 10K1K - 10K
percentile25Property< 1K1K - 10K1K - 10K
percentile75Property< 1K1K - 10K1K - 10K
performersProperty1K - 10K10K - 100K10K - 100K
performTimeProperty1K - 10K1K - 10K10K - 100K
playerTypeProperty1K - 10K1K - 10K10K - 100K
polygonProperty< 1K1K - 10K1K - 10K
PostalAddressClass1M - 10M10M+10M+
practicesAtProperty< 1K1K - 10K1K - 10K
priceProperty1M - 10M10M+10M+
priceCurrencyProperty1M - 10M10M+10M+
ProductClass1M - 10M10M+10M+
ProfilePageClass100K - 1M1M - 10M1M - 10M
providerProperty100K - 1M1M - 10M1M - 10M
questionProperty< 1K< 1K1K - 10K
referenceQuantityProperty10K - 100K1M - 10M1M - 10M
regionsAllowedProperty1K - 10K10K - 100K10K - 100K
RegisterActionClass1K - 10K1K - 10K10K - 100K
relevantSpecialtyProperty1K - 10K1K - 10K10K - 100K
SchoolClass1K - 10K1K - 10K10K - 100K
ScreeningEventClass< 1K1K - 10K1K - 10K
seasonProperty< 1K1K - 10K1K - 10K
SelfStorageClass1K - 10K10K - 100K10K - 100K
ServiceChannelClass10K - 100K100K - 1M100K - 1M
serviceTypeProperty100K - 1M100K - 1M1M - 10M
SoftwareApplicationClass100K - 1M100K - 1M1M - 10M
specialCommitmentsProperty< 1K1K - 10K1K - 10K
spokenByCharacterProperty< 1K1K - 10K1K - 10K
SurgicalProcedureClass< 1K1K - 10K1K - 10K
taxIDProperty10K - 100K100K - 1M100K - 1M
TaxiServiceClass1K - 10K1K - 10K10K - 100K
totalJobOpeningsProperty< 1K< 1K1K - 10K
TrainStationClass< 1K1K - 10K1K - 10K
transcriptProperty10K - 100K10K - 100K100K - 1M
TypeAndQuantityNodeClass< 1K< 1K1K - 10K
typicalTestProperty< 1K1K - 10K1K - 10K
unitCodeProperty100K - 1M1M - 10M1M - 10M
validUntilProperty< 1K1K - 10K1K - 10K
variesByProperty10K - 100K100K - 1M100K - 1M
versionProperty1K - 10K1K - 10K10K - 100K
VideoGameSeriesClass< 1K1K - 10K1K - 10K
warningProperty< 1K< 1K1K - 10K
WatchActionClass10K - 100K100K - 1M100K - 1M
webFeedProperty1K - 10K10K - 100K10K - 100K
workTranslationProperty1K - 10K10K - 100K10K - 100K
LiveBlogPostingClass10K - 100K1K - 10K1K - 10K
mastheadProperty10K - 100K1K - 10K1K - 10K
paymentMethodTypeProperty1K - 10K1K - 10K< 1K
PlayActionClass10K - 100K10K - 100K1K - 10K
RadioEpisodeClass1K - 10K1K - 10K< 1K
customerRemorseReturnLabelSourceProperty< 1K1K - 10K< 1K
purchaseDateProperty1K - 10K< 1K1K - 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.

All 87 superseded terms in Google's usage file, with the replacement Schema.org documents for each one.
TermKindBandReplaced by
interactionCountProperty100K - 1MinteractionStatistic
blogPostsProperty10K - 100KblogPost
branchOfProperty10K - 100KparentOrganization
containedInProperty10K - 100KcontainedInPlace
fileFormatProperty10K - 100KencodingFormat
foundersProperty10K - 100Kfounder
languageProperty10K - 100KinLanguage
menuProperty10K - 100KhasMenu
performersProperty10K - 100Kperformer
photosProperty10K - 100Kphoto
serviceAreaProperty10K - 100KareaServed
UserCommentsClass10K - 100KInteractionCounter
actorsProperty1K - 10Kactor
areaProperty1K - 10KserviceArea
awardsProperty1K - 10Kaward
benefitsProperty1K - 10KjobBenefits
employeesProperty1K - 10Kemployee
eventsProperty1K - 10Kevent
freeProperty1K - 10KisAccessibleForFree
ingredientsProperty1K - 10KrecipeIngredient
mapProperty1K - 10KhasMap
mapsProperty1K - 10KhasMap
requirementsProperty1K - 10KsoftwareRequirements
reviewsProperty1K - 10Kreview
seasonProperty1K - 10KcontainsSeason
serviceAudienceProperty1K - 10Kaudience
UserCheckinsClass1K - 10KInteractionCounter
albumsProperty< 1Kalbum
applicationProperty< 1KactionApplication
aspectProperty< 1KmainContentOfPage
assemblyProperty< 1KexecutableLibraryName
attendeesProperty< 1Kattendee
bookingAgentProperty< 1Kbroker
branchProperty< 1KarterialBranch
carrierProperty< 1Kprovider
catalogProperty< 1KincludedInDataCatalog
clincalPharmacologyProperty< 1KclinicalPharmacology
CodeClass< 1KSoftwareSourceCode
colleaguesProperty< 1Kcolleague
collectionProperty< 1KtargetCollection
contactPointsProperty< 1KcontactPoint
courseProperty< 1KexerciseCourse
datasetTimeIntervalProperty< 1KtemporalCoverage
DatedMoneySpecificationClass< 1KMonetaryAmount
DeliveryTimeSettingsClass< 1KShippingConditions
deviceProperty< 1KavailableOnDevice
directorsProperty< 1Kdirector
encodingsProperty< 1Kencoding
episodesProperty< 1Kepisode
hasProductReturnPolicyProperty< 1KhasMerchantReturnPolicy
incentivesProperty< 1KincentiveCompensation
includedDataCatalogProperty< 1KincludedInDataCatalog
isBasedOnUrlProperty< 1KisBasedOn
membersProperty< 1Kmember
merchantProperty< 1Kseller
musicGroupMemberProperty< 1Kmember
namedPositionProperty< 1KroleName
optionProperty< 1KactionOption
parentsProperty< 1Kparent
partOfTVSeriesProperty< 1KpartOfSeries
paymentDueProperty< 1KpaymentDueDate
producesProperty< 1KserviceOutput
productReturnDaysProperty< 1KmerchantReturnDays
ProductReturnEnumerationClass< 1KMerchantReturnEnumeration
ProductReturnPolicyClass< 1KMerchantReturnPolicy
runtimeProperty< 1KruntimePlatform
sampleTypeProperty< 1KcodeSampleType
SeasonClass< 1KCreativeWorkSeason
seasonsProperty< 1Kseason
siblingsProperty< 1Ksibling
stepsProperty< 1Kstep
subEventsProperty< 1KsubEvent
surfaceProperty< 1KartworkSurface
TaxiClass< 1KTaxiService
tracksProperty< 1Ktrack
UserBlocksClass< 1KInteractionCounter
UserDownloadsClass< 1KInteractionCounter
UserInteractionClass< 1KInteractionCounter
UserLikesClass< 1KInteractionCounter
UserPageVisitsClass< 1KInteractionCounter
UserPlaysClass< 1KInteractionCounter
UserPlusOnesClass< 1KInteractionCounter
UserTweetsClass< 1KInteractionCounter
vendorProperty< 1Kseller
warrantyPromiseProperty< 1Kwarranty

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.

All 22 terms in Schema.org's pending section already on 100,000 websites or more.
TermBand
applicableCountry100K - 1M
creditText100K - 1M
EducationalOccupationalCredential100K - 1M
eventAttendanceMode100K - 1M
gtin100K - 1M
hasCredential100K - 1M
hasMerchantReturnPolicy100K - 1M
hasVariant100K - 1M
jobTitle1M - 10M
knowsAbout100K - 1M
knowsLanguage100K - 1M
merchantReturnDays100K - 1M
MerchantReturnPolicy100K - 1M
numberOfBedrooms100K - 1M
OnlineStore100K - 1M
ProductGroup100K - 1M
productGroupID100K - 1M
provider1M - 10M
returnFees100K - 1M
returnMethod100K - 1M
returnPolicyCategory100K - 1M
variesBy100K - 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.

All 2,487 real terms by usage band for July 2026, split by whether the term's invention can be traced to a dated release.
Websites using the termAll real termsInvented 2015 to 2026
< 1K1,161482
1K - 10K575204
10K - 100K423133
100K - 1M17356
1M - 10M1042
10M+510
All2,487877

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.

The 877 datable terms, by year of invention and by the usage band each sits in today.
Year< 1K1K - 10K10K - 100K100K - 1M1M - 10M10M+Total
2015342913110087
2016602928610124
2017682728700130
201812171341047
2019552516600102
20209438171900168
20216616510088
2022102320017
2023134200019
2024189200029
2025498500062
20263010004
All4822041335620877

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.

The 2,487 real terms, grouped by where they started, how many climbed a band, and the rate.
GroupTermsClimbedRate
Started below 1,000 sites1,208494.06%
Started between 1,000 and 10,000,000 sites1,237826.63%
Started in the top band420Excluded, nowhere to climb
All2,487131

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.

Every JSON-LD site count this chart draws, 40 numbers across 4 types and 10 Web Data Commons releases, November 2015 to December 2024.
ReleaseWebSiteOrganizationBreadcrumbListProduct
November 2015568,45792,316354571
October 20162,072,793537,1739,5602,526
December 20172,573,118872,75137,73512,514
December 20183,519,4661,349,775205,97140,169
December 20194,401,9512,304,308427,887218,270
December 20205,616,1043,882,0681,688,8201,234,972
December 20216,019,5844,155,7514,327,3691,478,171
December 20225,799,8294,502,0024,749,3331,562,108
December 20236,306,6445,357,8085,416,0661,928,725
December 20248,461,6136,574,2846,206,5562,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.