Main entity solved
Lumar · Main entity

Schema is how machines read your content.

Every page is about one thing. Lumar names it as a schema.org type, on every page of your crawl, and tells you where your markup says something else.

The idea

One page. One main entity.

  1. 01A product page mentions many things: the shop, a breadcrumb, the price, reviews, a block of FAQs.
  2. 02Search engines and AI assistants read schema to work out which of them the page is about.
  3. 03That one thing is the main entity. Lumar names its most specific schema.org type, here a Product.
Method

Every type. Two rounds.

  1. 01About 740 schema.org types can be what a page is about. Types that fit any page, like WebPage, are set aside first.
  2. 02They are too many for one question, so round one splits them into three questions, asked together. Every type is weighed; nothing is ruled out early.
  3. 03Each question keeps its five strongest types. If a question cannot be answered, it is split and asked again; anything still unanswered is reported, never dropped.
  4. 04Round two weighs the fifteen finalists together, side by side.
  5. 05The answer comes with a confidence score, so close calls show their runner-up.
Your markup

Read in code. Not guessed.

  1. 01Lumar reads your JSON-LD and microdata directly. No model looks at your markup.
  2. 02It finds the part of your markup that describes this page, and reads what it says the page is about.
  3. 03An FAQ block on the page names its own main entity, but it describes the block, not this page, so it never counts as the page's answer.
Matching

Wrong is a different kind of thing.

  1. 01Markup says Article, the page is a BlogPosting. Same branch of schema.org, just less specific: a match.
  2. 02Markup says Article, the page is an Event. Different branches: a real mismatch.
  3. 03Markup names nothing: reported as missing, never counted as wrong. On lumar.io, comparing exact types flagged 15 of 17 blog posts; comparing branches leaves the 2 real ones.
In the report

What it found on lumar.io.

Real rows from a crawl of our own site. Most pages name no main entity at all; a few name the wrong kind of thing.

Built for every page of every crawl.

Types weighed0for every page, in two rounds
Model0built to choose, not a chatbot
Per page0typical time to decide
Finalists0weighed together in round two
Lumar · Main entity

Know what every page is about.

And whether your schema agrees. On every page, on every crawl.