Free AI visibility check. One page, all four dimensions. No signup, nothing installed. Check a page →
Home/Get cited

Technical

JSON-LD without the jargon

Structured data is just a block of JSON that states, unambiguously, the facts your page implies. It is the highest-value change on most sites.

Updated 8 min read

Your page says "Call us on 6362 1234, open Saturdays." A person understands. A machine has to guess whether that is your number, a supplier's number, or an example.

JSON-LD removes the guess. It is a <script> tag containing JSON that states the same facts in a vocabulary pillars already agree on (schema.org(opens in a new tab)). It is invisible to visitors and it goes in the <head>.

The four types that matter

You do not need the hundreds of types in the vocabulary. Four cover most sites.

1. Organization — who you are

Put this on every page. It is the anchor everything else attaches to.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "@id": "https://fernway.co/#org",
  "name": "Fernway",
  "url": "https://fernway.co",
  "description": "Quoting software for field service crews under ten people.",
  "email": "[email protected]",
  "telephone": "+61263621234",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "12 Summer Street",
    "addressLocality": "Orange",
    "addressRegion": "NSW",
    "postalCode": "2800",
    "addressCountry": "AU"
  },
  "sameAs": [
    "https://www.linkedin.com/company/fernway",
    "https://www.facebook.com/fernway"
  ]
}
</script>

The sameAs array is doing quiet heavy lifting: it links your website to your other profiles, which is how a model confirms you are one consistent entity rather than three similar-sounding businesses.

2. FAQPage — your liftable answers

The single highest-return block for AI visibility, because it hands a model pre-chunked question-and-answer pairs. Covered in full in FAQ schema.

3. Article — for anything editorial

Gives your guides an author, a publish date and a modified date. Without it, freshness is unknowable.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "How to quote a job in under five minutes",
  "datePublished": "2026-03-11",
  "dateModified": "2026-07-02",
  "author": { "@type": "Person", "name": "Sam Whitely" },
  "publisher": { "@id": "https://fernway.co/#org" }
}
</script>

4. Product or Service — what you sell

Ecommerce platforms usually emit this for you. Service businesses almost never do, and should.

YOUR SITE readable or not GPTBot Bingbot ClaudeBot The answer

Three rules

  • One @id per entity, reused everywhere. That is how you say "this author, on this site, is the same one as on that other page."
  • Never state something in schema that is not visible on the page. Invented ratings and fake prices are the fastest way to lose trust with both search engines and models.
  • Validate before you ship. Run everything through the Schema Markup Validator. Malformed JSON-LD is ignored entirely, so a stray comma undoes all of it.
COMMON MISTAKE

Two Organization blocks on one page with different names — usually one from your theme and one you added. Pick one, delete the other.

Copy-ready blocks for each type are on the JSON-LD templates page.

Common questions

Does JSON-LD have to be in the head?

It does not have to be, and it will be read in the body, but the head is conventional and easier to maintain.

Will structured data improve my Google rankings?

Not directly. It makes you eligible for rich results and it makes your facts unambiguous to anything reading the page, which is what matters for being named in an AI answer.

What happens if my JSON-LD has a syntax error?

It is discarded silently. You get no warning and no benefit, which is why validating is not optional.

Take this to your assistant

Paste it into ChatGPT, Copilot, Claude or Gemini and apply it to your own website.

Nothing is sent anywhere. The text is copied to your clipboard.