// 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
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.
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.
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.
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.
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.
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.
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.
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 above | D18 |
| ○ | Verify by video call (instant; postcard takes 5–14d) | D18 |
| ○ | Link website + 5 services matching tier names | D19 |
| ○ | Upload logo + cover (1200×675) + 4 interior shots | D19 |
| ○ | Add Q&A — seed with 6 homepage FAQs | D20 |
| ○ | First Update post — link this Receipts page | D20 |
| ○ | Request first 3 client reviews (service-specific) | D21 |
| ○ | Cross-reference NAP — footer + schema + llms.txt | D22 |
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.