JSON-LD Audit Checklist for Article, Product, FAQ, and Organization Pages
A practical JSON-LD checklist for Article, Product, FAQPage, and Organization markup: AGNURA’s completeness flags, what to verify against visible content, and what the audit does not prove.
You will be able to audit JSON-LD on Article, Product, FAQ, and Organization-style pages with a checklist that matches what AGNURA AI Assistant checks, then verify that markup matches visible content.
A green “schema present” note is not a Google rich-result promise. Incomplete fields are heuristics. Fake FAQ or Product markup that users cannot see is a trust risk. Google’s overview: Intro to structured data.
Hub: What Is an On-Page SEO Audit?. One-page list: On-Page SEO Checklist for One Page.
When this applies
- You ship or fix
application/ld+jsonon a blog post, product URL, FAQ page, or sitewide org block - AGNURA flagged
schema-*-incompleteor you want a pre-publish pass - You need to confirm markup matches what people see on the page
Prerequisites
- Live URL open in Chrome (wait for JS-injected JSON-LD if the site adds it late)
- Access to edit theme/CMS structured data, or a ticket for whoever can
- Optional: Run and Export an AGNURA SEO Analysis
- Optional: Google Rich Results Test for an independent parse (third-party tool)
Direct answer
- Pick the page type (Article, Product, FAQ, Organization/LocalBusiness).
- Confirm JSON-LD exists and
@typematches that job. - Fill the minimum fields AGNURA (and common rich-result docs) expect.
- Match visible content: same name, price, questions, and org facts users can see.
- Run AGNURA; fix Medium/Low incomplete flags.
- Spot-check in View Source or DevTools; do not invent types the page does not support.
What AGNURA checks (product-true)
AGNURA scrapes JSON-LD types and key fields on the current page. It does not fully validate against Google’s live eligibility rules, and it does not prove markup matches the visible DOM word-for-word.
| If this type is present | Completeness rule (approx.) | Issue ID | Severity |
|---|---|---|---|
| Organization or LocalBusiness | name and (url or logo) | schema-org-incomplete | Medium |
| Product | name and offers / offers.price | schema-product-incomplete | Medium |
| FAQPage | mainEntity present (Q&A graph) | schema-faq-incomplete | Medium |
| Article, NewsArticle, or BlogPosting | (headline or name) and (author / author.name or datePublished) | schema-article-incomplete | Low |
If any JSON-LD types are found, you may also see passed schema-present. Type-specific passes: schema-org-ok, schema-product-ok, schema-faq-ok, schema-article-ok.
Related Low SERP hints (not the same as completeness): on longer pages, AGNURA may suggest FAQ/HowTo schema or lists/video when absent. Only add FAQ/HowTo when the page actually answers questions or teaches steps.
Checklist by page type
Mark each row Pass / Fix / N/A.
A. Every page (before type-specific rows)
| Check | Pass looks like | Notes |
|---|---|---|
| Valid JSON-LD | Script parses; no broken JSON | One bad block can drop entities |
Right @type for the URL | Product URL uses Product; article uses Article/BlogPosting; etc. | Do not paste Product markup on a pure About page |
| Visible match | Names, prices, FAQs, dates match what users see | Required even if AGNURA shows complete |
| No leftover test data | No example.com, fake prices, or placeholder Q&A | Trust and eligibility risk |
| AGNURA run | Current tab analyzed after load | SPA: wait for inject |
B. Organization / LocalBusiness
| Check | Pass looks like | AGNURA |
|---|---|---|
name | Legal or public brand name users recognize | Required for org OK |
url or logo | Homepage URL and/or logo URL | Either url or logo satisfies AGNURA’s pair with name |
| Address / phone (optional) | Match footer/contact if you include them | Contact research is separate: Find Public Business Contact Details |
| Same org everywhere | Consistent name across pages | Avoid conflicting Organization blocks |
C. Product
| Check | Pass looks like | AGNURA |
|---|---|---|
name | Same product title users see | Required |
| Offers with price | Offer (or offer list) includes a real price | offers or offers.price |
| Currency / availability (recommended) | Honest stock and currency | AGNURA focuses on name + offers/price presence |
| Visible price match | Schema price matches on-page price | Critical for trust |
| One product focus | Markup describes this URL’s product | Variants: keep accurate |
D. FAQPage
| Check | Pass looks like | AGNURA |
|---|---|---|
mainEntity | Questions present in the graph | Required for FAQ OK |
| Question + acceptedAnswer | Each Q has an answer | AGNURA checks mainEntity presence, not every nested field |
| Visible FAQ | Same questions appear on the page | Do not hide FAQ only in JSON-LD |
| Genuine Q&A | Real user questions, not keyword stuffing | Eligibility and UX |
E. Article / NewsArticle / BlogPosting
| Check | Pass looks like | AGNURA |
|---|---|---|
headline or name | Matches the article title users see | Required |
author and/or datePublished | Real byline / publish date | Either author (or author.name) or datePublished satisfies AGNURA |
dateModified (optional) | Updated when content changes | Good practice; not AGNURA’s minimum |
| Body match | Headline matches H1/title closely enough | Align with H1 and Heading Structure |
Step-by-step workflow
1. Identify the owning type
Ask: “If Google showed one rich result, which type would be honest?” Pick that. Skip types you cannot support with visible content.
2. Inspect current JSON-LD
View Source or DevTools → search application/ld+json. Note @type and key fields. Run AGNURA on the same tab.
3. Fill minimums, then enrich
Meet the table minimums first. Then add image, description, brand, SKU, and dates when accurate.
4. Force the visible-content test
| Markup claim | Visible test |
|---|---|
| Product price | Same price in the buy box |
| FAQ questions | Same questions rendered on the page |
| Article headline | Same story title on screen |
| Organization name | Same brand in header/footer |
If you cannot point to the claim on the page, remove or fix the JSON-LD.
5. Re-run and export if needed
Re-run SEO Analysis. Confirm incomplete issues clear. Export/PDF only after the live page is fixed (Run and Export an AGNURA SEO Analysis).
Common failures and fixes
| Problem | Likely cause | Fix |
|---|---|---|
schema-product-incomplete | Name without offers/price | Add Offer with price (and currency when you can) |
schema-faq-incomplete | FAQPage type with empty graph | Add mainEntity Question list |
schema-org-incomplete | Name only | Add url or logo |
schema-article-incomplete | Headline without author or date | Add author and/or datePublished |
| Schema in CMS preview only | Not on live HTML | Publish; re-check live tab |
| AGNURA shows no schema | Microdata only, late inject, or none | Prefer JSON-LD; wait for load; confirm script tags |
| Rich Results Test fails but AGNURA “complete” | Different rules / eligibility | Trust Google’s tester for eligibility; use AGNURA for quick field gaps |
| FAQ schema on a page with no FAQ UI | Markup-only FAQ | Add visible FAQ or remove FAQPage |
Verification checklist
- Owning
@typematches the page job - Minimum fields for that type are filled
- Every important claim is visible on the page
- No placeholder domains, prices, or Q&A
- AGNURA incomplete flags cleared (or documented exception)
- Optional Rich Results Test run on the live URL
- Score not chased for its own sake (How to Read an SEO Score Without Chasing 100)
When to escalate
- Legal/regulated claims in Product or Article markup: compliance review
- Multi-product category URLs: do not force a single Product graph incorrectly
- Sitewide Organization conflicts across templates: fix the shared partial
How AGNURA helps this job
| Step | Without AGNURA | With AGNURA |
|---|---|---|
| Detect JSON-LD types | Manual source hunt | schema-present + type list |
| Spot incomplete org/product/FAQ/article | Field-by-field reading | schema-*-incomplete with fix hints |
| SERP feature hints | Guess | Optional Low chips (FAQ/HowTo/lists/video) |
| Prove Google eligibility | N/A | Still use Google’s testers |
Compared with common alternatives
| Approach | Fit |
|---|---|
| Schema plugin defaults only | Fast; easy to drift from visible content |
| Google Rich Results Test alone | Best eligibility check; slower for daily edits |
| Full-site crawler schema reports | Scale across URLs |
| AGNURA on the active tab | Fast completeness + types on one URL; not a rich-result guarantee |
Limits (product-true)
- JSON-LD focused; other syntaxes may be missed
- Completeness is field presence, not full Schema.org or Google validation
- Does not prove visible-content match (you must)
- Does not guarantee rich results or rankings
- Article incomplete is Low; org/product/FAQ incomplete are Medium
- Current-page audit only; not a sitewide schema crawl
- SEO Analysis does not use managed AI for these checks
Related guides
- What Is an On-Page SEO Audit?
- On-Page SEO Checklist for One Page
- Title Tags and Meta Descriptions: Practical Length and Intent Checks
- H1 and Heading Structure: What an Audit Should Flag
- Run and Export an AGNURA SEO Analysis
Soft next step
Pick one Product or FAQ URL, compare JSON-LD fields to what is on screen, then run AGNURA and clear any incomplete flags. Install when you want that on the tab:
Try AGNURA in Chrome
Draft in Gmail, LinkedIn, WhatsApp, and Reddit. You review every message before send.
Add to Chrome