Adding JSON-LD structured data to a website requires placing a script block in the page head with a JSON object that declares the page's type, properties, and relationships. It does not require changing the visible HTML of the page — it is a separate metadata layer that search engines and AI systems read independently of the page content.

The Basic Structure

Every JSON-LD block has the same base structure: a script tag with type="application/ld+json", containing a JSON object with "@context" set to "https://schema.org" and "@type" set to the type of thing the page represents. An article page uses "@type": "Article". A service page uses "@type": "Service". A FAQ section uses "@type": "FAQPage".

The Minimum Viable Article Schema

For a blog article, the minimum viable JSON-LD includes: "@type": "Article", "headline" (the article title), "description" (the meta description), "datePublished" and "dateModified" in ISO format, "author" with "@type": "Organization" and the publishing organization's name and URL, and "publisher" with the same information. This provides AI systems with the content classification, publication date, and authority signals they need to cite the article appropriately.

Adding FAQPage Schema for Q&A Sections

When an article has a structured Q&A section, adding FAQPage schema to the JSON-LD enables direct AI extraction. The "@graph" format allows multiple schema types in a single JSON-LD block — one block for the Article and one for the FAQPage — which is the standard format for pages with both content and Q&A sections.

Validation

After implementation, validate the structured data using Google's Rich Results Test at search.google.com/test/rich-results and the Schema.org validator at validator.schema.org. Both tools check for required fields, formatting errors, and compatibility with rich result types. The Omni AEO service includes implementation and validation of all schema types across every relevant page on the site.