AI Programmatic SEO in 2026: The Template-With-Variables Method Behind a 29K-Visit SaaS Site (Case Study)
Disclosure first: the site in this case study is an Arvow customer, and Arvow is my company. Everything below is read off the screens I show in the video, recorded in July 2026, plus a re-check I did in October 2026 before publishing. The re-check turned up something the video could not know; it gets its own section near the end.
The short version: an AI-receptionist SaaS was pulling roughly 29,000 organic visits a month from about 8,400 keywords, mostly from a programmatic section built from one template and a handful of variables, written by AI so that each page changed around the variable instead of just swapping it in. That is the whole difference between programmatic SEO that works in 2026 and the find-and-replace version that stopped working years ago.
The scoreboard, as Ahrefs showed it on 6 July 2026
Here is the site's Ahrefs overview, filtered to changes over the previous six months. Organic traffic sat at 29K, up 20.8K in six months. Organic keywords were 8.4K, up 3.6K, with 2.5K of them in the top three. Domain rating was 61, up 6. The backlink column is the one to pause on: 62.4K backlinks, up 53.7K in six months, from 4.3K referring domains, up 3.3K. I come back to that in step three.
The whiteboard in the video uses an older snapshot of the same card (30.3K traffic, 8.9K keywords), which is where my "almost 9,000 keywords" and "30K a month" come from; use the live numbers. The "40K a month" in my opening line is the spring peak of the traffic chart, not the July figure.
The traffic was also where it should be for a US phone product. The location table from the same session:
| Country | Organic traffic | Share | Keywords |
|---|---|---|---|
| United States | 19.8K | 65.4% | 7.5K |
| Canada | 4.4K | 14.6% | 1.6K |
| Nigeria | 1.2K | 4.0% | 247 |
| India | 979 | 3.2% | 472 |
| Pakistan | 947 | 3.1% | 178 |
| Philippines | 541 | 1.8% | 257 |
| United Kingdom | 431 | 1.4% | 242 |
| Mexico | 323 | 1.1% | 172 |
| Bangladesh | 312 | 1.0% | 64 |
| Australia | 142 | 0.5% | 143 |
Eighty percent is the US and Canada, the market that can buy a North American business number. Check that before the total; the 3.5K-to-13.9K case study has a location table that told a less convenient story.
Where the traffic came from: 939 pages, and one blog post worth 892 visits
Open the Top Pages report before copying anyone. This site had 939 pages with traffic. The top row was a classic blog post: 892 visits a month, 3.1% of the total, ranking for 224 keywords. URLs are blurred because it is a customer's site; the shape of the table is what counts.
That one article is a "why does this happen" explainer, and the keywords it ranks for are long, specific questions about a problem the product solves, mostly in position one. I would take 892 visits from people mid-problem over 10,000 from people reading a definition. Traffic can be worth zero; intent is what you are buying.
The main strategy was programmatic, not blog posts
Scroll past that first row and the pages start to rhyme. Area Code 775. Area Code 249. Area Code 705. Area Code 336. Same title pattern, same layout, same offer: an AI receptionist and a business number in that area code. The number is the variable. The product is a front-office plan that, per the live pricing page in October 2026, starts at $99 a month or $79 billed annually.
This is where most programmatic SEO goes wrong. The old way was one article, duplicated hundreds of times, with the area code swapped in wherever it appeared: a doorway page with extra steps, and Google has ignored those for years. This site made the number drive the page instead. 775 is northwestern Nevada, so the page talks about Nevada; 705 is northeastern Ontario; 336 is North Carolina. The intro, the local context and the examples change with the variable, because the AI writing the page knows what the variable means. The programmatic SEO guide covers the classic examples; this article is about the AI-written variant.
Why "change the number and republish" stopped working
Google said this out loud in May 2026, in a Search Central guide to optimizing for generative AI features. It separates commodity content, "something like '7 Tips for First-Time Homebuyers'" that "could originate from anyone", from non-commodity content, "such as 'Why We Waived the Inspection & Saved Money: A Look Inside the Sewer Line'", and says creating content people find unique and useful "will likely influence your website's presence in generative AI search in the long run more than any of the other suggestions in this guide". The page was last updated on 10 July 2026.
Read that with programmatic pages in mind. A page that differs from its 300 siblings only by a three-digit number is commodity content by definition. A page whose variable pulls in facts true only of that region is not, even though it targets the same keyword pattern. The template may be the same; the content may not. The one outbound link here goes to that guide.
Step 1: a template with variables that shape the whole page
A custom template in Arvow has a name, a generation prompt and an optional outline; anywhere you write {{ service }}, {{ city }} or {{ state }} the editor detects a variable. The template below is a demo I built for a Dallas plumbing company: three variables and a prompt that tells the model to "include at least 4 facts true ONLY of" the city, and to "never name or reference any other city".
The outline decides what every page must contain, and the variables live inside it too. Each heading carries an instruction in braces: three or four local issues flavoured by the city's soil, heat and housing age; the sub-services the company actually offers; honest price ranges in a table; neighbourhoods near the city; one review signed with a first name and the city. Those instructions are what make page 300 differ from page 1 in substance rather than in a number.
Generating a page is then a form: template, service, city, state, add article. The result for AC repair in Plano, Texas talks about clay soil shifting foundations and stressing ductwork, 100°F summers, "blue norther" freezes that swing 40°F overnight, and DFW hard water scaling the condenser coils. None of that was in a keyword list; it came from the city variable.
Two warnings. First, the variables are the easy half; audit the fixed half of the prompt as carefully. This demo template hard-codes "serving the Dallas–Fort Worth metroplex since 1975" and Texas licence numbers, correct for Plano and wrong for any city outside North Texas. The microsites article shows that leak on a generated page; make those facts variables or keep the template inside the region they are true of. Second, give the template a knowledge base of the brand's own PDFs, pages and videos, so it writes in the company's facts and voice.
Step 2: an AI agent for the technical layer
Second, the customer let an agent handle the technical queue. In the video I open the Site Optimizer on our own site, arvow.com, because I can show that account without blurring anything; the customer's screen looks the same with their URLs. The agent had analysed 100 pages and was holding 93 meta titles, 100 meta descriptions, 27 internal links and 174 alt texts, all "not applied".
Internal links matter most on a programmatic site, because a few hundred templated pages with no links to the service pages is a common failure. The agent proposes anchor and target and says why; you tick the rows and apply. The same queue does alt text: 174 images, each with a suggestion and an Apply.
The approval workflow is in the bulk alt text article; the technical layer under a programmatic section is bigger than under a blog because the page count is, and that is agent work.
Step 3: backlinks on autopilot, and what the number actually was
The Ahrefs card showed 62.4K backlinks, up 53.7K in six months, from 4.3K referring domains. To be precise about the claim: the customer used Arvow's backlink agent, and not all of those links came from it. The panel I open in the video is the Automatic Backlinks page in an Arvow project: 100 backlinks from 57 unique domains, landing on 34 pages, with new rows dated 4, 5 and 6 July.
How it works is on the automatic backlink exchange page: your site joins a pool, and when another member publishes an article where a link to your page is relevant, the link is placed, at a pace I quote as a minimum of about two a week. The manual service on the build-backlinks page places links on sites with a domain rating of 40 to 70 and at least 1,000 organic visits a month, from three links. The habit matters more than the mechanism: link building ran without anyone remembering to do it.
Step 4: track where the AI assistants mention you
The Ahrefs card already shows why the fourth step matters. In six months the site went from zero to 84 AI Overview appearances on 63 pages, zero to 305 Grok responses and zero to 86 AI Mode responses, while ChatGPT fell by 63 to 13. You cannot act on that without seeing it per platform, per prompt. The customer runs a brand monitor on five prompts every three days.
Fifty-six percent visibility means the brand is named in roughly every second response; +55 sentiment is labelled very positive. The loop from there is: find the prompts where you are absent, create the content that answers them, watch the number. The AI visibility article is the long version, and the tracker page is the tool.
What changed since the recording: the area-code section is gone
This is the part I owe you. I re-checked the customer's site on 12 October 2026, three months after the recording. The area-code pages return HTTP 410, Gone, including the section index and every URL I sampled from Google's results, and the site's robots.txt now disallows the whole /area-code path. The sitemap lists about 10,100 URLs and none is in that section. There is no Wayback Machine copy, so I cannot show the body text.
I do not know why the customer retired the section and I will not guess on their behalf. It does not change the method: the same four steps took a different site from zero to 1,800 visits a month, and the customers in the results table mostly run the blog version of the same loop. It does change how to read the 29K: a July 2026 snapshot of a site whose largest section its owner has since removed, with no October number to put beside it.
The lesson: treat a programmatic section as an asset with a lifecycle. Measure it per page in Top Pages, know which pages earn their place and which exist because the template could make them, and retire from the report, not the page count.
The four steps, in order
- Pick a variable that changes the facts, not just the heading, and write the prompt and outline so every section uses it.
- Audit the fixed half of the template; anything hard-coded appears on every page.
- Put an agent on the technical queue and approve in bulk, internal links first.
- Keep links arriving without a calendar reminder.
Custom templates with variables, the technical-SEO agent, automatic backlinks and the LLM monitor are all on Arvow's Business plan. See how the AI SEO agent works.
Generate, publish, syndicate and update articles automatically
The AI SEO Writer that Auto-Publishes to your Blog
- Cancel anytime
- Articles in 30 secs
- Plagiarism Free