Skip to main content

GEO Playbook · General Edition · Appendix B (15 of 17)

Templates: robots.txt, wording, outreach letters and tables

Copy-ready masters, what to tell clients, outreach and review replies, and work-order headers

B.1 Door templates

What you'll do in this section: Copy the robots.txt master template, the crawler hit table, the read-only six-line robots record and the platform-by-platform curl commands straight from here, replace the placeholders, then use them.

robots.txt master template (12 retrieval groups + 6 training groups)

This is the only master template in the whole book. The person who edits the site copies it straight from here. <N lines of Disallow> is a placeholder: it must be replaced with the N original lines you copied in step 1 of → General Edition 2.6 Fixing the door: nosnippet, the four-step robots merge, the WAF allowlist, not one line short, in every single group.

# ── Retrieval crawlers (12): allow them. They have to read you before you can even show up in AI answers ──
# ⚠️ Every group below must carry the original wildcard group's N Disallow lines, unchanged;
#    otherwise these crawlers fall completely outside the wildcard group and none of your existing protection applies to them

User-agent: OAI-SearchBot      # The crawler ChatGPT uses to fetch search material. Block it = the ChatGPT leg is zero for the whole quarter
Allow: /
<N lines of Disallow>

User-agent: ChatGPT-User       # Live fetch when a user opens your page inside ChatGPT
Allow: /                       # ⚠️ This line is a declaration, not a switch. OpenAI's own words: this fetch is triggered by a user action,
                               # "Because these actions are initiated by a user,
                               # robots.txt rules may not apply". The real switch is in the WAF — you must add
                               # the IP ranges from openai.com/chatgpt-user.json to the allowlist (gate 1c)
<N lines of Disallow>

User-agent: OAI-AdsBot         # Only needed if you run ads; delete the whole group if you don't
Allow: /
<N lines of Disallow>

User-agent: Bingbot            # Bing is one of ChatGPT's eight retrieval sources (not the only one), and Copilot uses it directly; still allow it
Allow: /
<N lines of Disallow>

User-agent: Googlebot          # Google Search, AI Overviews and AI Mode share one crawler; block it and you lose your organic ranking too
Allow: /
<N lines of Disallow>

User-agent: Applebot           # The Siri / Spotlight / Apple Maps / Apple Intelligence leg,
Allow: /                       # and one of the very few crawlers that execute JS.
<N lines of Disallow>          # ⚠️ Don't claim your Apple Business Connect profile until this group is allowed

User-agent: Amazonbot          # Alexa / Amazon retrieval
Allow: /
<N lines of Disallow>

User-agent: PerplexityBot
Allow: /
<N lines of Disallow>

User-agent: ClaudeBot          # All three Anthropic bots honour robots.txt (unlike OpenAI's)
Allow: /
<N lines of Disallow>

User-agent: Claude-SearchBot
Allow: /
<N lines of Disallow>

User-agent: Claude-User
Allow: /
<N lines of Disallow>

User-agent: DuckAssistBot
Allow: /
<N lines of Disallow>

# ── Training crawlers (6): nothing to do with "whether you can be cited" — decide for yourself ──
# All of them can be changed to Disallow: / without affecting any retrieval leg above.
# To allow one, also carry the same N lines of Disallow

User-agent: GPTBot             # OpenAI's training-corpus crawler, not used for retrieval. 88.2% of sites that block it are still cited (BuzzStream)
Allow: /
User-agent: Google-Extended    # Controls Gemini training and grounding inside Gemini Apps; not the switch for AI Overviews / AI Mode
Allow: /
User-agent: Applebot-Extended  # Controls Apple training; doesn't affect the Applebot retrieval leg above
Allow: /
User-agent: Meta-ExternalAgent
Allow: /
User-agent: CCBot              # Common Crawl
Allow: /
User-agent: Bytespider         # ByteDance
Allow: /

# ── The Sitemap line belongs to no group and must go at the end of the file ──
Sitemap: https://<your-domain>/sitemap.xml

Perplexity-User is not in the master template: like ChatGPT-User, it is triggered by a user action and robots.txt cannot control it. The only way to allow it is to add its official IP ranges in the WAF. For the original wording and the link, see → General Edition 2.6 Fixing the door: nosnippet, the four-step robots merge, the WAF allowlist.

curl commands to check robots platform by platform

Put this in the First work order. When off-site citation slots are spread across several third-party platforms, run it once for each platform; if a platform's key pages sit on a different host (a separate subdomain, third-party hosting), run it again on its own for that host.

for d in <platform1-domain> <platform2-domain> <platform3-domain> <other-platform>; do
  echo "=== $d ==="
  f="./robots-$d-$(date +%F).txt"
  curl -sL -m 20 -A "Mozilla/5.0" "https://$d/robots.txt" -o "$f" \
    || { echo "  not retrieved (connection failed) → log it as 'undetermined'; do not enter it in the four-state table"; continue; }

  echo "--- ① Per-leg named group: judge listed legs by their own group; legs not listed have no named group — they fall into the wildcard group, see ②"
  grep -inE -A3 "^user-agent:[ [:space:]]*(OAI-SearchBot|ChatGPT-User|OAI-AdsBot|GPTBot|PerplexityBot|Perplexity-User|ClaudeBot|Claude-SearchBot|Claude-User|Googlebot|Bingbot|Applebot|Amazonbot)[ [:space:]]*$" "$f"

  echo "--- ② What paths the wildcard group blocks: check whether your key page paths are in there"
  tr 'A-Z' 'a-z' < "$f" | awk '/^user-agent:[ \t]*\*[ \t]*$/{f=1;next} /^user-agent:/{f=0} f'
done

The four columns of the crawler hit table

ColumnWhat to fill in
Crawler nameJudge by IP-range ownership, not by the UA string
Hit count30-day total
Top 20 hit URLsSorted by hit count, descending
Status-code breakdownCount of each: 200 · 301 · 403 · 429 · 5xx

The read-only six-line robots record (blank headers)

For what each of the six lines checks and how, see → General Edition 2.2 Gate 1 read-only audit: what to check in nosnippet, robots and the WAF; this is only the skeleton of the table — fill it in as you read that section.

What to checkHow to check itWhat to recordHow often

B.2 Approved wording and scripts

What you'll do in this section: For external use, for clients and internally, pick the line that matches the situation and say it exactly as written. Do not improvise. Where an entry also gives the sentence you must never say, attach that too.

Check the table below for your situation first, then jump to the matching entry:

WhenWhich one to useWho can use it
Making a PDF, screenshot or slide for internal eyes onlyInternal materialAll sides
Telling someone outside how AI currently mentions youThree approved lines for outside use ①②All sides
Telling someone outside which items you skip because of complianceThree approved lines for outside use ③Strictly regulated side only
A client asks why the price page doesn't show a rangeOn pricing① all sides, ② strict side only
A client asks whether to pile on more schema, or whether completing business profiles is worth itOn structured data, On the five business profilesAll sides
A third-party page has you wrong, and the client wants AI to say it differentlyHow to write a correction letter, Red lines in what you sayAll sides
Signing the frozen question pool, the compliance officer reviewing a draftWhen signing the frozen question pool, For the compliance officerAll sides
Writing the monthly report and the work orderOn this quarter's outreach, Two off-site disciplines, On the retest noise bandAll sides

Internal material

When to use: Any material for internal eyes only that names third-party organisations or contains competitor data (PDF, screenshot, slide).

Wording (burn it into the PDF or image itself, not the body of an email; add an -INTERNAL suffix to the file name):

Internal reference material · Not to be published, posted, forwarded or used for any promotion. This page contains third-party organisation names and counts produced by our own measurement method, and is not an assessment of any organisation's merits.

Why this comes first: In industries that regulate peer comparison and advertising, material that compares you with peers runs straight into the rules on comparison and disparaging peers, and on third-party promotion, the moment it goes up at the front desk or into a public channel (rule text in each industry edition's appendix). And in Singapore, the bar for a named peer to file a complaint is low.

Never do this: The first time you show someone in person how AI currently talks about you, that screen often carries a recommendation-type answer that names peers. Only point at the screen and talk it through: no screenshot, no saved copy, no PDF, no copy kept.

Three approved lines for outside use

① On seats

"I asked K times and AI named us X times. That count comes from this frozen set of questions, this engine and this number of passes. In the same week I re-ran it 3 times and it varied by ±N seats, so only a change larger than ±N counts as real movement."

Never say: "We rank number X on AI", "Our visibility score is XX", "Users will see us in ChatGPT" (banned whenever the only evidence you have is from the API leg).

② On the two legs

"OpenAI API leg X seats, Gemini model leg Y seats, Google AI features Z impressions: three different systems, three lines side by side, never added together."

③ On the items you skip for compliance (strict side only)

"These are the things I choose not to do (<name each one; common examples: not proactively requesting reviews, not buying a spot on a Best / Top N list, not writing a 'from' price>), because doing them would break the rules."

This is an explanation, not a release from liability: responsibility was never transferable in the first place. Inside the brackets, name only the items that Statute text on your side bans. An item labelled Conservative line (not statute text) must never be described as "doing it would break the rules".

On pricing (two sentences, then stop)

When to use: A client asks "why doesn't the price page show a price / a range / the word 'from'".

① "Even if you don't publish a price, AI quotes one for you. We just asked it, and the figure it gave is not yours." (Say this pointing at the screen, using the number you measured and screenshotted yourself and the source URL it cited. Do not cite any industry percentage.) ② "The regulator only allows one fixed figure, so the price page will have no range and no 'from'." (Strict side only; look up the rule by industry — for the rule text and its number, see each industry edition's appendix.)

Stop there — never add a third sentence: "which happens to be exactly the price format machines read best", "you're already the only one whose whole line can be copied", "so AI will copy you". Delete the whole sentence; it must not appear in any variant. The public evidence for how price format affects extraction rate is inferred, not measured: the study itself says it did not measure differences in extraction by price format.

On structured data

When to use: A client asks "should we pile on more schema".

Structured data is an industry baseline, not a lever. Ahrefs tracked 1,885 pages that added JSON-LD: after adding JSON-LD, AI Overviews (AIO) citations changed by −4.6%, the only significant result, and it points negative; the other two platforms were not significant (AI Mode +2.4%, ChatGPT +2.2%). Seal it in half a day and spend your time elsewhere.

For details, see → General Edition 2.7 Gates 3 and 4: indexing paths, and JSON-LD sealed once.

On the five business profiles

When to use: A client asks "is it worth completing these five business profiles".

"Completing these five profiles is a basic step, done in passing."

Never say: "Complete them and ChatGPT will recommend you". The mechanism for the three (Foursquare, Apple and Yelp) is held at only 70% confidence; Steady Demand's own researchers also say plainly that there is no data isolating which profile field drives citations.

How to write a correction letter

When to use: You find a fact wrong on a third-party page and need to send a correction letter.

Point out only the error, plus a link to a checkable source (pointing to /facts) — no mention of ranking, no promotion tacked on.

Red lines in what you say

When to use: You're asked "can you make AI say this about us".

Never say: "I'll make AI describe us this way."

"I'll write this sentence on our own page, in a form machines can read. Whether it gets copied is up to the machine; whether it's written correctly is up to me."

When signing the frozen question pool

When to use: Before a client signs the frozen question pool — read it to them sentence by sentence, change it on the spot, sign it on the spot.

"These 30 questions are a ruler, and they're also an asset — the original answers, screenshots and ledger are yours from day one, and you can take them any time. Once signed, they don't change for the whole quarter, because changing a question is changing the ruler, and once the ruler changes, the before-and-after numbers can no longer be compared. That's the same for everyone."

For the compliance officer

When to use: Explaining to a client why some cells on the page don't exist, and who makes the call.

"We didn't set these rules — the regulation did; we're only translating it into layout: which cell can exist, and what can go in it. Your compliance officer crosses out what shouldn't appear, and we do the other half: fill that cell back in with what Statute text allows. A page that only deletes and never fills in is safe, but it brings nothing. The final call is always your compliance officer's; all we guarantee is that the draft they receive isn't a blank page."

This sentence must always be followed by this bottom line: in three situations we stop and escalate to your compliance officer for a written sign-off: ① facts only you know; ② judgements the Playbook labels Conservative line (not statute text); ③ entries the Playbook labels Original text not obtained. Item ③ is not released even with a sign-off: write the Playbook's default wording; it is not used as a basis for judgement; assume neither that the rule exists nor that it does not. A written sign-off resolves only these three situations and can loosen only ① and ②; it never turns something banned as Statute text into something publishable. For how each of the three is handled, and which ones a sign-off can loosen, see → General Edition 0.4 The three labels for compliance sentences, and the stop-and-escalate rule.

On this quarter's outreach

When to use: Telling someone outside how much outreach you did this quarter. Just this one sentence — don't extend it.

"This quarter we sent to every reachable slot in Group A and Group B — how many letters, which day each was sent, whether there was a reply, whether it went live, all logged line by line in the Outreach ledger and reviewed once a month."

Never say: Don't give an expected reply count (e.g. "a batch gets about 2–5 replies") — that number comes from an inference at 55% confidence, and saying it out loud means making a promise with a number you yourself labelled "not measured". Also never dress up a low letter count as "precision targeting" or "quality over quantity". How many letters go out is an internal scheduling call; explain it internally and leave it there.

Two off-site disciplines

When to use: Writing the work order and the monthly report — both disciplines must be spelled out for the client.

"Off-site asset maintenance: during the service period, recheck every off-site asset once a month (business profiles, directory listings, list spots, review count and star rating), and list each one in the monthly report as 'on the list / dropped out / information out of date'."

"Paid-listing disclosure: any off-site listing obtained through a paid placement must be marked 'paid listing' line by line in the work order and the monthly report, with the cost shown separately. We do not buy reviews, organise fake recommendations, pass anything off as an independent review, or use a platform that charges per enquiry or on a commission-share basis."

On the retest noise band

When to use: Reporting a change in seat count in the monthly report — this sentence must be printed on the report exactly as written.

"The same questions, the same engines and the same number of passes, run several times in one week, give different seat counts on their own. We measure that difference every month and print it below (this month's noise band ±N seats). A monthly change in seats is written as 'increased' only when it is larger than this band; otherwise we write 'within normal variation, cannot be determined'."

B.3 Outreach emails and review replies

What you'll do in this section: Copy the main letter (English + Chinese translation), the swap-in paragraphs (update letter / correction letter / removal request), the follow-ups at +7 and +21, and the review reply template; before sending, clear the send gate in → General Edition 6.2 The send gate, paid listings and the citation-slot table; on regulated sides, insert the optional paragraphs where marked.

not cleared

cleared

do not do

correction only, send if wrong

request removal

can do

ranked low or out of date

a line is wrong

not listed · accepts submissions

no reply

no reply

a citation slot URL

cleared the send gate?

do not send

slot table compliance verdict

do not send, monitor only

main letter, correction swap-in

main letter, removal request swap-in

already on the list?

main letter, update swap-in

main letter as is

+7 follow-up

+21 last letter

relabel: reachable, no response

Figure: clear the send gate and the compliance verdict first, then pick a letter by whether it's already listed; all three letter types get only two follow-ups, at +7 and +21

For which groups to send to, and which "three items" Group A needs complete, see → General Edition 6.3 Six dispositions, bylined contributions and outreach letters; this section only gives the letters themselves.

Main letter (English, default)

Subject: Listing / editorial enquiry — [Business Name], Singapore ([category])

Hi [Name / "Editorial team"],

I'm [Your Name], [role] at / authorised representative for [Legal Name].

Insert for regulated sides (optional, appended to the end of the previous sentence): , a licensed [<licence category>] in Singapore ([<registration-number type and number>]).

We came across your page [exact URL] — it's one of the pages Singapore buyers and AI assistants surface most often for "[query]". Two questions:

1. Is there a process to be considered for that page — editorial submission, a directory listing, or a paid placement? If there's a rate card or media kit, could you send it? Could you also confirm how placements are charged — a fixed rate, or on a per-enquiry / commission basis? (We can only work with fixed-rate placements.)

2. What materials do you need? We can provide, on request: • registered entity name and UEN • addresses and opening hours • our published prices for [service], itemised and matching our own pricing page line for line • high-resolution photos we own the rights to • a factual 80-word description

Insert for regulated sides (optional, add to the list above): • [role]'s name with their registration number.

Insert for regulated sides (optional, whole paragraph):

Two things we will not send, so you know up front: no testimonials, no success rates, no before/after images, no comparisons against other practices, and no superlatives such as "best", "top" or "leading" — including in any headline or list title that carries our entry. Singapore's advertising rules for our sector don't allow them, and we'd rather you hear that from us first.

Could you let me know the process, the charging basis, any cost, and your usual lead time? Happy to work to your format.

Best regards, [Name] · [email] · [phone]

Main letter (Chinese version, translated)

Subject: “收录 / 合作咨询 —— [机构名称](新加坡 [行业])”

“您好 [称呼 / 编辑部]:

我是[法定名称]的 [职务] / 受其书面委任的对外发布负责人。”

Insert for regulated sides (optional, right after the previous sentence): (新加坡持牌 [<持牌类别>],[<注册号类型>]:[填]).

“我们注意到贵站的这一页:[完整 URL]。它是新加坡买家和 AI 助手在搜「[查询词]」时最常出现的页面之一。想请教两件事:

一、 本地机构如果想进入这一页,贵站的流程是什么——编辑投稿、目录收录,还是付费刊登位?如有刊例或媒体资料包,烦请一并发来。另请确认计费方式是固定刊例价,还是按询盘 / 佣金分成(我们只能采用固定刊例价)。

二、 需要我们提供哪些材料?我们可以提供:注册实体名称与 UEN;地址与营业时间;[服务项目] 的逐项公开价格,与官网价格页逐行一致;我方拥有版权的高清照片;一段 80 词的事实性简介。”

Insert for regulated sides (optional, add to the list above): 从业人员姓名及其注册号.

Insert for regulated sides (optional, whole paragraph):

“有几类内容我们不会提供,先说清楚:客户证言、成功率数字、前后对比图、与同行的比较,以及「最好 / 首选 / 领先」一类的褒扬用语(包括承载我方条目的标题或榜单名)。新加坡本行业的广告规则不允许。”

“烦请告知流程、计费方式、费用与一般上线周期。

此致 [姓名] · [邮箱] · [电话]”

Swap-in: update letter (already listed, but ranked low or described out of date)

When to use: The entry is already on the page, but the price or credential information is out of date. Replace points 1 and 2 of the main letter; leave the rest unchanged:

[Name] is already listed on that page. Two details have changed since it was published, with sources attached: • Pricing: [service] is now S$X, inclusive of GST, covering [items]; [excluded items] are priced separately — see [pricing page URL], updated [date].

Insert for regulated sides (optional): • Credentials: [Name] is registered with [<registering body>], registration no. [XXXX] — verifiable at [official register URL].

I've also attached a refreshed 80-word description and two photos we own. No change to the ranking or to the other entries is being requested — just current facts.

Swap-in: correction letter (wrong information)

When to use: One fact on the entry is wrong; correct only that one line. Replace points 1 and 2 of the main letter; leave the rest unchanged:

One line on that page is no longer accurate. Current text: "[quote the exact sentence]". The correct position is [one sentence], verifiable at [official source URL]. I'm not asking for any change to the ranking, to the list itself, or to the other entries — only that one line. Happy to send anything else you need to verify it.

On the strict side, for a Best / Top N page, don't use this paragraph; use the removal request below.

Swap-in: removal request (strictly regulated side, listed on a Best / Top N page)

When to use: on the strict side, your business is listed on a list page whose title or entries carry laudatory terms (Best / Top N, "best N businesses"). Replace points 1 and 2 of the main letter; leave the rest unchanged; send it in the name of the client themselves (the licensee), have the compliance officer look it over before it goes out, and attach no material of any kind:

We have just seen that [business name] is included in "[exact page title]" at [URL]. We did not ask to be listed and have not authorised it. The advertising rules that apply to us do not allow our services to be promoted in rankings or award lists of this kind, so please remove [business name] and any details about us from this page. We are not asking for any other change to the article. Could you let us know once it has been removed? We will check the page again on [date, 14 days from today].

Check on the due date: on day 14, open the original page and save a screenshot to the archive; if you are still listed, follow up at +7 and +21 as usual; if it still hasn't been removed after both, move it to the monthly recheck column, and in the monthly report write it as it stands: "Removal requested; the publisher has not acted."

Follow-up at +7

English

Hi [Name], following up on my note of [date] about [exact URL]. Just need one line from you: is inclusion on that page editorial, a paid placement, or closed — and if paid, is it a fixed rate? Either answer is useful — if it's closed I'll stop bothering you. Thanks. — [Name]

Chinese

“您好 [称呼],[日期] 关于 [URL] 的邮件跟进一下。只需要您一句话:这一页的收录是编辑决定、付费刊登(固定刊例还是按询盘),还是不开放?哪种答案都行——如果不开放,我就不再打扰。谢谢。—— [姓名]”

Follow-up at +21 (the last one)

English

Hi [Name], last note from me on [exact URL]. I'll mark it as "not open" on our side unless I hear otherwise. If that changes — a [2027] refresh, a new directory intake — we'd still be interested; my details are below. Thanks for your time. — [Name]

Chinese

“您好 [称呼],关于 [URL] 这是最后一封。若无回复,我方按「不开放」处理。日后如有变化([2027] 版重写、目录重新开放收录),我们仍有兴趣。感谢。—— [姓名]”

No more letters after +21. Relabel that URL's reachability as "reachable (no response)", put it in the monthly recheck column, and send one more round in Q4, the season when listicles are rewritten for the following year. Replace the year in the square brackets with next year's.

Review reply template (reply to every review within 72 hours, negative ones included)

The same on every side. Never confirm the other person's identity, and never restate the specific service they received.

Chinese

“谢谢您留下反馈。我们不会在公开渠道讨论任何个人的服务细节。如果您希望我们跟进,请通过 [电话 / 邮箱] 联系,我们会由 [职位] 直接处理。”

English

Thank you for the feedback. We do not discuss any individual's service details in a public channel. If you would like us to follow up, please contact us at [phone / email] and [role] will handle it directly.

Three fixed rules: ① the reply never combines a service name, a branch name and personal information ② no price, results, success rate or peer comparison appears ③ every negative review gets the same template: no arguing, no restating what happened.

Why we never confirm identity: Confirming in a public reply that "this reviewer is our client" and restating the service they received could count as disclosing personal data publicly without consent, and on regulated sides it also runs into the industry's confidentiality obligation (rule text in each industry edition's appendix). The client writing it themselves in their review does not mean you have permission to confirm it publicly. For whether the strict side can request reviews, and how, see → General Edition 6.5 Reviews: how to ask, how to reply, how to fill the empty slot.

B.4 Headers for work orders, ledgers and monthly reports

What you'll do in this section: Copy the first line of the work order, the assignment rules, the 16 fields of the Citation-slot table, the time table for the six dispositions, the three monthly review numbers, the sample monthly ruler readout and the headers for page 1 of the monthly report.

First line of the work order

A one-page work order is ≤30 lines in total; its first line is fixed to these five items:

Side: <strictly regulated / lightly regulated / unregulated>
Switches: <each add-on switch that is on, by letter A–F; "none" if none>
Acceptance tier this quarter: <attributable / observable>
Top 3 buyer types by annual opportunity value: ① <type 1> ② <type 2> ③ <type 3>
Languages: by default, an English and a Chinese page for each buyer type

For how to decide the side and the switches, see → General Edition 0.2 Decide which side you are on first. If you can't get permission to read the access logs, the red blocker and the date the logs will be supplied also go on the first line. Priority is fixed on this page; every other cell downstream just copies it. One line = one assignable job.

Assignment rules (paste at the end of every task)

  1. Keep the URL and the evidence for every finding; label each figure clearly as measured, estimated or unknown. "Done" means all three mechanical gates pass, not that a report was handed over.
  2. Don't write small per-question numbers; never promise traffic, conversions, ROI or ranking.
  3. Follow the bans in → General Edition 5.2 Quick reference by side (1): identify the advertiser first; prices, promotions and freebies, result numbers–→ General Edition 5.3 Quick reference by side (2): testimonials and reviews, comparisons, lists, titles, outbound links, FAQ and captions for your side; delete on any hit.
  4. Until the compliance memo is signed, don't write any page copy that will go on the site and don't send any outreach letter; once it's signed, check the draft against the memo line by line.
  5. The density gate and the ban gate sit side by side; both have veto power. A fact the ban gate hits is always deleted, never kept because "deleting it leaves fewer than 5 items". If fewer than 5 remain after deleting, go back to the brief stage and swap the intent cluster.
  6. Any material that names a third-party organisation is for internal eyes only; never delete the footer qualifier (template in B.2, "Internal material").

The 16 fields of the citation-slot table

The main off-site ledger. Fields are fixed — no adding or removing columns. One row = one citation slot (one URL, not one domain); the input must be domains_cited from the raw probe data, not the aggregated version. The aggregated version strips out generic domains, and profile-type sites are exactly the target of this step.

FieldHow to fill it in
Source URLThe full URL, down to the specific article — never a bare domain
Times citedThe URL-level count from the raw probe data
Formlisticle / directory / editorial review / media / government register / review site / community
Are you presentpresent / absent
Is a competitor present, at what positionList the competitor names that appear + their position (any export with this column is for internal eyes only)
Reachabilityalready present / reachable / not reachable (marked per URL, not per domain)
Compliance verdictcan do / correction only / request removal / do not do (per → General Edition 6.2 The send gate, paid listings and the citation-slot table; request removal is used only on the strict side, for a Best / Top N page that lists you)
Contact emailEmail or form URL; write "not found" if you can't find one — never leave it blank
Rate-card price S$free / a figure / quote on request
Charging basisfixed rate card / per enquiry / commission / unknown (if unknown, do not send)
Submission dateYYYY-MM-DD
Follow-up datethe actual dates of the two follow-ups, +7 / +21
Live URLthe real public URL, filled in only after you've opened and verified it
Present at monthly recheckmark once on each monthly retest day: present / dropped / page deleted
Copyable structurefive binary features, marked once per URL: price table / side-by-side comparison / author byline + credentials / visible update date / FAQ section. Present = 1, absent = 0, written as the five-digit string 1-0-1-1-0
Competitor's way inone of five, all observable on the page: bylined submission / labelled sponsored or paid / platform-edited entry / user-submitted profile / cannot tell. Three criteria: whether there's an author byline and date, whether there's a sponsored / advertorial label, whether there's a public submission entry point

Six dispositions: time per item and expected turnaround

For the order and how to decide, see → General Edition 6.3 Six dispositions, bylined contributions and outreach letters; this table is only for scheduling hours.

SituationActionTime per itemExpected turnaround
Already present, but ranked low / description out of dateUpdate letter20 minutes1–2 weeks (inferred, 60% confidence, not measured)
Already present, but the information is wrongCorrection letter20 minutes1–2 weeks (inferred, 60% confidence, not measured)
Absent but reachable · Group B (government and statutory registers / professional association profiles / official manufacturer links)Do this group first, and don't miss a single free item: claim the five business profiles → check government and statutory registers → complete association profiles → apply to manufacturer dealer locators15–30 minutes eachClaiming: instant–3 days; registers and associations: 1–2 weeks
Absent but reachable · earned mediaBylined contribution20–30 minutes per letter2–6 weeks (inferred, not measured)
Absent but reachable · paid listings and directory submissionsEnquiry and submission, using the B.3 main letter2.5–4 h to find contacts and rate cards + 2.5–4 h to swap the URL / query / disposition paragraph per letter, sent in two batches, 1 day apartFree editorial slots: 2–4 weeks; paid slots: 4–8 weeks (both inferred, not measured)
Not reachable, or compliance verdict = correction only / request removal / do not doMonitor only (correction-only cases still get one correction letter; request-removal cases get one removal request and a check on the due date), enter the monthly recheck column0–20 minutes—

Hit-rate basis: bulk outreach reply rate 15–25%; 2–6 weeks from a placement going live to a change showing up in AI citations (inferred, 55% confidence, not measured). Both numbers are for scheduling internal hours only. Never say them externally (see B.2, "On this quarter's outreach").

Three monthly review numbers (passive observation on the strict side)

NumberDefinition
Review count and star ratingEnd-of-month snapshot vs. end of last month, by platform
Average reply timeHours
Reply rateReplied this month / new this month

On the strict side, always add this one fixed line to this section of the monthly report: "We do not request reviews. The figures above are a passive record of reviews that arose naturally and are not used as a work target or acceptance measure."

Sample monthly ruler readout

All numbers are examples — copy the structure, not the numbers:

This month's ruler readout (2026-XX-XX · 30-question pool frozen · 5 rounds per question · locked to SG · logged out)

① OpenAI API leg        14 seats   (last month 12)
   Gemini model leg      9 seats   (last month 9)
   Google AI feature impressions  1,204   (Search Console, first-party · impressions only, no clicks)
   → These three lines measure three different systems; they cannot be added together or used to corroborate one another.

② On the list and cited this month   7 / 20   (last month 5 / 20 · denominator is the frozen baseline Top 20)
   Of which on the list but not cited   5 / 20

③ Factual errors (count)   2        (baseline 9 → last month 4 → this month 2)

This month's noise band     ±3 seats  (3 same-week retests: 14 / 17 / 15, range 3)
Verdict                     Did not exceed the noise band → within normal variation, cannot be determined

Page 1 of the monthly report

All numbers and URLs are examples — copy the structure, not the numbers:

This month's off-site asset ledger
① Pages on the list       12 / 20   (last month 9 / 20 · denominator is the frozen baseline Top 20)
   Of which cited this month   7 / 20   (last month 5 / 20)
② Reviews and star rating  This month 4.6★ → 4.7★ · reply rate 78% (last month 61%) · passive observation, not a work-order metric
③ Citation-slot changes    2 new (examples: aaa.sg/directory, bbb.com/list)
                           1 dropped (example: ccc.sg deleted the entry after a redesign)
                           3 new listings outside the baseline Top 20 (none cited by AI this quarter)

This month's seat count    14 (last month 12) · this month's total names 1,082 · seat share 1.29%
This month's noise band    ±3 seats (3 same-week retests: 14 / 17 / 15, range 3)
Factual errors (count)     2 (baseline 9 → last month 4 → this month 2)
Web control leg            Named-set overlap 60% · source overlap 45% (5 questions · web version · logged out · SG · 1 pass each)
                           → source overlap <50%: this month's seat change holds only on the model API, and is not extrapolated to what real users see on the web
→ Verdict: did not exceed the noise band → within normal variation, cannot be determined

Three firm numbers (they don't depend on AI's randomness — they're evidence the month's work actually landed): pages on the list X/20 · reviews and star rating · citation-slot additions / drops. Two measures that must always be printed alongside: noise band ±N · the web control leg's two overlap rates.

B.5 Blueprints for unverified page types (for industry editions to include)

What you'll do in this section: When an industry edition needs the pt44, pt45 or pt46 blueprint, @include it from here; all three diagrams are labelled, in full, "not measured, spec taken from an external teardown", and not one block is marked cite. For where each of the three types sits and which to validate first, see → General Edition 5.30 The four tier-C types: unverified page types; this section carries only the blueprints themselves, without repeating the judgement calls and examples that section already covers.

title{NEW} vs {OLD}: the concept gap + the outcome noun
introone-line axiom: the two complement each other, they're not substitutes
H2 Why AI doesn't recommend you200–280 words, 4–5 buyer questions inline
H2 The difference in 30 seconds180–250 words + comparison table
H2 Why it matters now250–350 words
H2 What is OLD / What is NEW250–320 / 320–420 words respectively
H2 The core difference250–320 words + difference table
H2 Why you need NEW when you already have OLD450–600 words + figure + 3 "Pattern" subheadings
H2 The most common problems in real projectsevidence section, 550–700 words + figure + numbered subheadings
H2 Four common problems350–450 words: doesn't exist / known but not recommended / wrong information / buried under old information
H2 Priority differs by engine300–400 words + figure + comparison table
H2 Will it replace it → How they work together → Which to do first180–250 / 300–400 / 300–400 words + 3 "Case" subheadings
H2 Summary250–320 words + figure: OLD governs search results, NEW governs AI answers
FAQ8–11 items, answers must have no bold, no links, no bullets, no brand name
Required
Figure: block order for the concept pillar page (the whole diagram is not measured, spec taken from an external teardown, no block marked cite)
titleAn assertion-style title, with an event clause and a claim clause
introNo heading, 3–5 sentences, 80–120 words: date + event → the bet we're making → headline number → a lesson sentence that leads with a negative
H2 Key findings4–5 items, one sentence each, 20–40 words, third-party findings first, the last item states our own limits
H2 What happened120–200 words, past tense, zero adjectives
H2 Why the mechanism matters150–220 words, one study per paragraph, each with its source
H2 Our own evidence180–260 words, evidence table
H2 What the reader should do5–6 bullets, noun-phrase labels, no product names, no using the topic for solicitingRegulated
H2 Our own positioning80–130 words
H2 Method and limitations60–110 words, one paragraph
FAQExactly 3 items, questions phrased as objections, every answer opens with a negative sentence
RequiredOptionalRegulated
Figure: block order for the news and policy explainer page (the whole diagram is not measured, spec taken from an external teardown, no block marked cite)
titleA market-change statement, with a structural assertion
intro90–160 words: statement of fact → evidence → reader-scope constraint → corrective sentence
H2 Key findingsExactly 4 items, 20–45 words each, fixed order
H2 Argument one / Argument two200–300 words each, mechanism paragraph
H2 Our own first-hand viewat 40–55% through the article, 200–300 wordsRegulated
H2 Framework150–220-word framework table, column headers below
H2 Who the market change affects180–260 words
H2 What buyers should test120–200 words, no product names
H2 Our own positioningthe only sales paragraph, 90–150 words, the third- or fourth-to-last H2, no links, play the brand downRegulated
H2 Method and limitations60–110 words, no bullets
FAQExactly 3 items, 35–70 words, conclusion first
References2–4 items
RequiredRegulated
Figure: block order for the market observation page (the whole diagram is not measured, spec taken from an external teardown, no block marked cite)

Full-page specs the three diagrams cannot show

The full-page specs from the external teardown are for reference only (not measured). On length, write what the page type needs, then stop; see → General Edition 5.7 Seven rules that hold for every page type.

Page typeLength and structureTables, figures and CTAWriting constraints
pt444,500–5,000 words, 15–16 H2s; the first four H2s use sentence case, switching to Title Case from What Is {OLD}? onward3 tables (30-second difference, core difference, priority by engine; the external teardown gives no fixed column headers), 4 figures, one CTA placed at about 91% throughContractions allowed; zero em dashes; heavy use of semicolons; hard numbers in bold. The first sentence under every What Is X? is written as a definition sentence: the subject is the concept, the verb is "is" / "consists of", and it carries one checkable range (not measured; inferred from pt12's measured pattern)
pt451,250–1,400 words, 9–10 H2sExactly 1 table, content is our own evidence; no CTAStrict third person
pt461,500–1,750 words, 11–13 H2s2 tables, framework-table column headers Layer / What to record / Decision it supports; no ranking, no CTAThird person only; body text has zero em dashes, zero contractions, zero we/you

Back to contents · GEO Playbook: General Edition

This chapter is published under a CC BY 4.0 licence · © Canlah AI. To republish or adapt it, credit “Canlah AI · GEO Playbook” and link to this page.

A condensed version for AI assistants is on GitHub, and the Markdown version of this chapter can go straight to an AI assistant. The quick guide and full-book downloads are in the downloads section. The measurements behind the numbers in this book are on the dataset page (CC BY 4.0).