# Speakable Schema, Generated From The Page You&#39;ve Already Shipped

Paste any URL. Get a SpeakableSpecification JSON-LD block that marks the headings and direct-answer paragraphs AI assistants should read aloud — generated from the HTML you already published.

Author: J.A. Watte
Published: April 20, 2026
Source: https://jwatte.com/blog/blog-tool-speakable-generator/

---

**TL;DR.** Structured data is how Google + LLMs disambiguate your pages. A broken `@type` drops you from rich results; a subtle `datePublished` timezone error can stop citation for current-event queries.

The **[Speakable Gen.](/tools/speakable-generator/)** is the audit you reach for when you already suspect a problem in this dimension and need a fast, copy-paste-able fix list. It reuses the same chrome as every other jwatte.com tool — deep-links from the mega analyzers, AI-prompt export, CSV/PDF/HTML download — but the checks it runs are narrow and specific to the dimension described above.

> Paste a page URL and get a ready-to-paste SpeakableSpecification JSON-LD block that marks the paragraphs AI assistants should read aloud — tuned for Google Assistant, voice search, and AI citations.

## Why this dimension matters

Structured data is how Google, Bing, and LLM crawlers disambiguate your page. A missing `@type` or broken `sameAs` URL can drop a page out of Rich Results eligibility entirely; a subtle `datePublished` timezone error can cause AI engines to cite the wrong date and — over time — stop citing you for current-event queries.

## Common failure patterns

- **`sameAs` pointing to abandoned social profiles** — the entity graph requires sameAs URLs to resolve and identify the same entity. Stale Twitter/X accounts, defunct Facebook pages, broken LinkedIn URLs all dilute the signal. Prefer Wikidata + ORCID + verified merchant profiles.
- **Nested schema that never serializes** — Google's Rich Results Test accepts invalid nesting that is later rejected by the crawl-indexing stage. Always validate against both Rich Results Test AND the Schema Markup Validator; they catch different issues.
- **Mismatch between visible content and schema** — FAQPage schema with 8 Questions while the visible HTML only shows 3 is a Structured Data Spam Policy violation. The audit flags when visible-to-schema ratios diverge by more than ~20%.
- **Missing `Organization` at the site root** — the site-wide Organization schema is the anchor for Knowledge Panel eligibility. It needs `name`, `url`, `logo`, `sameAs` (to socials + Wikidata), and — for businesses — `address` + `contactPoint`.

## How to fix it at the source

Centralize schema in your template layer (Nunjucks include, Next.js `<Head>`, etc.) so every page inherits the site-wide Organization and Breadcrumb; per-page types (Article, Product, FAQPage) extend from there. Run the Schema Markup Validator + Rich Results Test on every new page type before deploying; both catch different failure modes.

## Thresholds that matter

| Signal | Target |
|---|---|
| JSON-LD blocks per page | 2+ is healthy (site-wide Org + page-specific type); 1 is acceptable; 0 is a miss. |
| FAQPage minimum Questions | 2 (Google), but 5–10 is the practical floor for rich-result eligibility. |
| sameAs depth for Organization | 3+ verified profiles — X/LinkedIn + Wikidata + a business listing is the starter set. |
| Article required fields | `headline`, `image`, `datePublished`, `dateModified`, `author` (with `@id` + `url`). |

## Example fix

_Site-wide Organization schema (Nunjucks include):_

```json
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "@id": "https://yoursite.com/#organization",
  "name": "Your Business",
  "url": "https://yoursite.com",
  "logo": {
    "@type": "ImageObject",
    "url": "https://yoursite.com/logo.png",
    "width": 600,
    "height": 60
  },
  "sameAs": [
    "https://www.wikidata.org/wiki/Q123456",
    "https://www.linkedin.com/company/your-business",
    "https://x.com/yourbusiness"
  ],
  "contactPoint": [{
    "@type": "ContactPoint",
    "telephone": "+1-208-555-0100",
    "contactType": "customer service",
    "areaServed": "US"
  }]
}
</script>
```

## When to run the audit

- After a major site change — redesign, CMS migration, DNS change, hosting platform swap.
- Quarterly as part of routine technical hygiene; the checks are cheap to run repeatedly.
- Before an investor / client review, a PCI scan, a SOC 2 audit, or an accessibility-compliance review.
- When a downstream metric drops (rankings, conversion, AI citations) and you need to rule out this dimension as the cause.

## Reading the output

Every finding is severity-classified. The playbook is the same across tools:

- **Critical / red** — same-week fixes. These block the primary signal and cascade into downstream dimensions.
- **Warning / amber** — same-month fixes. Drag the score, usually don't block.
- **Info / blue** — context only. Often what a PR reviewer would flag but that doesn't block merge.
- **Pass / green** — confirmation. Keep the control in place.

Every audit also emits an "AI fix prompt" — paste into ChatGPT / Claude / Gemini for exact copy-paste code patches tied to your specific stack.

## Related tools in this family

- **[Mega Analyzer](/tools/mega-analyzer/)** — the kitchen-sink audit — surfaces schema health alongside SEO / perf / security.
- **[Schema Completeness](/tools/schema-completeness/)** — scores per-type completeness (Article / Product / FAQ / LocalBusiness).
- **[Rich Results Eligibility Audit](/tools/rich-results-eligibility-audit/)** — Google-specific eligibility checklist for the major rich-result types.
- **[Knowledge Graph + Wikidata Entity Audit](/tools/knowledge-graph-wikidata-audit/)** — Wikidata linkage is the strongest single signal for Knowledge Panel eligibility.
- **[E-E-A-T Audit](/tools/eeat-analyzer/)** — Person + Organization schema + sameAs depth — E-E-A-T pillars meet schema here.

## Fact-check notes and sources

- Schema.org: [Full type hierarchy](https://schema.org/docs/full.html)
- Google: [Structured data general guidelines](https://developers.google.com/search/docs/appearance/structured-data/sd-policies)
- Google Rich Results Test: https://search.google.com/test/rich-results
- Schema Markup Validator: https://validator.schema.org/

*This post is informational and not a substitute for professional consulting. Mentions of third-party platforms in the tool itself are nominative fair use. No affiliation is implied.*


---

Canonical HTML: https://jwatte.com/blog/blog-tool-speakable-generator/
RSS: https://jwatte.com/feed.xml
JSON Feed: https://jwatte.com/feed.json
Hero image: https://jwatte.com/images/blog-tool-speakable-generator.webp
