Methodology

The Schema Markup Generator analyzes a webpage in stages: fetching both raw HTML and rendered DOM, classifying what the page is, extracting structured data heuristically, comparing against existing markup, and emitting validated JSON-LD.

The Pipeline

  1. Fetch: Raw HTML first, then rendered DOM via headless browser. Captures what crawlers see vs. what JavaScript adds.
  2. Classify: Detects page type (Organization, Service, Article, Product, FAQ, LocalBusiness) from HTML structure, text patterns, and existing markup.
  3. Extract: Heuristically pulls entities: legal name, logo URL, address, phone, social profiles, author, publish/update dates, breadcrumbs. Each field is labeled by extraction confidence.
  4. Diff: Parses any existing schema markup and compares against what was extracted, showing gaps and conflicts.
  5. Emit: Generates a complete @graph with required and recommended fields per schema.org, filling in what was found and leaving placeholders (marked TODO) for what was not.
  6. Validate: Validates the output against schema.org and Google's field requirements before returning it.

Scoring & Grade Bands

The report includes a 0–100 completeness score mapped to a letter grade:

Grade Range Meaning
A 90–100 AI-ready — complete, structured data present
B 75–89 Mostly visible — some gaps but schema present
C 60–74 Partially visible — sparse or incomplete markup
D 40–59 Hard to cite — very incomplete
F 0–39 Effectively invisible — no or broken markup

The Scoring Formula

The score weights three categories:

How Extraction Works

Extraction is heuristic-only, no LLM calls. We scan for: Every extracted field is tagged high confidence (found in structured markup or unambiguous text), medium confidence (pattern-matched or inferred), or TODO (not found, placeholder for you to fill in). You decide what to trust before publishing.

Confidence Labels

Publishing a TODO field (or any placeholder) is worse than publishing nothing — it tells a model something incomplete with full confidence. Always review before pasting.