← Back to Blog

E-E-A-T Schema Markup: The JSON-LD That Makes Google Understand Your Brand (Part 3 of 5)

E-E-A-T Schema Markup: The JSON-LD That Makes Google Understand Your Brand (Part 3 of 5)

This is Part 3 of the E-E-A-T Authority series. In Part 2, we created profiles on seven platforms. Now we connect them through structured data.

Schema markup is how you translate your E-E-A-T signals into a language Google can machine-read. Without it, Google has to guess at entity relationships by crawling your HTML. With it, you are stating those relationships explicitly.

I use JSON-LD (JavaScript Object Notation for Linked Data) embedded in <script> tags in the <head> of every page. This is Google's preferred format — they have stated this publicly and repeatedly.

The Core Schema Blocks

Every site in our network includes five schema blocks. Here is what each does and why it matters.

1. Person Schema (The Author/Expert)

This establishes who creates the content. It is the most important schema for E-E-A-T because Google needs to connect content to a real, verifiable human.

{
  "@context": "https://schema.org",
  "@type": "Person",
  "name": "J.A. Watte",
  "url": "https://jwatte.com",
  "image": "https://jwatte.com/images/jw-author-photo.jpg",
  "jobTitle": "Author & Entrepreneur",
  "address": {
    "@type": "PostalAddress",
    "addressLocality": "Tampa Bay",
    "addressRegion": "FL",
    "addressCountry": "US"
  },
  "knowsAbout": [
    "wealth building",
    "real estate investment",
    "small business marketing",
    "WCAG accessibility",
    "Schema.org structured data"
  ],
  "sameAs": [
    "https://www.amazon.com/author/jawatte",
    "https://www.wikidata.org/wiki/Q139329710",
    "https://orcid.org/0009-0004-9811-6147"
  ]
}

Key properties explained:

  • sameAs — This is the linchpin. Each URL tells Google: "This Person entity is the same entity that exists at these external profiles." Google follows these links and cross-references the data. The more trusted the platform (Wikidata, Amazon, ORCID), the stronger the signal.

  • knowsAbout — This tells Google what topics you are an expert on. When someone searches for these topics, Google can consider your content as expert-authored.

  • jobTitle — Simple but often missed. Google displays this in Knowledge Panels.

2. WebSite Schema

This establishes what the site is and who publishes it.

{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "name": "J.A. Watte",
  "url": "https://jwatte.com",
  "description": "Author of The Trap Series...",
  "publisher": {
    "@type": "Person",
    "name": "J.A. Watte"
  },
  "inLanguage": "en"
}

The publisher property connects the site to the Person entity. Google now knows: this website is published by this person who has these credentials and these external profiles.

3. Book Schema (For Product Pages)

Each book site includes a Book schema on the homepage:

{
  "@context": "https://schema.org",
  "@type": "Book",
  "name": "The $97 Launch",
  "url": "https://the97dollarlaunch.com",
  "author": {
    "@type": "Person",
    "name": "J.A. Watte",
    "sameAs": "https://www.wikidata.org/wiki/Q139329710"
  },
  "numberOfPages": 320,
  "bookFormat": "EBook",
  "isbn": "...",
  "sameAs": "https://www.wikidata.org/wiki/Q139329727",
  "offers": {
    "@type": "AggregateOffer",
    "lowPrice": "9.99",
    "highPrice": "24.99",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock"
  }
}

Notice the sameAs on the Book itself pointing to its Wikidata QID. And the sameAs on the nested author Person pointing to the author's Wikidata QID. Google can now connect: this book → this author → this Wikidata entity → these credentials.

4. BookSeries Schema

This groups all books under one umbrella entity:

{
  "@context": "https://schema.org",
  "@type": "BookSeries",
  "name": "The Trap Series",
  "url": "https://jwatte.com",
  "sameAs": "https://www.wikidata.org/wiki/Q139329783",
  "author": {
    "@type": "Person",
    "name": "J.A. Watte",
    "sameAs": "https://www.wikidata.org/wiki/Q139329710"
  },
  "hasPart": [
    {"@type": "Book", "name": "The W-2 Trap", "url": "https://thew2trap.com"},
    {"@type": "Book", "name": "The $97 Launch", "url": "https://the97dollarlaunch.com",
     "sameAs": "https://www.wikidata.org/wiki/Q139329727"},
    {"@type": "Book", "name": "The $20 Dollar Agency", "url": "https://the20dollaragency.com",
     "sameAs": "https://www.wikidata.org/wiki/Q139329733"}
  ]
}

This creates a hierarchy: Series → Books → Author. Google can now display rich results showing the entire series.

5. BlogPosting Schema (For Articles)

Every blog post includes BlogPosting schema:

{
  "@context": "https://schema.org",
  "@type": "BlogPosting",
  "headline": "Article Title",
  "description": "Article description...",
  "datePublished": "2026-08-25",
  "dateModified": "2026-08-25",
  "author": {
    "@type": "Person",
    "name": "J.A. Watte",
    "url": "https://jwatte.com",
    "sameAs": [
      "https://www.amazon.com/author/jawatte",
      "https://www.wikidata.org/wiki/Q139329710"
    ]
  },
  "publisher": {
    "@type": "Person",
    "name": "J.A. Watte"
  },
  "mainEntityOfPage": {
    "@type": "WebPage",
    "@id": "https://jwatte.com/blog/article-slug/"
  }
}

The key E-E-A-T signal here is the author object with sameAs. Every article published under your name reinforces the connection between your content and your verified identity.

Implementation: Where the Code Goes

In an Eleventy (11ty) site, schema markup lives in the base template. Here is the approach I use:

src/_includes/base.njk — Contains Person, WebSite, BookSeries, BreadcrumbList, and Speakable schemas. These appear on every page.

src/_includes/post.njk — Contains BlogPosting schema with dynamic data from the post's front matter. Only appears on blog posts.

src/index.njk — Contains Book schema and FAQPage schema. Only appears on the homepage.

The front matter of each blog post provides the data:

---
layout: post.njk
title: "Article Title"
date: 2026-08-25
pageTitle: "Article Title for Schema"
pageDescription: "Description for meta and schema."
heroImage: "/images/article-hero.webp"
tags: post
---

The template then injects these values into the schema using Nunjucks variables.

Validating Your Schema

After implementing, validate with these tools:

  1. Google Rich Results Testsearch.google.com/test/rich-results — Shows which rich results your page is eligible for
  2. Schema.org Validatorvalidator.schema.org — Checks syntax and property usage
  3. Google Search Console — Monitor the "Enhancements" section for schema errors after deployment

Common mistakes I have seen:

  • Missing @context property
  • Using sameAs with a single URL as a string when it should be an array (both are valid, but arrays are clearer)
  • Mismatched author names between BlogPosting and Person schemas
  • Using Organization as publisher when it should be Person for individual authors

The Cross-Reference Pattern

The most powerful pattern is making every schema reference the same central entity. I use a consistent sameAs pointing to my Wikidata QID in every Person object across all sites:

  • jwatte.com → Person.sameAs → Q139329710
  • thew2trap.com → Book.author.sameAs → Q139329710
  • the97dollarlaunch.com → Book.author.sameAs → Q139329710
  • All feeder sites → BlogPosting.author.sameAs → Q139329710

Google sees the same entity appearing as the author across 13+ sites, all pointing to the same Wikidata entity. This is convergent authority at scale.

Next: Reviews and Social Proof

In Part 4, I will cover the Trustworthiness pillar — how to systematically collect reviews, implement AggregateRating schema, and display social proof in ways that Google values.

← Back to Blog

Accessibility Options

Text Size
High Contrast
Reduce Motion
Reading Guide
Link Highlighting
Accessibility Statement

J.A. Watte is committed to ensuring digital accessibility for people with disabilities. This site conforms to WCAG 2.1 and 2.2 Level AA guidelines.

Measures Taken

  • Semantic HTML with proper heading hierarchy
  • ARIA labels and roles for interactive components
  • Color contrast ratios meeting WCAG AA (4.5:1)
  • Full keyboard navigation support
  • Skip navigation link
  • Visible focus indicators (3:1 contrast)
  • 44px minimum touch/click targets
  • Dark/light theme with system preference detection
  • Responsive design for all devices
  • Reduced motion support (CSS + toggle)
  • Text size customization (14px–20px)
  • Print stylesheet

Feedback

Contact: jwatte.com/contact

Full Accessibility StatementPrivacy Policy

Last updated: April 2026