Field notes on modern search.
AI search, generative engine optimization, and SEO, treated as one practice. Written for marketing leads and founders who need to act on this, not study it.
Latest writing.
Reading AI citations, what the source list actually tells you
ChatGPT and Perplexity show you their sources. Here is what those citation patterns reveal about your content, and what they hide.
Read postIntroducing SearchBro, a Living Index of Indonesia's SEO Specialists
SearchBro is a curated, community-owned directory of the people behind Indonesia's organic growth. Why I built it and how to get listed.
Read postA Free Four-Night AI Search Bootcamp on Getting Cited by ChatGPT, Gemini and Perplexity
A free four-night live bootcamp on AI Search. Learn the system for getting brands named inside ChatGPT, Gemini, Perplexity and Google AI Overviews. 7, 9, 14 and 15 July 2026, 7.30 PM WIB, in Bahasa Indonesia.
Read postTechnical SEO for Southeast Asian SMEs, what matters at 50 to 250 people
Technical SEO advice written for enterprise budgets doesn't work in Jakarta or Manila. Here's what actually moves the needle when you're running with 3 people.
Read postWhat Cloudflare Pay Per Crawl Means for Whether AI Engines Can Read You
Cloudflare now blocks AI crawlers by default and is adding a paid-access tier. A setting you never touched could be why you are absent from ChatGPT.
Read postWhat Token Budgets Mean for the HTML AI Crawlers Read
AI search crawlers read your HTML inside a token limit. Bloated markup burns that budget before they reach your content. Here is what to trim.
Read postI audited rpsg.co.id against my own agent-ready framework
I ran my own site through last week's framework. Five legibility surfaces shipped, five action surfaces deliberately skipped. Here is the table and the reasoning.
Read postA Python Script That Finds Pages Googlebot Crawls but Won't Keep
A walkthrough of a log-analysis script that verifies real Googlebot hits, scores crawl frequency, and flags URLs missing from the index.
Read postStitching Your Brand Entity Back Together After a Rebrand
Rebrands and mergers split your knowledge graph entity in two. How to reconcile the fragments with @id, sameAs, Wikidata, and a sequenced cleanup.
Read post