Spearleaf · SEO Neo Playbook v5 · 2026-06-07 Start here Changelog
Manual

Entities & advanced schema

How to capture Tier 2 entities — the fast way (OpenAI) and the right way (TextRazor + Google KG API).

On this page

Entities are the third ingredient of Tier 2 (after exact match and variations), and the same list does triple duty: Tier 2 anchors, GSA anchors, and schema mentions. This page is how you capture them — fast and right — walked through with the Adam's Pool and Spa example (00:53:00–01:04:30), plus how to turn them into advanced schema.

SEO Neo Tier 2 Keywords screen showing Exact Match, Variation Keywords, and Entities Where entities land: the third line of the Tier 2 Primary-Keywords box. The rest of this page is how you build that entity list.

What an entity is

Not a keyword — a thing Google recognizes in its knowledge graph: a place, an organization, a concept, a product. "Swimming pool sanitation," the cities you serve, a brand like "Pentair." Each one has a machine-readable ID (the /m/... number behind a knowledge panel) — "that's what Google knows about that entity… now it knows what the hell you're talking about" (01:17:44). Google built these by buying Freebase.com, closing it, and turning it into the knowledge graph.

Using entities as anchors/mentions reinforces topical relevance, and adding your expansion-market cities lets you "shape the topic with your backlinks" (01:01:09).


The fast way — OpenAI (ChatGPT) + Wikidata

For everyday Tier 2 work and mass link building on the fly. "I do it the fast way because I'm used to looking at it the right way."

1. Use ChatGPT, not Claude"more of a technical advisor than Claude is" (00:53:30). Copy the page URL.

2. The prompt (00:53:40–00:54:19):

Review this web page: [URL]
Look for known entities that can be cross-referenced on Wikidata.
Give me a list.

3. Why Wikidata: you don't have Knowledge Graph API access, so you point it at Wikidata — the free public stand-in for Google's graph — to keep the list to real, recognized entities instead of invented keywords. "This is mass link building, we want to do this on the fly" (01:01:34).

4. Curate (00:54:36–00:55:36, from Adam's actual results): - Keep topical entities — "swimming pool sanitation, I would be all over that" — and the cities you serve. - Drop the government-list items. - Drop neighborhoods "unless you're really reaching." - Use sparingly brand names like Pentair.

5. Add expansion markets — mention Manhattan Beach etc. so your anchors steer the topic toward where Adam's is growing.

6. Format for NEO (01:00:51): ask for "a line-by-line list in a code box, including these new ones with the old list." That's your paste-ready Tier 2 entity block.


The right way — TextRazor + Google Knowledge Graph API

Two tools, two jobs (01:04:20–01:04:41): "TextRazor is what's in your stuff. Knowledge Graph API — really what you want is what everyone else is using, so you find the commonalities. You just made a cheap version of [Cora]."

Part A — TextRazor (what's in your content)

  1. Install a Reader Mode Chrome extension (Chrome Web Store). Refresh the page, enable it — strips to text-only (00:56:48).
  2. Ctrl-A, copy the text.
  3. textrazor.com → "Try the demo" → paste → Analyze (00:58:21).
  4. Entities appear on the right — "if you ever used Page Optimizer Pro… Surfer, that's what those are bringing up" (00:56:17). Same output, free.
  5. The TextRazor list is also your GSA anchor list (00:58:43). (GSA: never on client sites — point it at cloud sites, YouTube, Pinterest only.)
  6. Caveat: TextRazor's references come from Wikipedia — good, but not Google's own source.

Part B — Google Enterprise Knowledge Graph API (the better source)

Returns machine-readable IDs instead of Wikipedia strings.

  1. Enable the API in Google Cloud. Two exist; one is deprecated — use "Cloud Enterprise Knowledge Graph" (they look identical) (01:02:23).
  2. Pricing: pay-as-you-go, pennies normally, ~500 free credits/day ("you have to really try to burn through" them). Don't feed it a whole website — that triggers Enterprise pricing (01:03:05).
  3. The real move: run ~10 competitor articles through it to find the common entities everyone uses, then have it write the schema (01:03:28) — a homemade Cora/POP.

Verify a machine ID by hand: Google the entity → View Source → Ctrl-F /m/. Google = /m/05045c"that's a machine-readable ID… that's what Google knows" (01:20:12). Any real entity (like "swimming pool sanitation") has one.

Part C — chain them in a staged Codex script

The genuine right way wires both together. "My script does the TextRazor step, then cross-references it with the Knowledge Graph API" (01:02:00). Built live in Codex, reasoning extra high, in stages — never one-shot (01:11:25):

  1. API reads a URL → returns the entity list.
  2. Cross-reference that against TextRazor to "verify these are the factually correct entities."
  3. Write the schema from the verified entities.

"When you one-shot with coding, you chase rabbits all day. Map out what you're building and the steps." Security: never paste the key inline — have it create a .env (Spearleaf shares keys via Doppler so the team never sees raw values). See Build stack.


Fast vs right — when to use which

Fast way Right way
Tool ChatGPT + Wikidata TextRazor + Google Enterprise KG API
Source Wikidata (public proxy) Wikipedia (TextRazor) + Google machine IDs
Scope Your one page Your page and ~10 competitor pages → common entities
Output Curated anchor list, on the fly Verified entities + machine IDs + auto-written schema
Cost Free Pennies (~500 free credits/day)
When Everyday Tier 2 / mass link building "Rehab or something stupid hard" — competitive niches

The three levels of schema

Level What When
None No schema Never acceptable
Good-enough Plugin schema. Yoast best; SEOPress Pro fine; Rank Math no Plumbers, electricians, low-sophistication markets
Advanced Hand-built About + Mention schema citing entities by machine ID Lawyers, rehab. ~1 page/month per client

Advanced schema is a last-ditch on-page lever — after on-page + Cora/POP, before spending on backlinks. Don't believe "AI loves schema because it's JSON" — zero empirical proof; it aids understanding, not citation.

  1. Run the page through Zista (or the Codex script) → About + Mention schema citing entities by machine ID.
  2. Read the output — it adds junk. Keep relevant entities, drop noise, sort by relevance, remove single keywords, leave Wikidata refs. Save. (Duplicate schema still works, but don't do it on purpose.)
  3. Add significantLink — Google reads it as a backlink and it surfaces in search. On cloud pages, point it at the client's money site (01:25:06).
  4. Place it: HTML → paste into the page; WordPress → SEOPress Pro per-page, or WP Code site-wide.

"Some schema is better than no schema, and this is a pretty good schema." Don't hand-craft unless the market demands it.

Tools