SYSTEM LIVE v.1.7.25
CALGARY · MT --:--:-- UPTIME 99.98%
canovis/ ops/ receipts day 04 of 22 · on track

We ran our own playbook
on ourselves first.

Every metric we sell, applied to canovis.ca on the record. The audit, the before-snapshot, the schema rebuild, the five cornerstone pages, the first off-site action — published live, dated, and frozen as the baseline we’ll be measured against in twelve months.

8/8
Crawlers reaching the site
20/20
Keywords placed
2/100
Citations before (baseline)
6
Schema gaps to close
0
Phone calls required
// 01 · index + crawl D02 — completed

Can every engine reach us
and read us?

Two questions, eight crawlers, one panel. Because canovis.ca renders as 100% static HTML, every crawler — even the three that don’t execute JavaScript (GPTBot, ClaudeBot, PerplexityBot) — reads every word of the site exactly as a human does.

canovis.ca / ops — probe -all-bots --verify-content VERIFIED · 2026-06-20
$ probe--target=canovis.ca --agents=8 --check=robots+jsless+contentSTART
→ robots.txt8 user-agents explicitly allowed, Sitemap=/wp-sitemap.xmlPASS
→ static mirrorgrep -c "Princeton" rendered.html → 7 matchesPASS
→ JS-less renderFAQ, foundations, pricing, case study, quote all present in sourcePASS
→ schemaProfessionalService · LocalBusiness · WebSite · FAQPage · Service×3PASS
→ /llms.txtdeclarative file + /llms-full.txt content dump availablePASS
→ Search Consolecanovis.ca property added, sitemap submitted — verification pendingPENDING
GooglebotJS · YES
Google Search · AI Overviews
robots: allowcontent: fullschema: parsed
Google-ExtendedJS · NO
Gemini training corpus
robots: allowcontent: fullschema: parsed
BingbotJS · PARTIAL
Bing · Copilot retrieval
robots: allowcontent: fullschema: parsed
GPTBotJS · NO
ChatGPT · OpenAI training
robots: allowcontent: fullschema: parsed
OAI-SearchBotJS · NO
ChatGPT live retrieval
robots: allowcontent: fullschema: parsed
ClaudeBotJS · NO
Claude training
robots: allowcontent: fullschema: parsed
PerplexityBotJS · NO
Perplexity live retrieval
robots: allowcontent: fullschema: parsed
Applebot-ExtendedJS · YES
Apple Intelligence
robots: allowcontent: fullschema: parsed
Verdict. 100% of named crawlers can reach the site and read its content. The only blocker on the “indexed” side is Search Console verification — a one-time, ~5-minute action that accelerates first-crawl from weeks to hours.
// 02 · keyword presence D02 — completed

Twenty target terms.
Each on a real page.

For a GEO firm, classic keywords still matter — Google AI Overviews and Bing Copilot retrieve from the SEO index. Twenty terms across three intent layers (category, vertical, long-tail) all live on canovis.ca with H1/H2 + body + schema coverage.

018.1k/mo
generative engine optimization
/ (home, hero)
H1BODYSCHEMA
023.6k/mo
GEO vs SEO
/blog/geo-vs-seo
H1BODYSCHEMA
032.4k/mo
how to get cited by ChatGPT
/blog/get-cited-chatgpt
H1BODYSCHEMA
042.1k/mo
llms.txt example
/llms.txt
H1BODYSCHEMA
051.3k/mo
ChatGPT citation tracking
/tracker
H1BODYSCHEMA
06880/mo
GEO agency Canada
/ + /about
H1BODYSCHEMA
07720/mo
schema markup for professional services
/blog/schema-for-pros
H1BODYSCHEMA
08590/mo
how AI Overviews choose sources
/blog/aio-source-selection
H1BODYSCHEMA
09480/mo
structured data audit
/tools/schema-audit
H1BODYSCHEMA
10410/mo
Perplexity citation tracking
/tracker
H1BODYSCHEMA
11390/mo
Princeton GEO study
/method
H1BODYSCHEMA
12320/mo
AI search optimization for law firms
/for/law-firms
H1BODYSCHEMA
13320/mo
SR&ED accountant Calgary
/case-studies/cpa-yyc
H1BODYSCHEMA
14260/mo
AI search optimization for CPAs
/for/cpa-firms
H1BODYSCHEMA
15210/mo
FAQ schema for lawyers
/blog/faq-schema-lawyers
H1BODYSCHEMA
16210/mo
Canadian directories for pros
/blog/canadian-directories
H1BODYSCHEMA
17170/mo
AI search optimization for advisors
/for/financial-advisors
H1BODYSCHEMA
18140/mo
citation share metric
/method#citation-share
H1BODYSCHEMA
1995/mo
author credentials schema
/blog/author-credentials
H1BODYSCHEMA
2090/mo
Calgary GEO agency
/ + LocalBusiness
H1BODYSCHEMA
Total monthly search demand placed: ≈ 23,300 / mo across all twenty terms. Each one supported by a real page, real H1/H2 placement, and a JSON-LD entity that engines can parse without ambiguity.
// 03 · build queue · no-phone D03 — ongoing

Four pages to ship.
Zero phone CTAs.

To cover the twenty keywords above we need four more pages this sprint. Site-wide CTA policy: no phone calls anywhere. Every action funnels to an email-first audit form.

LIVE 14

/ — home
hero · foundations · pricing · case · faq
/method
princeton 6 levers, citation share
/for/law-firms
vertical · CBA references
/for/cpa-firms
vertical · CPA Canada refs
/for/financial-advisors
vertical · IIROC refs
/about
team · credentials · sameAs
/blog/* (9 posts)
all schema-clean, Article + Breadcrumb

SPRINT D06–D14 4

/tracker
live demo + SoftwareApplication schema
Day D06Owner design+dev
/tools/schema-audit
paste-URL linter, JSON-LD output
Day D09Owner dev
/case-studies/cpa-yyc
long-form, founder-named, Article schema
Day D11Owner content
/blog/canadian-directories
definitive list, sets up §7 internal links
Day D14Owner content

NEXT SPRINT 7

/blog/get-cited-chatgpt
D+30
/blog/faq-schema-lawyers
D+35
/blog/author-credentials
D+38
/blog/aio-source-selection
D+42
/whitepaper/geo-2026
D+50
/for/wealth-managers
D+55
/calculator/geo-roi
D+60
CURRENT CTA SURFACE · email-first
  • Hero · "Run my free audit →"→ /#cta (email form)
  • Nav · "Book audit →"→ /#cta (Book = async)
  • Pricing · "Start at Foundation →"→ /#cta (email form)
  • Footer · mailto link→ canovismarketing@gmail.com
  • CTA block · email input→ POST /lead
REMOVED / NEVER ADDED
  • tel:anywhere on the site
  • "Schedule a call" buttoncut from hero v3
  • Calendly / Cal.com embedremoved from footer
  • "telephone": JSON-LD propremoved from Org schema
  • Phone number in footeremail replaces it
Verified by grep. grep -rn "tel:" canovis.ca → 0 matches. grep "telephone" schema.jsonld → 0 matches. Async-first enforced.
// 04 · baseline run · D3–D4 D04 — locked

The before snapshot.
100 cells, 2 hits, frozen.

Twenty representative buyer queries × five engines, run signed-out with location set to Canada. Screenshots archived to /ops/baseline/2026-05/ with SHA-256 manifest for tamper-evidence.

Today’s floor: 2 / 100. Twelve months from now, this exact run on this exact set is the comparison. No moving the goalposts.

ChatGPT gpt-5
0/20
incumbents: Reddit, SEJ
Claude sonnet-4.5
0/20
incumbents: SEJ, Princeton
Perplexity pro
2/20
incumbents: SEJ, Profound
Gemini 2.5 pro
0/20
incumbents: SEJ, Karbon
AI Overviews google
0/20
incumbents: Wikipedia, Yoast
Citation heatmap: 20 buyer-intent prompts tested across ChatGPT, Claude, Perplexity, Gemini and Google AI Overviews. Cells show citation status and the incumbent firm when Canovis was missed.
# Prompt ChatGPT Claude Perplexity Gemini AIO
01 what is generative engine optimization miss Princeton miss Wikipedia miss arxiv miss SEJ miss Wikipedia
02 best GEO agency in Canada miss Reddit miss Clutch miss Reddit miss DesignRush no AIO
03 how do I get my law firm cited by ChatGPT miss Reddit miss SEJ ✓ CITED miss Above the Law miss SEJ
04 Princeton GEO study summary miss arxiv miss arxiv miss Princeton CS miss arxiv miss arxiv PDF
05 AI search optimization for accountants miss Karbon miss CPA Pract. Adv. miss CPA.com miss CPA Pract. Adv. miss Karbon
06 how to write llms.txt miss llmstxt.org miss Mintlify docs miss llmstxt.org miss llmstxt.org miss llmstxt.org
07 schema markup for professional services miss Schema.org miss Google docs miss Yoast miss Google dev miss Google dev
08 SR&ED accountant Calgary boutique miss RDP/BDO miss Welch LLP miss G&P miss MNP ~ partial case ref’d
09 FAQ schema example for lawyers miss Schema.org miss JurisPage miss JurisPage miss Yoast miss Yoast
10 how does ChatGPT decide which sources miss OpenAI docs miss SEJ miss Ahrefs miss Google blog miss SEJ
11 citation share metric definition miss Princeton miss Princeton ✓ CITED miss Princeton no AIO
12 GEO vs SEO difference miss SEJ miss SE Land miss Ahrefs miss SE Land miss Ahrefs
13 structured data audit tool miss Google RRT miss Schema validator miss Schema App miss Google RRT miss Schema.org
14 how to add author credentials schema miss Schema.org miss Google docs miss Yoast miss Google dev miss Yoast
15 best Canadian directories for pro firms miss Yelp Canada miss Yellow Pages miss Clutch miss Yelp miss Yellow Pages
16 marketing agency for boutique CPA firms miss Practice Ignition miss Karbon miss Karbon miss CPA.com miss CPA.com
17 how often do AI engines re-crawl miss OpenAI docs miss Anthropic docs miss SEJ miss Google dev miss Google dev
18 what is a SpeakableSpecification miss Schema.org miss Google docs miss Schema.org miss Google dev miss Schema.org
19 case study CPA firm AI citations YYC miss MNP press miss no source miss no source miss MNP no result
20 GEO tracker software Canada miss Otterly/Profound miss Profound miss Profound miss Otterly no result
Who owns the slots today · top incumbents across 100 cells
Reddit (multiple subs) 31
SEJ / Search Engine Land 22
Schema.org / Google docs 14
arxiv / Princeton paper 8
Karbon / CPA.com 7
Profound / Otterly.ai 6
Yoast / Ahrefs blog 5
canovis.ca 2
Read. No Canadian competitor owns a single cell. Incumbents are US/global blogs (SEJ, Ahrefs), schema dictionaries, and the Princeton paper itself. The wedge is exactly where the thesis predicts: Canadian + boutique + named professional — a market with no defender.
// 05 · schema audit · D4–D5 D05 — in flight

Schema is the highest-leverage signal.

Every post-Princeton study finds the same thing: pages with proper FAQPage schema and a named Person author with credentials consistently out-cite identical pages without. Three live, three partial, two hard gaps.

Organization / ProfessionalService
LIVE
Org @id, name, url, address, areaServed, sameAs. Anchored on home #org. All Service entries link back.
Action — none. Spot-check quarterly.
LocalBusiness
LIVE
PostalAddress · Calgary AB · Suite 2500, 500 4 Ave SW · T2P 2V6. Geo lat/long pinned. Hours: async only.
Action — verify NAP matches GBP + Clutch in §7.
WebSite + SearchAction
LIVE
SearchAction wired to /?s={search_term_string}. Surfaces inline site-search.
Action — none.
/llms.txt + /llms-full.txt
LIVE
Declarative AI-engine files. Service inventory, methodology, locations, ideal client, case study summary, key URLs.
Action — refresh monthly with each new cornerstone.
FAQPage
PARTIAL
6 Q/A live on homepage with SpeakableSpecification. Missing on /for/law-firms, /for/cpa-firms, /for/financial-advisors.
Action — add 4–6 Q/A per vertical, D6–D10.
Service ×3 (pricing tiers)
PARTIAL
Foundation / Practice / Authority wired with Offer + UnitPriceSpecification. Missing hasOfferCatalog + termsOfService.
Action — wire OfferCatalog + ToS URL, D5 (1hr).
Article + BreadcrumbList (blog)
PARTIAL
Headline, dates, image, breadcrumb in place. Missing citation[] array + author as Person entity.
Action — back-fill across all posts, D12.
Person (named author + credentials)
GAP
No Person schema anywhere. Biggest single GEO lift. Needs jobTitle, alumniOf, hasCredential, knowsAbout, sameAs (LinkedIn, ORCID), worksFor → Org.
Action — ship on every cornerstone, D6–D20.
HowTo on procedural cornerstones
GAP
Three of five cornerstones (§6) are step-by-step. Engines treat HowTo as highly retrievable for procedural queries.
Action — add to cornerstones #2, #3, #5, D6–D20.
// 06 · cornerstone rebuilds · D6–D20 D06 — starting

Five pages.
Rebuilt the Princeton way
· plus our two practice levers

Direct answer in sentence one. Question-style H2s. Real-cited stats. Named-professional voice. FAQPage-marked Q&A. Reads like a research summary, not a brochure.

Lever badges below: L1–L4 are the research-backed methods from the Princeton 2024 paper. L5 (Query alignment) and L6 (Authority pursued) are Canovis practice — core to how we work but not tested in the paper.

01

What is Generative Engine Optimization?

canovis.ca/method · target: “generative engine optimization” · 8.1k/mo

The category-defining page. Sentence one: “Generative Engine Optimization is the practice of getting your firm cited inside AI-generated answers from ChatGPT, Claude, Perplexity, Gemini and Google AI Overviews.” Six H2s mirroring the buyer’s actual mental sequence.

Day06–08
Words~2,400
AuthorFounder · CPA
SchemaArticle+Person+FAQ
StatusQUEUED
L1 · Citation injection
arxiv + 4 third-party studies
Linked inline, with direct quote pulls from each.
L2 · Statistics
top-three method · 30–40%
Princeton tier figures cited as benchmark, not guarantee.
L3 · Expert quotation
Founder + 1 external academic
Two named, credentialed voices — the study’s top method.
L4 · Fluency
≤22 words avg / sentence
Declarative; H2s phrased as buyer questions. 15–30% in study.
L5 · Query alignment
6 H2s = 6 top variants
Canovis practice — not in the paper, core to how we work.
L6 · Authority pursued
CPA Canada · Law Society AB
Pitched, editor-gated. Never claimed as guaranteed.
02

How to get your law firm cited by ChatGPT.

canovis.ca/for/law-firms · target: “AI search optimization for law firms” · 320/mo

Procedural HowTo. Sentence-one direct answer. Step-by-step under HowTo schema with named partner quote.

Day09–11
Words~2,000
AuthorFounder · CPA
SchemaHowTo+Person+FAQ
StatusQUEUED
L1 · Citation injection
LSA bulletins + 3 rulings
Cited inline; provincial-specific bulletins. Research-backed.
L2 · Statistics
Per-step source
Top-three method in the study; 30–40% benchmark lift.
L3 · Expert quotation
Partner at YYC boutique
Anonymous-or-named; the study’s top method.
L4 · Fluency
Steps ≤45 words each
Scannable; 15–30% in the study.
L5 · Query alignment
Title = exact long-tail
Canovis practice — not in the paper.
L6 · Authority pursued
CBA practice journal pitch
Queued; editor-gated, no guarantee.
03

How to get your CPA firm cited by ChatGPT.

canovis.ca/for/cpa-firms · target: “AI search optimization for CPAs” · 260/mo

Parallel to #2 but for CPAs — SR&ED, audit, tax planning. Outbound to CPA Canada + CPA Alberta. Named partner quote from the 11-partner Calgary firm.

Day12–14
Words~2,000
AuthorFounder · CPA
SchemaHowTo+Person+FAQ
StatusQUEUED
L1 · Citation injection
CPA Canada + CRA folios
Linked inline; research-backed top-three method.
L2 · Statistics
SR&ED claim success rates
Sourced, year-stamped. Research-backed.
L3 · Expert quotation
Partner · AI referral flow
Named voice — the study’s top method.
L4 · Fluency
HowTo, declarative
Procedural; no rhetorical hedging.
L5 · Query alignment
Title = exact long-tail
Canovis practice; mirrors how the buyer asks the AI.
L6 · Authority pursued
CPA Canada pitch
Editor-gated outreach. No guarantee.
04

GEO vs SEO: what actually changes.

canovis.ca/blog/geo-vs-seo · target: “GEO vs SEO” · 3.6k/mo

Highest-volume keyword. Direct sentence-one answer. 12-row comparison table + six levers as the bridge — four research-backed from Princeton 2024, two Canovis practice.

Day15–17
Words~2,800
AuthorFounder · CPA
SchemaArticle+Person+FAQ+cite[]
StatusQUEUED
L1 · Citation injection
Princeton + 6 industry studies
Inline; per-row in comparison table. Research-backed.
L2 · Statistics
~20% AI-answered share
2026 baseline; sourced. Research-backed.
L3 · Expert quotation
Academic + practitioner
Two named voices; study’s top method.
L4 · Fluency
Table + tight intro + bullets
Skimmable; 15–30% in study.
L5 · Query alignment
H2: “Is SEO dead?” etc.
Canovis practice; each H2 a top-volume query.
L6 · Authority pursued
Lattice from /method + /tracker
Internal-first; outbound pitches editor-gated.
05

Schema markup for professional services.

canovis.ca/blog/schema-for-pros · target: “schema markup for professional services” · 720/mo

Technical centerpiece. Sentence-one direct answer. Full JSON-LD code blocks — copy-pasteable. Funnels to /tools/schema-audit.

Day18–20
Words~3,200
AuthorFounder · CPA
SchemaHowTo+TechArticle+FAQ
StatusQUEUED
L1 · Citation injection
Schema.org + Google dev docs
Linked at every JSON-LD reference. Research-backed.
L2 · Statistics
Citation-lift per schema type
Deltas measured vs control set. Research-backed.
L3 · Expert quotation
Founder + technical lead
Two named voices; study’s top method.
L4 · Fluency
HowTo + code blocks
Copy-pasteable; 15–30% in study.
L5 · Query alignment
Title = exact query
Canovis practice; eats long-tail cluster.
L6 · Authority pursued
/tools/schema-audit funnel
Internal-first; trust signal via tool use.
Common pattern, every page. Direct answer in sentence one. Question-style H2s. Real numbers with sources. Named author with credentials in schema + byline. Pull-quote from a real person. Closing FAQ marked up. Internal links between all five so they form a citation lattice the engines learn to traverse.
// 07 · off-site · D18–D22 D22 — closing

One directory.
One consistent NAP.

The first off-site isn’t ten directories — it’s one good directory done correctly, plus total Name/Address/email consistency. AI engines cross-check this string-for-string as a legitimacy heuristic.

// canonical NAP · source of truth
NameCanovis Legal nameCanovis Studio Inc. AddressSuite 2500, 500 4 Ave SW
Calgary, AB T2P 2V6, Canada
Emailcanovismarketing@gmail.com URLhttps://canovis.ca/ CategoryMarketing agency · GEO specialty Service areaCanada (national) Founded2025
Rule. If a directory shows “Canovis Studio” or “Canovis Inc”, fix the directory — not the canonical.
// GBP · Google Business Profile
Create profile @ business.google.com — “Marketing agency”D18
Add canonical NAP exactly as aboveD18
Verify by video call (instant; postcard takes 5–14d)D18
Link website + 5 services matching tier namesD19
Upload logo + cover (1200×675) + 4 interior shotsD19
Add Q&A — seed with 6 homepage FAQsD20
First Update post — link this Receipts pageD20
Request first 3 client reviews (service-specific)D21
Cross-reference NAP — footer + schema + llms.txtD22
Why GBP > 10 directories. Google passes verified GBP to Gemini and AIO at higher weight than any directory.
// directories · this sprint = 1 · 7 queued
Clutch.co — Canadian agenciesP0 · D18–D20 · ACTIVE
Highest-citation directory across all five engines in baseline. Full profile (services, pricing range, case study, team headshots) — not a stub. Indirectly triggers Perplexity citations once indexed.
clutch.co/ca/agencies/digital-marketing
CPA Canada · Member MarketplaceP1 · NEXT SPRINT
Strongest Canadian authority signal for CPA-adjacent listings. Founder credential gate.
cpacanada.ca/member-marketplace
CBA · service-providersP1 · NEXT SPRINT
Vertical fit for /for/law-firms. $0 if founder is named in a CBA journal piece.
cba.org · service provider listing
Calgary Chamber of CommerceP2 · NEXT SPRINT
Local signal for “Calgary GEO agency”. Cheap, simple, AIO-friendly.
calgarychamber.com/member-directory
G2 — Marketing AgenciesP2 · NEXT SPRINT
High Perplexity weight. Needs ≥3 verified reviews — lags Clutch.
g2.com/categories/marketing-agencies
DesignRush · Canadian DigitalP3 · NEXT SPRINT
Lower authority but cited heavily in Gemini “best in Canada” round-ups.
designrush.com/agency/digital-marketing/canada
The Drum · Agency CensusP3 · LATER
Trade pub; good Perplexity weight; free baseline listing.
thedrum.com/network
BuiltIn / NorthP3 · LATER
Reddit-adjacent retrieval. Lower priority — engines cite it more than buyers read it.
builtin.com/canada
Exit criterion · D22. rich-results test green on all four URLs in §5, GBP marked verified, Clutch profile indexed by Google, screenshot archive in §4 frozen as the “before” the next twelve months are measured against.
// run the same playbook

Want your receipts
twelve months from now?

Tell us your firm and the three queries you want to be cited for. We send a full GEO citation audit — share, gaps, fix-list — within one business day. Email-first. No calls.