-
Step 1 · Choose topics: things people search for that you can actually answer
Keywords come from questions you've been asked and from search suggestions
The fastest way to kill an AI content site is writing whatever comes to mind. Topic selection answers two questions first: is anyone searching for it, and can I answer it better than what's already out there.
Three sources, most reliable first:
- Questions you've been asked: anything that comes up three or more times in your community, comments or inbox — a real need, and you already have the answer
- Search suggestions and related searches: type a core term and read the dropdown and the related searches. Those are your long-tail terms
- Competitor gaps: search a term and look at what the top results lack — too old, too shallow, no steps. That's your opening
Fields for the topic sheet (keep it in a table):
keyword | intent (learn / compare / do) | quality of existing results | can I do better | monetisation link | statusPrioritise "do" queries: "how to X" and "X steps" convert best, because the reader is mid-task and needs tools and services.
Skip broad "what is X" encyclopedia terms: high volume, no conversion, and the competition is all encyclopedia sites.
Bank 20 topics before writing a word. Running out of topics halfway is the most common reason these sites get abandoned.
Checklist
- 20+ topics, each tagged with search intent
- At least half came from real questions asked
- For each one you can say what's better about your version
-
Step 2 · Generate: give the AI enough context and structure
State the role, the reader, the structure and what's forbidden
The usual reason AI writes badly is a prompt that's too short. The more context you give, the more controllable the output.
Five prompt elements, none optional:
- Who the reader is: "for solo founders who don't code"
- What structure you want: "problem → cause → 3 steps to fix → common pitfalls"
- Length and format: "800 words, section headings, commands in code blocks"
- What it must include: "must mention X and Y, and give copy-pasteable commands"
- What's forbidden: "no 'firstly, secondly, finally' filler, no invented data, and write 'it depends' where you're unsure"
Generate in two passes, not one:
- First pass: an outline, so you can judge the direction quickly
- Second pass: section by section from that outline — noticeably better than one full-length draft
Facts must be checked by a human: version numbers, prices, policies, endpoint URLs. AI states them confidently and wrongly. For every "fact" in the article you should be able to name the source.
Don't aim for a finished draft in one go. Treat the AI as a writing assistant, not the author; your judgement is where the differentiation comes from.
Checklist
- The prompt covers reader, structure, length and prohibitions
- You generate the outline first, the body second
- Every fact in the article has a source you can name
-
Step 3 · Human review: the only gate that decides quality
Check the facts, add your own experience, delete the filler
This step is what separates "an AI spam site" from "a good site that uses AI". Search engines and readers can both tell.
Checklist, for every article:
- [ ] Facts: does the command run? Is the version current? Are prices and policies still valid?
- [ ] Add something only you know: one line that comes from having hit the problem yourself. That's what AI can't supply
- [ ] Delete the filler: "as X continues to evolve", "in conclusion", "firstly / secondly / finally"
- [ ] Add a real case: one concrete number or one real scenario beats three paragraphs of adjectives
- [ ] Read it aloud: fix whatever trips you up
Label it: if the platform requires it, or you'd rather be transparent, write "drafted with AI assistance, reviewed by a human" at the end. Don't pretend it's all human — being caught costs far more than being open.
Red lines — better not to publish:
- An unverifiable fact → don't publish
- Correct throughout but says nothing new → don't publish. That's diluting your site
- Shallower than the top three results → don't publish
Throughput: reviewing 2–3 articles a day is sustainable. Twenty a day means you're skimming.
Checklist
- Every article passed the five-point checklist
- Every article has at least one human-only addition
- You have written 'do not publish' criteria and used them
-
Step 4 · Publish: structure, internal links, crawler-friendly
One topic per page, static and fetchable, linked to each other
SEO basics before publishing:
- One topic per page, URL in lowercase with hyphens (
/how-to-back-up-a-site) titlecontains the core keyword and reads like a sentence;descriptionof 40–120 characters says what you get from reading- H2/H3 hierarchy, short paragraphs, key conclusion at the start of the paragraph
- Images have
alt, and meaningful filenames — notIMG_1234.png - Structured data:
HowTofor tutorials,FAQPagefor Q&A. This site'sseo-prerender.jsdoes exactly that
Internal links — the part everyone forgets:
- A new article must be linked from 2–3 related older ones. An orphan page never gets indexed
- Link naturally inside the body; don't just dump a "related posts" block at the bottom
- Anchor text is the target page's keyword, not "click here"
Update
sitemap.xmland submit it; movelastmodwhen the content materially changes.Don't: publish 50 unrelated 300-word pages in a day. That's textbook dilution and it drags the whole site's quality score down.
Cadence: three articles a week for a year beats thirty in one week and then silence. Consistency is a strong signal that a site is alive.
Checklist
- Each page has one topic and a clean H2 structure
- Every new article has 2+ internal links pointing at it
- The sitemap is updated and submitted
- One topic per page, URL in lowercase with hyphens (
-
Step 5 · Indexing and conversion observation: let data pick the next topic
Keep a watchlist, watch indexing and conversion, cut what isn't working
The compounding on a content site comes from only doing directions that have been validated. Without observation you're just stacking words.
Indexing observation (weekly, 10 minutes):
- Maintain
data/index-observation.json: one entry per article withsubmitted_at/indexed/checked_at - Run the observation script to check HTTP status, canonical and robots permission in bulk, and emit that day's report
- Google side: check the indexed report in Search Console; other platforms have their equivalent
- An article not indexed after four weeks → check, in this order: is it an orphan, is it too thin, does it duplicate an existing page
Conversion observation — this decides whether monetisation works:
- Three stages:
pv→read_finish(scrolled to the end) →aff_click(clicked a promo slot) - Per article: a high
aff_click / pvmeans strong reader intent. Write more around it
Decision rules — write them down, don't go by feel:
- A direction indexing under 50% → pause it and find out why
- Indexed but
read_finishunder 20% → the content didn't answer the question; rewrite it - Indexed fine, zero
aff_click→ the promo slot or the offer is wrong. Move it rather than adding more ads
Monthly content audit: deepen the top 10; merge or delete anything with two months of zero indexing and zero clicks. Deleting weak content lifts the whole site — which is the opposite of what most people assume.
Checklist
- Every article is on the indexing watchlist
- There's a weekly indexing check record
- You can list the top 10 articles and the pending list
- Maintain