Start with a page map, not a template
I have seen sites that took a month to build but still had “discourage search engines” checked. So I start not with a pretty template, but with one primary address, a page structure, and a check of the published HTML.
The mistake I would remove first: Closing a production site with noindex or Disallow.

What to prepare and what result to expect
- Outcome: The site has a clear structure, canonical URLs, indexable HTML pages, a sitemap, and a verified path from query to lead.
- For each page record the query, intent, next step, copy owner, and source of facts.
- Keep source data and access rights separate from the result so you can verify what an SEO site from zero did.
- Open the site on a phone, walk the menu, tap the phone number, submit a test form, and check title, description, H1, canonical, and service copy in the raw HTML.
Build a baseline site and check it as a client
- Build a page map
For a small business start with home, service pages, contacts, terms/pricing, and proof. Example: /, /services/repair/, /services/installation/, /contacts/.
Проверьте: Each page answers one question and leads to the next step.
Если не сработало: Merge duplicate pages instead of creating another similar one.
- Create basic HTML files
In each file add a unique title, meta description, one H1, and a self-referencing canonical. Do not leave demo copy and stock template images.
Проверьте: The URL returns 200 and its text is available without required JavaScript.
Если не сработало: Open the source code, not only the builder’s visual canvas.
- Open the site to search
Create robots.txt and sitemap.xml. In Search Console add a domain property → Sitemaps → submit /sitemap.xml → inspect the home page and a service page.
User-agent: * Allow: / Disallow: /admin/ Sitemap: https://example.com/sitemap.xmlПроверьте: The sitemap lists only canonical pages with status 200.
Если не сработало: Check noindex and Disallow before submitting the sitemap.
- Walk the customer path
On a phone in a private window open a page from search, find price/terms, tap contact, and submit a test form. After publish, check PageSpeed Insights.
Проверьте: You know what the client will see and where the lead lands.
Если не сработало: Fix the unavailable next step first, then fine SEO settings.

First I pick one domain version
There must be one primary URL, for example `https://example.com/`. Other versions issue a single 301 to it. Internal links, canonical, and sitemap use the primary address. I check with `curl -I -L http://example.com/` and `curl -I -L https://www.example.com/`.
In WordPress: `Settings → Reading` and `Settings → Permalinks`. In Tilda: `Page settings → SEO`. In Webflow: `Pages → Page settings → SEO settings`. In Wix: `SEO & GEO → Tools and settings → SEO Settings`. After any change I verify the URL in the browser, not only a checkbox in the admin.
<title>Process automation for small business</title>
<meta name="description" content="We map manual operations and build a working scenario without extra tools.">
<link rel="canonical" href="https://example.com/">
<meta name="robots" content="index,follow">
A sitemap must not pretend to be a roadmap
Add to the sitemap only pages you want in search: no `noindex`, redirects, test URLs, filters, or duplicates. In Search Console add a Domain property, verify the domain via DNS, open `Sitemaps`, and submit `sitemap.xml`. Then sample-check home, a service, an article, and the form via `URL Inspection`.
Before traffic, set up GA4 and the `generate_lead` event, verify it in Realtime, then mark it as a key event. At 14 and 28 days look at index status, impressions, queries, clicks, and organic leads—not only average position.
I build structure before writing copy
First make a table of `url`, `intent`, `primary_query`, `audience`, `stage`, `proof`, `cta`, `owner`, and `status`. Do not publish a page only because a keyword was found. Every page needs a standalone answer and a next step.
After launch manually check five URLs: status 200, canonical, robots, title, H1, internal links, form, and the `generate_lead` event. You can submit a sitemap to search engines, but page quality and internal links still decide what gets indexed.
What must ship first, and what can wait
| Criterion | Question | Good sign |
|---|---|---|
| Input | What exactly enters an SEO site from zero? | For each page record the query, intent, next step, copy owner, and source of facts. |
| Action | What is the system allowed to do on its own? | Only prelisted actions, without access to the entire account |
| Verification | How do you know the result is acceptable? | Open the site on a phone, walk the menu, tap the phone number, submit a test form, and check title, description, H1, canonical, and service copy in the raw HTML. |
| Failure | Where do unclear cases go? | Fix one technical or content cause, rebuild the page, and recheck the URL—do not change everything blind. |
What should change after setup
The site has a clear structure, canonical URLs, indexable HTML pages, a sitemap, and a verified path from query to lead.

Which small details block people and bots
Closing a production site with noindex or Disallow.
Leaving demo copy and template photos.
Creating pages without their own intent and next action.
Treating sitemap submission as a guarantee of fast indexing.
When site build becomes a technical project
Bring in a specialist if the site is multilingual, has hundreds of URLs, connects to CMS/CRM, or needs a migration without traffic loss.
What to check before submitting a sitemap
How many pages do you need at the start?
Enough for a person to understand the service and reach out. Often 5–8 solid pages are enough.
When will the site appear in search?
Timing depends on crawl, quality, and competition. A sitemap helps discovery but does not guarantee instant indexing.
Do you need a blog on day one?
No. First build service pages and proof, then add articles for real customer questions.
Can you build the site only on an AI builder?
As a draft, yes—but check HTML, forms, ownership, URLs, speed, and the ability to change content after launch.






