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

Entities & advanced schema

Page → machine-readable entity IDs → finished schema. The Session-3 centerpiece.

On this page

How to go from a web page to a list of Google's machine-readable entity IDs to a finished schema block. Reserve the full version for sophisticated markets (lawyers, rehab), ~1 page/month per client; the fast version is fine for everyday cloud anchors.

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 Default for 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: you've done on-page + Cora/POP, now "let me see how schema does" before spending on backlinks. Market sophistication decides how far you go.

Don't believe "AI loves schema because it's JSON." Zero empirical proof. Schema helps a model understand a page like a search engine does; it does not make you get cited. Test claims, don't inherit them.

Why entities

Pages can rank on schema alone when the About node (what the page is about) + Mention node (what it mentions) cite real entities by their machine-readable ID — the /m/... numbers behind knowledge panels. Organization schema is table stakes; the mentions + citations are what kicked Clint's pages to the top. (Google bought Freebase.com, closed it, and built the knowledge graph + machine IDs from it.)

Step 1 — get the entity list (fast method)

Option A — ChatGPT + Wikidata (more of a technical advisor than Claude here):

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

Keep topical entities (e.g. "swimming pool sanitation") + target cities. Skip government-list items + reaching neighborhoods; use brand names (Pentair) sparingly.

Option B — TextRazor (textrazor.com): install a Reader Mode Chrome extension → reader-mode the page → Ctrl-A copy → paste into the free demo → Analyze. The entities are your list (same as POP/Surfer semantic terms).

Format for NEO: ask the AI for "a line-by-line list in a code box," merge new + old, and add expansion-market cities — mentioning + anchoring to them shapes the topic toward them with your backlinks.

Step 2 — get machine IDs (the right method)

  1. Google Cloud → enable Cloud Enterprise Knowledge Graph API. Two exist; one's deprecated — use the Enterprise one (they look identical).
  2. Free account → API key → pay-as-you-go. Pennies normally, ~500 free credits/day. Don't feed it a whole website — Enterprise pricing is real.
  3. Use it on ~10 competitor articles to find the common entities (a cheap homemade Cora/POP) and have it write the schema.
  4. Verify a machine ID by hand: Google the entity → View Source → Ctrl-F /m/. Google = /m/05045c. That number is the entity to the algorithm.

Step 3 — build it in Codex, in stages

  1. Codex (ChatGPT), reasoning extra high (Clint prefers it over Claude Code; rarely hits limits on the cheap plan).
  2. New chat, no project context.
  3. Never one-shot — build in stages: - Stage 1: Python → Enterprise Knowledge Graph API → read a URL, list entities (paste the API doc link). - Stage 2: cross-reference that list against another tool (e.g. TextRazor) to verify. - Stage 3: generate the schema from verified entities.
  4. Security: never paste the API key inline — have it create a .env. (Spearleaf shares keys via Doppler so the team never sees raw values.) See Build stack.

"When you one-shot with coding, that's where you end up chasing rabbits all day long."

  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 a significantLink at the client's money site.
  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 in this workflow