# Landing page SEO: one page, one search, one promise

You built the page for ads or email. Search has a different job. Map one query to the page, say the promise in the title and h1, answer it above the fold, show proof, and give one action. Avoid fighting your home page for the same search.

Updated 2026-09-13 · Source: https://porteur.ai/guides/landing-page-seo

## Pick one search, not a bucket

A landing page is built for one job. In search, that means one primary query. Not ten related ideas.

Open Search Console. In Performance, filter by Page, add the landing page URL. Scan Queries for phrases that already show impressions, even if clicks are low. Pick one with clear intent you can satisfy now.

If the page is new, write down the exact search your campaign targets. Make it specific: add a modifier for audience, use case, or format. “billing software” is vague. “billing software for freelancers” is a fit for a focused landing page.

- Good: “ai resume builder for designers”, “saas free trial no credit card”, “headless cms pricing”
- Weak: “resume”, “saas”, “cms”

> Rule: one page, one search, one promise. If you feel tempted to add another promise, you need another page.

## Avoid a fight with your home page

Your home page should own your brand and the broad category. Landing pages should own a slice: a use case, an audience, or a campaign term.

| Search | Home page? | Landing page? |
| --- | --- | --- |
| yourproduct | Home | No |
| yourproduct pricing | Home or /pricing | No |
| invoice automation | Maybe, if core | Yes, if a use case page |
| invoice automation for Shopify | No | Yes |

Check cannibalisation. In Search Console, filter by the search you chose. Do multiple pages get impressions? If so, pick one to win. Canonicalise or merge the others, and link to the winner using that anchor text sitewide where relevant. See “/guides/invoice-automation-for-shopify” take the anchor “invoice automation for Shopify” from blog posts and nav items, not the home page.

> Use a distinct title and h1 on the landing page so Google can tell it apart from the home page.

## Write the title and h1 to match the query

Your title is the ad for the result. Keep it under about 60 characters. Put the query at the front. Put the promise after a colon or a pipe.

- Target query: “ai resume builder for designers”
- Title: AI resume builder for designers: export to PDF
- H1: Build a designer resume with AI, export ready to send

Do not reuse the home page title format. Avoid vague superlatives. Drop your brand unless it helps disambiguate. Save brand for the home page and navigational intent.

Write a meta description that earns clicks. One sentence, 120 to 155 characters. Mirror the promise and the action. It will not rank you, it will change click behaviour when you do show.

## Answer above the fold, then prove it

When someone lands, they should see the answer to the query in the first viewport. State the promise clearly. Show the first step or the key outcome without scrolling.

- Headline mirrors the h1, not a slogan
- Subhead clarifies the promise in one sentence
- Primary CTA, one only: “Start free trial”, “Get demo”
- Visual that proves the promise: a short loop of the key feature, a before and after, a real screenshot

Below the fold, stack proof. Use specifics, not adjectives. Show named integrations, the steps, constraints, and outcomes. Add social proof that helps a sceptical reader decide. Prefer quotes that explain a problem solved over star ratings. If you have a case study, summarise the setup and change in two lines and link to the full page.

> One CTA per landing page. Repeats are fine. Competing CTAs dilute both conversion and the signal of the page’s job.

## Structure and copy that search engines can parse

Keep a clean hierarchy. One h1. Use h2s for sections that match search subtopics. Write in plain language. Avoid image-only text for key points.

- URL: short and specific, e.g. /landing/ai-resume-builder-designers
- Intro: two sentences that connect the query to the promise
- Features: bullets that map to the problem the query implies
- FAQ: 3 to 6 direct answers with the query’s words when natural
- Schema: FAQ markup only if your answers fit on the page, readable without clicks

If this page depends on JavaScript to render core content, check it renders server side or hydrates fast. If you ship a client-side app shell, ensure the HTML on first load contains the h1, the core copy, and the primary CTA. Otherwise Google may not see the point of the page soon enough to rank it.

## Speed, Core Web Vitals, and ad scripts

Campaign pages collect scripts like a magnet. Each one slows the first view. Keep LCP under 2.5 seconds, CLS under 0.1, and INP under 200 ms as of 2026.

1. **Find your LCP element** Use PageSpeed Insights on the landing page URL. Note the LCP element and its load time. Replace hero carousels with one optimised image or a short poster frame for video.
2. **Cut render-blockers** Inline critical CSS for the above-the-fold section. Defer non-critical JS. Load chat, analytics, and A/B scripts after user interaction where possible.
3. **Reserve space** Set width and height on images and video. Reserve slots for embeds, forms, and badges. This prevents layout shifts that hurt CLS.
4. **Optimise forms** Reduce fields. Avoid heavy third-party validators. Pre-fill when you have permission. This helps both INP and conversion.

> Your LCP is often the hero image, the h1, or a big block of text. Optimise the actual element, not only the server time.

## Internal links, navigation, and canonicals

Link to the landing page from menus, footers, and relevant pages using the target query in the anchor when it reads well. This tells both users and Google what it is about.

Avoid duplicate paths that show the same content. If you have /invoice-automation and /solutions/invoice-automation, pick one. 301 the other. Use a single canonical tag on the chosen URL. Do not canonical a page to the home page unless it is truly a duplicate.

- Noindex staging or test variants
- Remove UTM parameters from indexable URLs
- Ensure each language or region version has its own URL and hreflang if you localise

## Measure: impressions, CTR, and intent fit

Expect a ramp. First, impressions rise. Then CTR improves as your title and description get closer to the query. Finally, clicks and conversions follow.

1. **Track the primary query** In Search Console, add a page filter and the target query as a query filter. Watch average position and CTR over 28 days. If position climbs but CTR stays flat, rewrite the title to match the search better.
2. **Watch overlapping queries** Look for near-duplicates that send impressions. If they map to different intent, make sister pages. If they mean the same thing, keep one page and adjust copy to include the variants naturally.
3. **Check on-page engagement** Use your product analytics for scroll depth and clicks on the primary CTA. If many users bounce after the fold, your above-the-fold answer is not clear enough.

> Why impressions rise without clicks: your title and h1 are off-intent, or a stronger rival just updated their page. Fix your promise before you add more words.

## Examples that pass and fail the sniff test

- Bad: Title “All-in-one platform for teams” for a page that targets “OKR template for startups”.
- Good: Title “OKR template for startups: free Google Sheets” and an h1 that repeats the promise with the Sheet preview above the fold.
- Bad: A hero autoplay video, chat widget, cookie modal, and three A/B scripts before main content.
- Good: A static hero with a 120 KB image, a play-controlled video further down, and chat loaded after first interaction.
- Bad: Two CTAs, “Start free trial” and “Contact sales”, with a third ghost CTA in the header.
- Good: One primary CTA repeated, with a secondary link to docs in the footer only.

A fixed page looks like this: “/landing/okr-template-startups” loads fast, shows a Sheet preview, the promise is clear, and the only CTA is “Get the template”. It gets links from “/blog/okr-examples”, “/blog/okr-mistakes”, and the templates index page with the anchor “OKR template for startups”.

## Common traps on landing pages

- Noindex left on after a campaign. Check your meta robots. Remove it if you want this page to rank.
- Title and h1 mismatch. Align them. They can differ, but the promise must be the same.
- Form-only pages. If the page has no crawlable copy, add a short section that answers the query in plain text.
- Cannibalising “/pricing” with a “pricing” landing page. Fold it into /pricing or target a different query like “enterprise pricing”.
- Thin variants for every ad group. Merge near-duplicates. Keep one strong page per intent.
- Interstitials that block content on mobile. Avoid intrusive popups that load before interaction.

## Questions

### Does a landing page need SEO?

If you want organic traffic, yes. Give the page one search to win, a clear promise in the title and h1, content that answers it above the fold, proof, and one CTA. If the page is only for paid traffic, still optimise speed and clarity to improve conversion.

### Is SEO still worth it in 2026 for landing pages?

Yes, when the page targets a specific search and shows the clearest answer fast. Broad, generic landing pages rarely win. Focus on a slice of intent and measure it in Search Console over 28 days at a time.

### Can ChatGPT do SEO for my landing page?

It can help you draft titles, h1s, and outlines. You still need to pick the query, ensure the promise matches your product, and add proof from your own users. Use AI as a writing aid, not a strategy.

### What is the 80/20 rule in SEO for landing pages?

The vital few are query selection, title and h1, the above-the-fold answer, and page speed. Get these right before you chase minor tweaks. One page, one search, one promise.

### How do I keep my landing page from competing with my home page?

Choose a narrower query for the landing page. Use a distinct title and h1. Link to it with that query in the anchor. If both pages rank for the same search, pick a winner and canonicalise or consolidate the other.

### How do I test changes without hurting rankings?

Ship changes that keep the same intent: title refinements that include the query, faster media, clearer proof. Avoid swapping the promise or the target query in frequent tests. Track position and CTR for the target query after each change.

## Read next

- [Search intent: what the results page tells you to build](https://porteur.ai/guides/search-intent): Learn the four intents, read intent from the results page, and fix pages that will never rank by changing their kind, not just the words.
- [The Search Console performance report, column by column](https://porteur.ai/guides/search-console-performance-report): Every column in the Google Search Console performance report explained with the traps that trip small sites, and how to act on each.
- [Title tag length: what fits, what Google rewrites, and how to write one](https://porteur.ai/guides/title-tag-length): About 60 characters is a safe line. Learn pixels versus characters, why Google rewrites titles, and how to write titles that earn clicks.
- [Meta description length, with examples that earn the click](https://porteur.ai/guides/meta-description-length): Keep meta descriptions around 155 characters on desktop and shorter on phones. Here is how to write snippets that earn clicks, with clear examples.
- [Internal linking for a small site: which pages link to which](https://porteur.ai/guides/internal-linking-for-seo): Decide which pages rank. Build hubs, write clear anchors, fix orphans, and crawl your site to map links you control.
- [Core Web Vitals for a product site: the three numbers](https://porteur.ai/guides/core-web-vitals): The product founder’s guide to LCP, CLS and INP: what Google measures, why phones decide the pass, common causes, and how to test and fix.

Want a second set of eyes on your landing page SEO, from the query to the title and proof blocks? Get a free Porteur check in about thirty seconds. Free check: https://porteur.ai/
