SEOTechnical SEOOn-Page SEOCore Web VitalsSearch Console

Insight — Website SEO Setup

How to Set Up SEO
for a Website

Your website is the one part of SEO you completely own — no algorithm, no rented reach. This is the exact on-site setup: the technical and on-page work, in the order I run it on every site I build. Eight steps, top to bottom, nothing missed.

Looking for the whole system — Google Business Profile, social, LinkedIn?Start with the channel-by-channel guide— then come here for the website itself.

00 — Orientation

Two Layers, One Website

On-site SEO splits into two layers, and you build them in this order. Get one wrong and the other can't save it.

Technical SEO makes sure Google can crawl, render, and index your pages at all. On-page SEO makes each page clearly about something worth ranking. Everything below is one of these two — nothing else on your site matters for search until these are right.

Technical SEO

Crawlable HTML, sitemap, robots.txt, canonical tags, HTTPS, structured data, and Core Web Vitals — so search engines can read and trust the site.

On-Page SEO

Keyword-mapped pages, title tags, meta descriptions, one H1 with logical headings, genuinely useful content, clean URLs, internal links, and alt text.

01 — Before you touch code

Map One Keyword to Each Page

This is the step almost everyone skips — and the reason so many sites get impressions but no clicks. Before a single tag, decide what each page is for.

Give every page one primary search intent. Two pages chasing the same keyword compete with each other and split their own authority — that's cannibalization, and it quietly caps your rankings. One page, one job.

The keyword map

  • List the terms your actual customers search for.
  • Match search intent — informational vs. buying.
  • Assign exactly one primary keyword per page.
  • Give each intent its own dedicated URL.
  • Note secondary terms to support, not duplicate.
  • Kill or merge pages that chase the same term.

02 — The gate

Make the Site Crawlable & Indexable

None of the rest matters if Google can't read the page. This is the gate every URL has to pass before it can rank.

Crawl & index setup

  • Serve real HTML — server-rendered, not a blank JS shell.
  • Publish an XML sitemap listing every indexable URL.
  • Add a robots.txt that allows Google and points to the sitemap.
  • Make sure no key page carries an accidental "noindex".
  • Keep important pages within a few clicks of the homepage.

The JavaScript trap

If your content only appears after JavaScript runs — the default for many single-page-app builders — Google may index a nearly empty page. Server-side rendering or static generation (what Next.js does by default) ships the words in the initial HTML, so crawlers and AI assistants see them instantly. View source: if your headline isn't in the raw HTML, that's your first fix.

03 — The click layer

Write Title Tags & Meta Descriptions

The title tag is the single highest-leverage on-page element — it's both a top ranking signal and the blue link people decide whether to click. Ranking on page one with a weak title is exactly how you rack up impressions and zero clicks.

Title tags

  • One unique title per page — never repeat them.
  • Front-load the primary keyword; keep it ~50–60 characters.
  • Follow a pattern: Primary Keyword — Benefit or Brand.
  • Write for a human — earn the click, don't just stuff.

Meta descriptions

  • ~150 characters that sell the click, not keywords.
  • Include the search term so Google bolds the match.
  • Make a promise the page actually keeps.
  • Unique per page — no site-wide boilerplate.

Impressions but no clicks? Start here.

If Search Console shows a page earning impressions with a near-zero click-through rate, the title and description are usually the fix — long before you touch rankings. Rewrite them to match what people typed, then watch the CTR column.

04 — The page itself

Structure Headings & Content

Headings are the outline Google reads to understand the page. Content is what actually earns the ranking. Structure the first, and make the second genuinely the best answer to the query.

Heading structure

  • Exactly one H1 per page, matching the search intent.
  • Logical H2/H3 nesting — an outline a person could follow.
  • Work the keyword and its variants in naturally.
  • Use headings to answer the questions people ask.

Content that ranks

  • Actually answer the query — better than page-one rivals.
  • Write for people first; keywords fall out naturally.
  • Add depth, specifics, and real experience Google rewards.
  • Keep it fresh — update pages instead of letting them rot.

05 — The connective tissue

URLs, Internal Links & Images

These are the details that tie a site together — cheap to get right, expensive to ignore. They spread ranking power between your pages and make every one easier to understand.

Clean URLs

Short, readable, keyword-bearing slugs. /website-seo-setup, not /page?id=42. Set one and keep it — redirect if it ever changes.

Internal links

Link related pages with descriptive anchor text. This is how ranking power flows through the site and how Google finds deep pages.

Images

Descriptive alt text, compressed files, explicit width and height, and next-gen formats — accessibility, speed, and image search in one.

06 — Under the hood

The Technical Must-Haves

Set these once and they quietly work forever. They don't change a word on the page — they tell search engines how to interpret and trust what's already there.

Trust & duplication

  • Force HTTPS everywhere — it's a baseline ranking signal.
  • Add a canonical tag to every page to prevent duplicates.
  • Redirect www/non-www and trailing-slash variants to one URL.
  • Confirm the site is fully mobile-friendly (Google indexes mobile-first).

Structured data

  • Add JSON-LD schema so engines understand each page.
  • Organization or Person for the site's identity.
  • Article + Breadcrumb on posts; FAQPage for Q&A blocks.
  • Validate it in Google's Rich Results Test before shipping.
Multilingual site? Add hreflang tags so each language version ranks in the right region.

07 — The tiebreaker

Pass Core Web Vitals

Speed rarely wins a ranking outright, but it's the tiebreaker between otherwise-equal pages — and a slow site loses visitors before they ever convert. Google grades three real-world metrics. Aim for the green thresholds.

≤ 2.5s

LCP · Loading

Largest Contentful Paint — how fast the main content appears. Fix with image sizing, caching, and a fast host.

≤ 200ms

INP · Responsiveness

Interaction to Next Paint — how quickly the page reacts to taps and clicks. Trim and split heavy JavaScript.

≤ 0.1

CLS · Stability

Cumulative Layout Shift — how much the page jumps as it loads. Reserve space for images, fonts, and ads.

This is where the platform you build on shows. A hand-built or framework-rendered site clears these by default; a plugin-heavy build fights them forever — the case I make in WordPress vs. hardcoded.

08 — Go live in search

Submit to Google & Get Indexed

You don't pay or wait to be listed — you tell Google you exist. This is the step that turns a finished site into a findable one, and it's free.

The launch checklist

  • Verify the site in Google Search Console.
  • Submit your XML sitemap under Sitemaps.
  • Use URL Inspection to request indexing of key pages.
  • Do the same in Bing Webmaster Tools while you're at it.
  • Connect Google Analytics to see what visitors do.
  • Confirm robots.txt and meta tags aren't blocking anything.

09 — When it doesn't show up

Verify It Worked — and Fix It If It Didn't

Setup done doesn't mean indexed. Search site:yourdomain.com in Google to see what's live, then inspect any missing URL in Search Console — it tells you exactly why. Nine times out of ten it's one of these.

Why a page isn't indexed

  • A leftover "noindex" tag from staging or a template.
  • robots.txt disallowing the path or the whole site.
  • A canonical tag pointing at a different URL.
  • Content that only renders in JavaScript Google can't run.
  • The page is too thin or duplicates another page.
  • It's simply too new — request indexing and give it days.

Setup makes you eligible. Content, links, and time earn the ranking — and the work you do now keeps compounding.

10 — People Also Ask

Website SEO Setup: Quick Answers

How do I set up SEO for a website step by step?

Map each page to one keyword, make the site crawlable and server-rendered, give every page a unique title tag and meta description, use one clear H1 with logical headings, add an XML sitemap, robots.txt, canonical tags, and schema, pass Core Web Vitals, then submit the site in Google Search Console and request indexing.

What is on-page SEO?

On-page SEO is everything on the page itself that tells Google (and people) what it's about: the title tag, meta description, one H1 and logical subheadings, the actual content and keywords, the URL, internal links, and image alt text. It's the layer you control completely — every page is optimized one at a time.

What is technical SEO?

Technical SEO is making your site easy for search engines to crawl, render, and index: server-rendered HTML, a clean XML sitemap and robots.txt, canonical tags, HTTPS, mobile-friendliness, structured data, and fast Core Web Vitals. It doesn't change your words — it makes sure Google can actually read and trust the pages you wrote.

Do I need to know how to code to set up SEO on a website?

No. Keyword research, titles, meta descriptions, headings, content, and submitting to Search Console need no code. The technical layer — server-side rendering, sitemaps, canonical tags, schema, and Core Web Vitals — is easier with a developer or an SEO-friendly framework, but most of it is configuration, not programming.

Why is my website not showing up on Google?

Usually one of a few things: it isn't indexed yet, a stray "noindex" tag or robots.txt rule is blocking it, the content only renders in JavaScript that Google can't read, a canonical tag points elsewhere, or the page is too thin. Check the URL in Search Console's inspection tool — it tells you exactly why.

How do I check if my website is SEO-friendly?

Run the page through Google Search Console's URL Inspection and the Rich Results and PageSpeed Insights tools. Confirm it's indexed, view the rendered HTML to be sure your content and title appear, check Core Web Vitals are green, and view source to verify each page has a unique title, meta description, and one H1.

Does website speed affect SEO?

Yes. Core Web Vitals — loading (LCP), responsiveness (INP), and visual stability (CLS) — are confirmed Google ranking signals and, more importantly, a slow site loses visitors before they convert. Speed rarely wins a ranking outright, but it's the tiebreaker between otherwise equal pages and it directly affects conversions.

How long does it take to set up SEO on a website?

The setup itself is fast — a focused site can be technically SEO-ready in a day or two, and Google often indexes new pages within days of a Search Console request. Ranking is the slow part: expect three to six months of compounding before meaningful movement. Setup gets you eligible; content and time earn the position.

How much does it cost to set up SEO for a website?

The core setup is free to do yourself — Search Console, a sitemap, titles, meta descriptions, and schema cost nothing but time. Costs come from scale and speed: premium tools, a developer for technical work or a rebuild, or writers and an agency. You can start free and invest more once it proves out.

Want a website that's built to be found?

Every step above is baked into the sites I build — server-rendered, schema-marked, and passing Core Web Vitals on day one. If your current site is fighting its own foundation, let's fix that.