🧩 Structured Data Type Finder
Describe your page below. We'll recommend the right Schema.org type and show you exactly which properties Google uses.
Or click a quick example:
How to Pick the Right Schema.org Type Before You Write a Single Line of JSON-LD
Structured data is one of those SEO tactics that sounds simple in theory — add some JSON-LD, tell Google what your page is about, win rich results. But in practice, the first question trips up even experienced developers: which Schema.org type do I actually use?
Schema.org lists over 800 types. Google only actively uses about 25 of them for rich results. Picking the wrong one doesn't just waste your time — it means Google silently ignores your markup while your competitor's recipe page shows up with star ratings and cook times taking up three times the SERP real estate yours does.
Why Getting the Type Right Matters More Than Getting the Properties Right
Q: Does it really matter which Schema.org type I pick, as long as I fill in the properties?
A: Yes — enormously. Google's structured data parser is type-first. Before it evaluates a single property, it checks whether the @type is one it supports for rich results. If you use Thing, CreativeWork, or some obscure subtype Google doesn't render, none of your carefully filled properties will produce any SERP enhancement — not a star rating, not a price, not a FAQ dropdown.
The practical consequence: a recipe page marked up as CreativeWork instead of Recipe will have zero visual difference in search results. The same page marked up as Recipe with aggregateRating can show a 4.7-star badge, calorie count, and cook time — all before the user clicks. Click-through rates on recipe rich results are routinely 20–35% higher than plain blue links in the same position.
The Most Commonly Confused Schema Type Pairs
Q: I keep seeing both Article and BlogPosting. Which one should I use for my blog?
A: Both work, but they carry different signals. Article is the parent type and is most appropriate for structured editorial content — news reports, analysis pieces, feature writing. BlogPosting is a subtype of Article and signals informal, personal, or opinion-driven writing. Google treats both similarly for rich results, but NewsArticle (another Article subtype) is specifically required for Top Stories carousel eligibility.
For most blogs, BlogPosting is technically more accurate. For news sites, use NewsArticle`. For everything else that's editorial and formal, use `Article`. The properties required by Google are identical across all three: headline, image, datePublished, and author.
Q: My page has both a How-To guide and a recipe. Which type wins?
A: Use Recipe if the end result is food. Recipe is a direct subtype of HowTo, so it inherits all HowTo's properties while adding food-specific ones like recipeIngredient, cookTime, and nutrition. If the process produces something non-edible (a woodworking project, a hair style, a knitted sweater), then HowTo is correct. You can only have one primary type per page for rich result eligibility — Google doesn't stack Recipe and HowTo simultaneously.
The Properties Google Actually Validates (vs. Ones It Just Ignores)
Q: I added every property listed on Schema.org. Why is my rich result test still showing warnings?
A: Because Google's requirements are not the same as Schema.org's full specification. Schema.org defines the vocabulary; Google defines which subset it validates and renders. For example, Schema.org has dozens of properties for Product, but Google's Rich Results Test only checks for: name, image, description, sku/gtin/mpn (at least one identifier), brand, and the nested Offer object containing price, priceCurrency, and availability.
The Offer's availability field is the most commonly missed required property. It must use a specific Schema.org enumeration value: https://schema.org/InStock, https://schema.org/OutOfStock, or https://schema.org/PreOrder. Using plain text like "In Stock" fails validation silently in many parsers but causes the rich result to be suppressed.
Local Business: The Type Where Specificity Actually Pays Off
Q: My client runs a sushi restaurant. Should I use LocalBusiness or Organization or Restaurant?
A: Use Restaurant. Always use the most specific subtype available. Google's structured data documentation explicitly says this, but the reason matters practically: type specificity affects which knowledge features can be triggered. A generic LocalBusiness can show basic NAP (Name, Address, Phone) data. A Restaurant can additionally surface menu links, cuisine type, price range, and reservation actions through Google's restaurant-specific features.
The same logic applies across the board. Use Dentist not MedicalBusiness. Use Hotel not LodgingBusiness. Use AutoDealer not Store. Specificity is not just about semantic accuracy — it unlocks feature-specific rich result templates Google only applies to named subtypes.
Events and the Attendance Mode Property Almost Everyone Forgets
Q: I marked up a webinar as an Event and the Rich Results Test passes, but it's not appearing in search. What's wrong?
A: Online events have a specific additional requirement that wasn't part of the original Event specification. You must set eventAttendanceMode to https://schema.org/OnlineEventAttendanceMode and set location to a VirtualLocation object containing the event URL. If you set location to a physical address (or omit it) for an online-only event, Google's validator may pass it but the indexing pipeline will often suppress the rich result because the location data contradicts the event format.
Hybrid events require MixedEventAttendanceMode and need both a physical Place and a VirtualLocation nested inside location as an array. This is one of the more complex implementations in the Event specification and the documentation example doesn't always make the array structure obvious.
The FAQPage Trap: When Google Stops Showing Your FAQ Rich Results
Q: My FAQ rich results disappeared after a Google update. What happened?
A: In 2023, Google significantly reduced FAQPage rich result display, limiting it to authoritative government and health sites in most cases. The type still validates and is still technically supported, but practical eligibility now requires high domain authority. More importantly, Google revised its spam policies to clarify that adding FAQPage markup to pages where the FAQ content is not genuinely useful (stuffed purely for SERP real estate) constitutes a violation.
If you're implementing FAQ markup today, the strategy should be: use it where the questions are genuinely what users search for, keep answers comprehensive (150–500 words each), and treat the markup as a semantic signal rather than a guaranteed visual enhancement. The value is increasingly in the structured signal to Google's language models rather than the collapsed dropdown in search results.
One Type Most Sites Are Missing: BreadcrumbList
Q: I've implemented Recipe and Product markup. What else should I add?
A: BreadcrumbList is the most underrated Schema.org type in terms of implementation-to-reward ratio. It replaces the raw URL in your search snippet with a human-readable navigation path (Home > Recipes > Indian > Butter Chicken). It requires just three properties per breadcrumb item: @type set to ListItem, position as an integer, and name as the display label.
Breadcrumbs show up in a remarkably high percentage of eligible SERPs because they're one of the safest rich result types — very few spam concerns, no eligibility restrictions, works on virtually any page type. Every site with more than one level of navigation hierarchy should have this implemented. It pairs with every other Schema type and adds visual differentiation in the SERP without requiring any of the complex nested objects that Product or Recipe demand.