JSON-LD structured data for small business sites

Structured data is a block of JSON in the page head, using schema.org vocabulary, that tells search and answer engines what the page is about without guessing from prose: the organisation behind the site, the site itself, the product or service, a list of questions and answers. Google builds rich results from it, Bing lists the types it found in Webmaster Tools, and answer engines use it to decide which questions a page can answer.

Most small sites need three blocks and can add a fourth per page. The format is JSON-LD inside <script type="application/ld+json">; one syntax error and the whole block is ignored, so validate every change.

Organization: who is behind the site

Name, URL, logo and the profiles that prove identity (sameAs). Knowledge panels and brand answers key off this block; keep the name spelled exactly as the brand spells it.

Example record
Name
Every page (or the root page)
Type
application/ld+json
Value
{"@context":"https://schema.org","@type":"Organization","name":"Example","url":"https://example.com/","logo":"https://example.com/logo.png","email":"[email protected]","sameAs":["https://www.linkedin.com/company/example"]}

WebSite: the site name engines display

Declares the site name and URL Google shows in results and, optionally, a search action. One block, on the root page.

Example record
Name
Root page
Type
application/ld+json
Value
{"@context":"https://schema.org","@type":"WebSite","name":"Example","url":"https://example.com/"}

A type that says what you offer

Pick the schema.org type that matches the thing on the page: SoftwareApplication or WebApplication for a SaaS, LocalBusiness (or a subtype such as Dentist, Restaurant, LegalService) for a location, Product for something sold, Service for a professional service, Article for posts. Fill only fields you can defend; offers without a price are fine when pricing is by conversation.

Example record
Name
Root page (SaaS example)
Type
application/ld+json
Value
{"@context":"https://schema.org","@type":"SoftwareApplication","name":"Example","applicationCategory":"BusinessApplication","operatingSystem":"Web","url":"https://example.com/","offers":{"@type":"Offer","price":"0","priceCurrency":"USD"}}

FAQPage and BreadcrumbList

  • FAQPage: only for questions and answers that are visible on the page, word for word. Answer engines quote these directly; invisible or marketing-only FAQs get sites penalised.
  • BreadcrumbList on inner pages: the site hierarchy as a list of ListItem entries. Shows as a path in results and tells engines how sections relate.
  • Do not put numbers you cannot prove (uptime, SLAs, customer counts) in any block; they are repeated verbatim by answer engines.
  • Validate with Google’s Rich Results Test or the Schema Markup Validator after every change, and check Bing Webmaster Tools’ URL inspection lists the types you expect.

Frequently asked questions

Does structured data improve ranking?
Not directly. It earns rich results, correct brand information and clearer eligibility for answer engines, all of which improve how often the page is shown and quoted.
JSON-LD or microdata?
JSON-LD. It is what Google recommends, it does not touch your HTML markup and it is easiest to validate.
How does AstraVerify score it?
Structured data is 20 points: JSON-LD present and parseable (6), an Organization or equivalent (5), WebSite (3), a page type such as SoftwareApplication or LocalBusiness (3) and BreadcrumbList on sampled inner pages (3). Failing checks come with a pre-filled block built from your site’s title and URL.
Where do I put the script tag?
In the <head> of the page template. Multiple blocks or one @graph array both work; keep each @type once per page.

Check your own domain. The scan shows your live records, a score out of 100 and the exact record to publish for each fix.

Related guides

Canonical: https://astraverify.com/json-ld-for-small-business-sites