Website copy with AI: homepage, services and FAQ without filler
AI writes smoothly but does not know your business. How to build a brief with facts, get page structure, edit the result before publishing, and what it costs.
5 min · · бизнес · автоматизация
AI writes website copy quickly and smoothly, but the smoothness is deceptive: the model does not know your business and, without facts, fills gaps with generic phrases and inventions. Good texts come from a good brief going in and hard editing coming out. Below is the workflow: how to write a brief, how to get a homepage, service pages and FAQ, what to check before publishing, and what a whole site costs.
Step 1. The brief: what only a person knows
The model needs facts, not inspiration. Put these into one brief.md file:
- The business. What you do, for whom, in which city or region you work.
- The audience. Who buys, what task brings them, what they fear.
- The offer. A list of services or products, each with: what is included, who it is for, how the work goes, timing, a price range (only if you are ready to show it).
- Differences. Only what can be confirmed: how many years you have worked, which licenses and certificates you hold, what the guarantee covers.
- Tone. "Calm, formal address, no exclamation marks, no words like 'best' or 'unique'."
- Prohibitions. What must not be written: deadlines you do not guarantee, numbers without a source, reviews and case studies if you have none.
- Real customer questions. 10-15 questions people actually ask you by phone and in messengers. They are the basis of the FAQ section.
An example brief fragment (a fictional business, substitute your own data):
Business: bicycle repair workshop, Kazan, operating since 2019.
Audience: urban cyclists, 25-45, need quick repairs before the season.
Services: chain replacement (from 600 rub., 1 hour), brake adjustment (from 400 rub.), seasonal service (from 1500 rub.).
Tone: calm, formal address, no exclamation marks.
Do not: use the word "best", invent reviews, promise times shorter than stated above.The main rule: the model must not state anything that is not in the brief. Put that in the prompt as a separate line.
Website text with AI: structure first, then texts
Do not ask "write a website". Go step by step.
Structure. Ask for a page map and blocks for each page:
From the brief, propose the site structure: pages and blocks on each.
For the homepage: headline, subheading, 3 benefits, services block, FAQ, call to action.
Do not add pages for which the brief has no data.You get a skeleton that takes a minute to adjust, before tokens are spent on long texts.
The homepage. A short headline with a promise you keep; a subheading clarifying "for whom and what you get"; three concrete benefits with facts from the brief; a call to action.
Service pages. One request per service, using one template: who it suits, what is included, how the work goes, what it costs and how long it takes, what is needed from the client. A single template keeps you from getting ten pages in different styles.
FAQ. Give the model the real customer questions and the facts for the answers. Let it only format the answers, not invent new terms. Questions the brief does not answer should be marked "ask the owner", and that belongs in the prompt.
A script: a service page as JSON
When there are many pages, it is convenient to get texts in structured form so you can drop them into the site template. An example through the Zukko OpenAI-compatible format (chat completions):
import json
import re
from pathlib import Path
from openai import OpenAI
client = OpenAI(base_url="https://api.zukko.pro/v1", api_key="fetch_your_key")
brief = Path("brief.md").read_text()
def page(service: str) -> dict:
prompt = f"""Brief:
{brief}
Write the text of the service page "{service}".
Use only facts from the brief. If data is missing, put "FILL IN".The model may return the answer in a code block, so the script strips the wrapper before parsing. If json.loads still fails (for example, the model added a comment), repeat the request. More on strict JSON: how to get structured JSON from a model. The "FILL IN" markers quickly show what the brief lacks.
Step 3. Editing before publication
You cannot publish the model's raw output. A checklist:
- Facts. Every number, deadline, price, name and guarantee is checked against the brief. Anything not in the brief is removed.
- Promises. Phrases like "we guarantee", "same day", "forever" are checked legally and against how you actually work.
- Filler. Cross out openings like "in the modern world" and empty adjectives. A good rule: if a sentence can be removed and the meaning does not change, remove it.
- Repeated constructions. Models love identical rhythms and "triples". Read it aloud and rewrite where it sounds formulaic.
- Specifics. Replace general words with examples from your practice: what exactly you do and how.
- Headings and meta descriptions. One H1 per page, clear H2s, a page description in your own words without keyword stuffing. Write for people, not for a robot.
- Reviews, case studies, statistics. Only real ones. Asking the model to compose a review is not allowed.
It is convenient to move the tone and prohibitions from the brief into a system message so you do not repeat them in every request. The general approach to texts and pricing is covered in the article AI for writing texts.
What a whole site costs
Suppose a site of 8 pages with three drafts per page (first, revision after comments, final). That is 24 requests. On average 2,500 input tokens (brief, instructions, previous version) and 1,200 output tokens per request. Input is 24 × 2,500 = 60,000 tokens, output 24 × 1,200 = 28,800. Russian text usually takes more tokens than English of the same length (why), so leave a margin. Zukko prices as of October 18, 2026, $ per 1M tokens.
| Model | Calculation | Total |
|---|---|---|
claude-sonnet-5-5 (0.4 / 2) | 0.06 × 0.4 + 0.0288 × 2 = 0.024 + 0.0576 | $0.08 |
gpt-6.1-sol (0.27 / 1.32) | 0.06 × 0.27 + 0.0288 × 1.32 = 0.0162 + 0.038 | $0.054 |
deepseek-v4.1-flash (0.013 / 0.038) | 0.06 × 0.013 + 0.0288 × 0.038 = 0.00078 + 0.0011 | $0.002 |
These are token prices: editing, fact-checking and proofreading will take more time than any model costs. Choose by the result on your brief: run the same page through two or three models and compare. The strength index (claude-sonnet-5-5 has 48, gpt-6.1-sol 52, deepseek-v4.1-flash 39) shows a general level, but not style or knowledge of your niche.
FAQ
Can I publish text written by AI?
Yes, if you have verified the facts, removed the filler and answer for the result as for your own. Publishing raw output without checking leads to invented promises and faceless pages.
How do I write website text with AI online without inventions?
Give a brief with facts, forbid stating anything not in it, and ask the model to mark gaps. Then verify every fact by hand.
Which model should I choose for texts?
We do not claim that one writes better. Compare two or three models on one page by price and by how well they hold tone and constraints.
How do I pay for the API from Russia?
A Zukko key works from Russia, and the balance is topped up from $1: SBP, a MasterCard card or cryptocurrency. Per the calculation above a whole site fits into a few cents, so a minimal top-up lasts a long time.
You can try it in an evening: create a key in the dashboard, write a brief and run the script above on one page.
zukko
Pay 25×
less
for Claude Code & ChatGPT
One fetch_* key and base URL api.zukko.pro — for Cursor, Claude Code, Codex, and any SDK.
Related articles
- AI for testers: test cases, checklists and bug reportsHow a QA engineer can use a model for test cases, checklists and bug reports, check coverage, and avoid requirements the model made up.
- Anonymizing data before sending it to a neural network: a practical wayYou do not have to send personal data to a model for it to process a document. How to replace it with labels, restore it in the answer and check that nothing leaked.
- A neural network for HR: job posts, candidate emails and resume reviewA model can draft job posts and emails and do a first-pass resume review. What to hand over, how to treat candidates' personal data and how to prevent biased decisions.
- Generating an FAQ with a neural network from tickets and a knowledge baseA good FAQ is built on what customers really ask. A pipeline: group the tickets, answer from the knowledge base with a source reference, and verify the result.