One person, 30 days, $0 for tools. Start with your server logs, not another dashboard.

Most AEO advice tells you to buy monitoring software first. I used to give clients a version of that advice. I was wrong. ChatGPT-User and Claude-User fetches can show which pages assistants pull for live requests; they do not prove those pages were cited. But they give you a better place to begin than a list of prompts you guessed might matter. On groas’s own site, the homepage drew roughly 900 live-answer fetches from ChatGPT in a month while category pages drew none. I would fix what is already being read before paying to measure everything that is not.

The constraint: spend 20 hours, not a software budget

You have about 20 working hours over 30 days. The order matters because one person cannot audit every page, write a content library, build a reputation on Reddit, and report on it all before lunch. Each step below has an hour cost and a specific return.

Cut from day one: monitoring tools, a 50-prompt tracker, and daily reporting. They take time to set up before you know which problem you have. What stays is deliberately small: server logs, 20 buyer prompts run by hand, three to five existing pages checked for readability, two or three new pages, and a few attempts to earn mentions beyond your own site.

The plan does not promise a citation by day 30. It gives you a way to spend 20 hours on pages assistants can reach and answers buyers might actually ask for. That is a better bet than buying a visibility score and wondering what to do with it.

1. Week 1: Use logs to choose the pages worth fixing

Cost: 5 hours. Buys: a page shortlist and a prompt gap sheet. Spend the first two hours pulling 30 days of raw server logs, checking the fetches you find, and ranking paths by fetch count. Search for ChatGPT-User, OAI-SearchBot, Claude-User, ClaudeBot, and PerplexityBot. You need a path list, not a dashboard. Tag-based analytics misses bot traffic because the bots do not run JavaScript, so do not use an analytics report as proof that nobody came.

Expect an uneven list. Text-dense docs, blog posts, and comparison pages may get fetched while most of the site gets nothing. Assistants can recrawl on an irregular days-to-weeks cadence, so a quiet path is not a permanent verdict. For this month, though, the unevenness helps: pick three to five fetched pages for week two. Do not spend your limited hours polishing a category page simply because it looks important in the navigation.

Reserve 30 minutes of that log work for verification. User-agent strings are easy to spoof. Check claimed OpenAI and Perplexity requests against their published bot IP ranges before treating the counts as genuine. Keep the bot types separate, too: blocking GPTBot for training does not remove you from ChatGPT search, while blocking OAI-SearchBot does. A log line can tell you what was fetched. It cannot tell you whether the assistant used the page in its answer. That is why the next part is manual.

Spend the remaining 2.5 hours on 20 buyer prompts

Write down 20 real customer questions with money behind them: cost, comparisons, suitability, and location. Run the same questions in Perplexity standard and Pro Search, and in ChatGPT with browsing on. Keep a simple sheet with the prompt, the engine, the cited page, and the claim that page supports. Mark a citation in the core answer differently from one attached to a side detail. Perplexity’s numbered, clickable citations make that distinction visible.

Do not blend the engines into one score. In a set of 1,429 contractor answers, LinkedIn drew 246 Perplexity citations versus 6 on ChatGPT, while YouTube drew 214 in AI Overviews versus 4 on ChatGPT. A source that helps in one place may do little in another. Your sheet needs to preserve that difference, not average it away.

When a competitor is cited, record the page doing the work and what it answers. When nobody cites you, label the gap before writing anything; missing citations can reflect different kinds of content gaps that need different fixes. Week one ends with two short lists: pages assistants already fetch, and prompts where your answer is absent. Use those lists. Ignore the urge to audit everything else.

2. Week 2: Make fetched pages readable without JavaScript

Cost: 5 hours. Buys: existing pages an assistant can actually use. Start with robots.txt, then inspect what a bot gets from the three to five pages you chose. A page can look complete in your browser and arrive almost empty in its initial HTML. Testing found GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, and PerplexityBot fetched JavaScript files in 11.5–23.8% of cases but never executed them. If the answer appears only after browser-side code runs, do not expect those crawlers to read it.

Use about 45 minutes for the first check. View Source rather than Inspect, reload with JavaScript disabled, and curl the URL. Compare the H1 and the substantive text you see by each method. Put JSON-LD in the initial HTML as well; schema injected by JavaScript is invisible to non-rendering crawlers. If you need a more detailed sequence, use this 45-minute readability check before drafting another AEO page.

This failure is often partial, which makes it easy to miss. Pricing pulled from APIs, spec and comparison grids, review widgets, FAQ accordions, tabbed content, and location finders are among the components likely to be absent from raw HTML. Those are also the things a buyer asks about. A page that serves its introduction but hides its pricing has not passed just because the title loads.

For each shortlisted page, put its plain answer in the first paragraph of readable HTML. Keep the interactive widget for human visitors if you need it; do not make the widget the only place the answer lives. Where the useful text is assembled in the browser, make that content available as server-rendered or static HTML. Work through the fetched pages before touching an unfetched one. Week two is done when the answer survives with JavaScript off. Nothing new gets written until then.

3. Week 3: Write only for the gaps closest to money

Cost: 5 hours. Buys: two or three focused pages, not a content calendar. Return to the prompt sheet. Choose the two or three unanswered buyer questions closest to a purchase decision and write one page for each. If a prompt already cites a competitor, inspect the cited page first. Find the answer it gives that yours does not, or the answer your page hides. This open letter to the owner ChatGPT named a competitor instead is a useful way to frame that source-and-readability check before you draft.

Give each page a 1–2 sentence, self-contained answer at the top. Follow it with short paragraphs, question-format H2s, and a one-sentence definition inside the first 100 words. Use specific numbers and named entities where you can support them. Name the author, include a bio, and link claims to the exact source page rather than asking the reader to trust a pile of unsorted links. That answer-first shape is what Perplexity can most readily lift and cite. The mechanism is not magic: a direct answer requires less assembly than a page that makes the assistant hunt through a long introduction.

Cut the hub rebuild, the glossary, and the ten-post sprint. With five hours, volume is a good way to publish several pages that answer nothing clearly. Publish specificity instead: real prices if you have them, real timelines, real limits, and an author a reader can identify. Do not invent a number to make a paragraph look quotable. A plain limitation is more useful than a confident sentence you cannot defend.

Check each new page the same way you checked the old ones. The answer belongs in the initial HTML, not in an accordion that appears only after a script runs. Week three ends when each page answers its assigned prompt in the first paragraph and remains readable without JavaScript. If you finish two solid pages rather than three thin ones, take the two. The constraint is still in force.

4. Week 4: Put a second voice next to your own

Cost: 3 hours. Buys: a start on corroboration outside your domain. Your site can state what you do. Other places can confirm that you exist and help an assistant place your answer in context. A Peec AI analysis of 30 million cited sources found Reddit the most-cited domain across ChatGPT, Perplexity, Gemini, and AI Overviews; the engines also differed in which other domains they favored. That is a reason to pay attention to third-party sources, not a reason to paste your brand into every thread you can find.

Use the three hours in this order:

  1. Align the basics. Check that your name, offer, and location read consistently on LinkedIn, your Google Business Profile, Crunchbase, and two directories buyers actually use. Do the useful corrections first; do not turn this into a directory-collection hobby.
  2. Improve one relevant third-party page. If a comparison or partner page already discusses your category, work on the one that answers a buyer question from your sheet. Aim for accurate, specific information and a link to the page that answers it fully.
  3. Answer two existing buyer questions. Use your real name, give a specific answer, and skip the pitch. Link back only where your answer-first page genuinely helps the reader finish the job.

Reddit’s citation strength has structural advantages, including its thread-based Q&A format and upvotes. Expert participation there takes months; one person cannot build that history in week four and should not pretend to. Leave useful answers where buyers already ask, then stop. The goal is not to manufacture authority in three hours. It is to make your identity consistent and give a second source a chance to point to work worth reading.

A miniature town with a website beside taller Reddit, LinkedIn, and G2 buildings

5. Day 30: Repeat the prompts before declaring a win

Cost: 2 hours. Buys: a comparison you can act on. Run the same 20 prompts in the same engines and modes. Record the same fields: who was cited, which page earned it, which claim it supported, and whether it appeared in the core answer or a side note. Keep the old sheet. Without it, day 30 is just another round of anecdotes.

Again, resist the blended score. Platform variance can be extreme, and ChatGPT’s Reddit citation rate fell sharply over two weeks in one cited period. If Perplexity moves from zero to two core-answer citations while ChatGPT stays at zero, the average obscures the useful observation. Report them separately, then decide which page or gap deserves the next pass.

Read the results without congratulating yourself for activity:

  • Fetched, but not cited? The page may be accessible without being a good answer. Tighten the first paragraph around one clear, supportable claim.
  • Cited for a side detail only? Move the direct answer higher and cut the preamble. The page is helping, but not yet doing the main job.
  • No visible movement? You still made existing pages readable and published focused answers. That is not the same as building authority in 30 days. Keep the sheet, date it, and check again after assistants have had time to recrawl.

The day-30 report is the prompt sheet and the verified log list, not a slide deck about impressions. It tells you what changed, what did not, and what to fix next.

When the constraint lifts, automate detection first

The solo version stops scaling in predictable places. Manual log checks get skipped. A 20-prompt sheet goes stale as questions and cited sources change. Third-party answers stop while competitors keep showing up. If your buyers ask 100 different questions across regions, or your money pages depend on JavaScript you cannot change, another hand-run 20-hour month will not cover the problem. Do not disguise that limit with a prettier spreadsheet.

When you have budget or help, automate detection before writing: parse verified bot fetches regularly, then track prompts per engine with the cited page and the claim it supports. Do not buy a blended visibility score that hides where the answer appeared. This is the repetitive work I would hand off first because it needs a cadence; the decision about what to fix still needs an owner.

If you want those checks running without hiring for them, groas tracks prompts, citations, and crawler visits, with a person accountable for what gets fixed next. But keep the rule from the $0 month: build from what assistants already read, then expand.