# Structured data

> Which pages carry schema.org markup, in which form, and what each block lacks. JSON-LD, microdata and RDFa Lite are read into one shape and checked against the same list of required and recommended properties.

Describes GLLmolfar 0.9.35, checked 2026-11-08. Canonical page: https://www.getlooploop.com/gllmolfar/docs/structured-data

- **Where:** All pages › Structured data, and the Structured data tab of the page pane
- **Mode:** Pro
- **Built from:** Each HTML page's markup, after JavaScript when the page was rendered
- **Changes:** As pages are crawled

## On the screen

The table of pages with their types, and below it the selected page's markup, block by block.

![The Structured data tab of GLLmolfar on a crawl of getlooploop.com: all 500 pages carry JSON-LD, with the home page's markup in the pane below](https://www.getlooploop.com/images/gllmolfar/docs/structured-data.webp)

Numbered parts of the screenshot:

1. **Filter.** Here **Has structured data**: all 500 pages. The others: **No structured data**, **Invalid JSON-LD**, **Required properties missing**, **Recommended properties missing**.
2. **Types and source.** **Structured data types** on the page and **Markup source**: JSON-LD on every page here; Microdata and RDFa elsewhere.
3. **What is missing.** **Structured data errors** (required) and **Recommended, missing**, by type: the home page's SoftwareApplication has no aggregateRating or review; its Offer has no url.
4. **The page's types.** Every type on the page and where it came from: here Organization, WebSite, SoftwareApplication, WebPage, FAQPage and ItemList, all JSON-LD.
5. **The page's markup.** Every block in order: **JSON-LD 1**, **Microdata 1**, **RDFa 1**…, each as JSON.
6. **Structured data 6.** The pane's tab counts the page's types.

## Columns and filters

| Column | What it shows |
| --- | --- |
| Structured data types | The schema.org types the page lists. |
| Markup source | Where they come from: JSON-LD, Microdata, RDFa, or several. |
| Structured data errors | `parse` (JSON that does not parse), `context` (no schema.org @context), or `Type.property` for a required property that is missing. |
| Recommended, missing | `Type.property` for each recommended property the block lacks. |
| Page type, Indexability | What kind of page it is, and whether it can be indexed. |

**Invalid JSON-LD** keeps pages with `parse` or `context`; **Required properties missing** keeps the other errors; **Recommended properties missing** keeps pages with any recommended gap.

## What is checked

- 23 types, with required and recommended properties after Google's rich result documentation: Article, NewsArticle, BlogPosting, Product, Offer, AggregateOffer, AggregateRating, Review, BreadcrumbList, ListItem, FAQPage, Question, Answer, Organization, LocalBusiness, Event, Recipe, VideoObject, JobPosting, SoftwareApplication, WebSite, Person, ImageObject.
- Google lists no required property for Article and Organization, so their gaps are recommended, not errors.
- **Microdata** is read in full: nested items, itemref, itemid, and values from content, href, src, datetime and the other value attributes.
- **RDFa Lite** is read: vocab, typeof, property, resource and prefix. Fuller RDFa is not.
- Types outside schema.org keep their full address and match no rule.

> **Not a full validator.** Molfar says which property is missing on which type, which is what a template fix needs. It does not check every schema.org property or say whether Google will show a rich result: Google's Rich Results Test has the last word.

## States and messages

- **None** — the app says: "No structured data on this page." The page carries no JSON-LD, microdata or RDFa.
- **Bad JSON** — the app says: "invalid JSON" Shown beside a JSON-LD block that does not parse; the block is shown as it was found.
- **Older crawl** — the app says: "Microdata types only: this page was crawled before Molfar read microdata and RDFa whole. Re-crawl it to see their properties and checks." A crawl from before 0.9.35 kept only the microdata type names.

## Related pages

- [All pages (Internal)](https://www.getlooploop.com/gllmolfar/docs/all-pages.md): The All pages tab, called Internal in Pro mode: every crawled URL in one table, with filters, search, column sets, an overview panel and a page inspector.
- [Issues](https://www.getlooploop.com/gllmolfar/docs/issues.md): The Issues tab: every check that failed in the crawl, by importance and type, with why it matters, how to fix it and the URLs behind it.
- [Reports](https://www.getlooploop.com/gllmolfar/docs/reports.md): The Reports tab: eleven reports in four directions, each answering one question about the open crawl, with a language filter and HTML or PDF export.
- [Custom extraction and search](https://www.getlooploop.com/gllmolfar/docs/custom-extraction.md): Crawl › Custom extraction & search: up to ten rules (CSS, XPath subset, regex, HTML contains) that each add a column to the Custom tab.
