SaaS SEO Checklist: Find What’s Costing You Signups + Free Audit Template
SaaS SEO19 min read

SaaS SEO Checklist: Find What’s Costing You Signups + Free Audit Template

Published October 14, 2026

Nathan Ojaokomo
Nathan Ojaokomo
Content Writer + Strategist for B2B SaaS Companies

TL;DR

  • Audit in order: tracking, indexing, and money pages before the blog, because a page Google can’t index or a signup you can’t track makes every other fix a guess.
  • Five of the ten indexing checks failed on my own site in September and October 2026, including duplicate www pages and old CMS sitemaps still submitted in Search Console.
  • Copy the free Google Sheet, mark each of the 43 checks Pass, Fail, or N/A, and the Fix list tab ranks your failures by impact, then by effort.

If organic traffic isn’t turning into signups, the cause is often something you can check in an afternoon: tracking that can’t see the signups, a pricing page Google never indexed, or a blog that ranks for questions your buyers don’t ask. Finding those before you pay for another 20 posts costs a lot less than finding them after.

I’m a B2B SaaS writer and strategist. I’ve written SEO content for Softr, HubSpot, Zapier, and Taboola, and I run this audit on my own site, which is where many of the examples below come from. In September and October 2026, it caught Google indexing two copies of my site and still reading sitemaps from a CMS address that visitors never see.

This SaaS SEO checklist has 43 pass/fail checks in eight groups, ordered by how directly each one affects signups. Each check says where to look and what a pass looks like. Copy the free Google Sheet version, mark each check, and it turns your failures into a fix list sorted by impact.

The Audit tab of the SaaS SEO audit checklist Google Sheet, listing each check with its area, how to check it, what a pass looks like, impact, effort, and a Status dropdown
Screenshot of my free SaaS SEO audit Sheet: mark each check, and the Fix list tab sorts your failures by impact

How to run this SaaS SEO audit

Work through the groups in order, because each one depends on the one before it. Tracking comes first so you can tell whether your fixes worked. Indexing comes next, since a page Google can’t find won’t rank however good it is, and the pages closest to a purchase come before the blog.

You need four things before you start:

  • owner or full-user access to Google Search Console;
  • access to GA4 and your CRM;
  • Screaming Frog’s SEO Spider, which is free for up to 500 URLs;
  • Ahrefs or Semrush for the link checks, if you have one (you can skip those checks without it).

Mark each check Pass, Fail, or N/A in the Sheet. For a site with a few hundred pages, the first pass fits in an afternoon, because the crawl and the Search Console reports do most of the finding. The fixing takes longer, which is why the Sheet ranks it for you.

1. Tracking: can you connect organic search to signups?

If you can’t see which pages produce signups, every fix below is a guess, and you can’t show leadership what changed after you made it. These five checks take the least time in the whole audit and decide whether the rest can be measured.

Search Console uses a Domain property. A URL-prefix property only reports on the exact address you registered, so it hides traffic going to www, http, or a subdomain. A Domain property covers all of them. Mine is how I spotted Google sending impressions to the www copy of my site, which a URL-prefix property for the main address would have missed.

Signups and demo requests are GA4 key events. Google renamed conversions to key events in 2024, so look under Admin > Data display > Key events. Each signup or demo request should fire once, and the monthly count should land within about 10% of what your product database or CRM shows. If the gap is wider, check whether the event fires on a page load that can repeat, such as a thank-you page.

You can see signups by organic landing page. In GA4, open the Landing page report, filter the session default channel group to Organic Search, and add your key events as a column. If you can name the five organic pages that brought the most signups last quarter, this check passes.

Your CRM records the original source of each lead. Open five recent deals and look at the original source field. Organic search should show up as its own source. When it’s lumped in with direct traffic, sales never credits a deal to search, and SEO gets no credit when budgets are set.

Branded and non-branded clicks are reported separately. Clicks from people searching your company name come from brand awareness, not from SEO work. In Search Console’s Performance report, add a query filter with a custom regex that excludes your brand name and its common misspellings. Non-branded clicks are the number that shows whether SEO is growing.

2. Indexing: is Google seeing the right version of your site?

Indexing problems are easy to miss, because the site looks fine in a browser. Google might be splitting signals between duplicate copies of your pages, indexing your app or CMS, or skipping the pages you most want found. Five of the ten checks in this group failed on my own site in September and October 2026.

One host serves the whole site. Load the http, http://www, and https://www versions of your homepage and one blog post. Each should redirect in one hop to the same https address. Until September 2026, the www version of my site served full copies of every page instead of redirecting. Google indexed both, and the www copy of one post alone collected 642 impressions over three months that belonged to the real URL.

Each page has one URL. Try one of your URLs with uppercase letters, a trailing slash, a doubled hyphen, and a tracking parameter. Each version should redirect to the real URL or carry a canonical tag that points to it. My headless WordPress setup was serving pages for slugs with uppercase letters and doubled hyphens, each with a canonical tag pointing at itself, so Google saw them as separate pages. They now redirect.

App, staging, docs, and CMS subdomains stay out of Google. Search Google for site:app.yourdomain.com, then do the same for staging and any CMS or docs subdomain. Login pages, dashboards, and staging copies shouldn’t appear. In a Domain property, you can also filter the Performance report’s Pages tab by hostname. My CMS URLs started picking up impressions in early October 2026, even though they redirect to the main site.

Only current sitemaps are submitted. Open Indexing > Sitemaps in Search Console and read the whole list, not only the sitemap you submitted last. Mine still listed sitemaps from my CMS address, the www version of the domain, and an old post sitemap that no longer loaded, which likely explains why those CMS URLs got crawled at all.

Google Search Console Sitemaps report for nathanojaokomo.com listing five submitted sitemaps, including two from the cms subdomain, one from the www host, and an old post sitemap with a Couldn’t fetch status
Screenshot from my Google Search Console: the Sitemaps report still lists sitemaps from my CMS and www addresses

Pricing, product, and demo pages are indexed. Paste each money page into the URL Inspection bar at the top of Search Console. Each should say “URL is on Google.” It takes five minutes, and a pricing page missing from Google loses searches from people who are ready to buy.

Google can see the content of JavaScript-built pages. If your marketing site runs on a JavaScript framework, Google might be seeing an empty shell. In URL Inspection, click Test live URL, then View tested page, and check that your copy and links appear in the HTML and screenshot tabs.

Google Search Console URL Inspection live test for a blog post on nathanojaokomo.com, showing “URL is available to Google”, “Page can be indexed”, and an HTTP 200 response
Screenshot from my Google Search Console: a live test of one of my posts

Important pages aren’t stuck as “not indexed.” Under Indexing > Pages, Google lists the reasons it left pages out of its index. Open “Crawled – currently not indexed,” which means Google saw the page and chose not to index it, and “Duplicate, Google chose different canonical than user,” which means Google picked a different URL than the one your canonical tag names. If a pricing, product, or comparison page shows up in either list, put it at the top of your fix list, because it can’t rank until Google indexes it.

404 pages that other sites link to redirect. The Not found (404) list in the same report shows URLs Google tried and couldn’t load. Check each one’s backlinks in Ahrefs or Semrush, and redirect any with links or past traffic to the closest live page. Search Console listed 18 such URLs on my site. No internal links pointed to any of them, so the links came from other sites, and each now redirects.

Internal links point to final URLs. Crawl the site with Screaming Frog and open Response Codes > Redirection (3xx). Links that go through a redirect still work, but each one adds a hop for every crawl and breaks if someone deletes the redirect later. After merging pages in September, I repointed the links in 24 posts so they go straight to the final URLs.

robots.txt doesn’t block pages you want found. Open yourdomain.com/robots.txt and the robots.txt report in Search Console’s settings. Only admin, app, cart, or internal search paths should be disallowed. A leftover rule from a staging launch can block a whole folder.

3. Money pages: do the pages closest to a purchase exist and rank?

Pricing, product, use-case, comparison, and integration pages are where a searcher becomes a trial or a demo. A gap here costs signups directly, so build these pages in order of buying intent and use the checks below to see whether they exist and work.

The pricing page answers “how much.” Buyers search “[your product] pricing” before they book a demo. If the page shows prices, it passes. If you sell by quote, it passes when it explains what drives the price and how to get a number. A page with only “Contact us” sends that searcher to a review site or a competitor’s page that answers the question.

Each main use case has its own page. List the jobs buyers hire your product for, in their words rather than your feature names. Each job needs a page whose title and H1 use the buyer’s phrase. A project management tool might need “client onboarding software” and “agency project management” pages, not one “Features” page.

Comparison and alternatives pages exist for the competitors buyers name. Ask sales which competitors come up in deals, then check for “[competitor] alternative” and “[you] vs [competitor]” pages. These searchers are close to deciding, so writing SaaS comparison pages for your top three competitors is often worth doing before more blog posts.

Integration pages say something specific. Open three integration pages side by side. If they read the same apart from a swapped logo and name, Google tends to treat them as thin, and hundreds of them can drag down how it rates the whole site. Each page should say what the integration does and why a buyer would set it up.

Money pages rank for the queries they target. In Search Console, filter the Performance report to one money page and open the Queries tab. Each money page should rank in the top 10 for its main query.

Every money page has one clear next step. Open each money page on your phone. The trial, demo, or contact action should be visible without scrolling and go to a form that works. Submit a test entry, because a site update can break a form without anyone noticing.

On-page fixes are the quickest wins in the audit, because they work on rankings you already have. Nearly all of these checks come from one Screaming Frog crawl and one sorted Search Console report.

Titles fit in search results. Google cuts titles by pixel width, not by character count, at roughly 600 pixels. In Screaming Frog, open Page Titles > Over X Pixels. Each title should be unique, fit the width, and put the main keyword near the front. Two of my alternatives posts were about to go live with no SEO title set, so their H1s, about 650 pixels each, would have become the search titles and been cut off.

Pages with impressions but few clicks get new titles. In Search Console, sort the Pages tab by impressions and show CTR. A page with thousands of impressions and a CTR under 1% usually has a title that doesn’t match what people searched. My local SEO tools roundup was getting 21,000 impressions a quarter for “local seo software” with zero clicks, and the title didn’t include the word “software.” Fixing that took one line.

Meta descriptions are written, not left to chance. Google often rewrites them, but it uses yours when it matches the query. Screaming Frog’s Meta Description tab shows missing and duplicate ones. Give money pages and top posts a unique description under about 160 characters.

Each page has one H1 that says what the page is. Screaming Frog’s H1 tab flags pages with none, duplicates, or several. Templates are the usual cause, such as a logo wrapped in an H1 on every page.

Money pages get internal links from related posts. Select a money page in Screaming Frog and open the Inlinks tab. Each money page should have links from at least three relevant posts, with anchor text that describes the page.

No important page is an orphan. An orphan page has no internal links pointing to it, so Google finds it only through the sitemap and treats it as unimportant. Connect your sitemap in Screaming Frog’s crawl settings, then run Crawl Analysis to list orphans.

Structured data is valid. Run your homepage, one blog post, and one product page through Google’s Rich Results Test. Organization and Article markup should validate without errors. Software app rich results require a price and a rating or review, so add that markup only when you can supply both. FAQ markup no longer earns rich results for most sites, after Google limited them to well-known government and health sites in 2023.

Images have alt text and load fast. Screaming Frog’s Images tab lists images missing alt text and those over 100 KB. Product screenshots exported as large PNGs are the usual culprits, and converting them to WebP at about 1,400 pixels wide fixes most of them.

5. Content: is the blog bringing buyers or just traffic?

A blog can grow traffic for a year without producing a signup, if every post answers a question buyers ask long before they’re shopping. These checks show whether your posts compete with each other, which ones are slipping, and whether any of them point readers toward the product.

Two pages don’t compete for one query. In Search Console, click one of your main queries and open the Pages tab. If two or three of your pages share the clicks, Google can’t tell which one to rank, and often ranks neither well. Pick the stronger page, merge the other into it, and redirect.

Thin and overlapping posts are merged. Sort pages by clicks over the last 12 months and list the ones with almost none. Group them by topic. In September 2026, I folded 11 thin hub pages into their parent pages and merged four overlapping posts into two guides, with redirects from every old URL.

Decaying pages are flagged. In Search Console’s Performance report, compare the last three months with the previous three, then sort the Pages tab by click difference. The biggest losses go on a refresh list with dates. Catching content decay early in Search Console costs far less than rebuilding a page after it has slipped to page two.

Google Search Console Performance report comparing the last three months with the previous three months, with the Pages tab sorted by click difference so the pages losing the most clicks appear first
Screenshot from my Google Search Console: comparing two periods and sorting by click difference puts the pages losing clicks at the top

Each post has a job. Add a column to your content list for the reader’s stage: learning about the problem, comparing options, or ready to buy. If every row says learning, the blog is built for traffic, and the next posts should target buyers comparing options.

Posts that get traffic point readers somewhere useful. Open your 10 highest-traffic posts and look for a call to action related to the topic. A post about onboarding emails should link to the onboarding feature or a template, not a generic “Book a demo” banner.

Links still help pages rank, and mentions on the right sites help buyers find you before they ever search your name. These checks need Ahrefs or Semrush for the first item and nothing but Google for the rest.

Your referring domains hold up against competitors. Compare your number of referring domains with your top three competitors. A big gap explains why a well-written page sits on page two, and it tells you whether link building belongs in the plan at all.

You appear in the roundups buyers read. Google “best [your category] software” and “[top competitor] alternatives,” and check the top 10 results. Every roundup that ranks and leaves you out sends buyers to your competitors. One listing in a roundup I wrote led to a $36K ARR deal within two weeks for the agency I featured, so pitch the ones where you’re missing.

Review-site profiles are current. Open your G2 and Capterra profiles. The screenshots, pricing, and categories should match the product today, and recent reviews should exist. Buyers read these pages while comparing vendors, so outdated pricing or screenshots cost you there.

7. AI search: can AI tools find and recommend you?

More buyers now ask ChatGPT or Perplexity for a shortlist before they visit a vendor’s site. These checks cover whether AI tools can reach your pages and whether they mention you, which Search Console doesn’t report.

AI crawlers can reach the site. Open your robots.txt and look for the names OpenAI, Anthropic, and Perplexity give their crawlers, such as OAI-SearchBot and GPTBot. OpenAI, Anthropic, and Perplexity each document theirs. Check your firewall too: Cloudflare changed its default to block AI crawlers in July 2025, so a site behind Cloudflare can block them without anyone editing robots.txt.

Your brand comes up when buyers ask AI tools. Write 10 prompts the way a buyer would, such as “best [category] software for [use case],” and run them in ChatGPT, Perplexity, and Google AI Mode. Note which prompts mention you and which sources the answers cite, because those sources are where you need to appear. Run the same prompts every month, so you can tell whether your work to show up in ChatGPT is changing the answers.

Key pages answer the question in their first lines. Read the first two sentences of each money page and top post. They should say what the product or page does in plain words. AI tools quote passages that make sense on their own, and a warm-up paragraph gives them nothing to quote.

AI referrals are tracked. In GA4’s Traffic acquisition report, filter the session source for chatgpt.com, perplexity.ai, and claude.ai. The numbers are usually small, but they show which pages AI tools send people to, and whether those people sign up.

8. Speed: do pages load fast for real visitors?

Google treats page experience as one ranking signal among many, but a slow pricing page loses buyers whatever its rank. Check the field data, which comes from real Chrome users, rather than a single lab test.

Core Web Vitals pass on real visits. Open Search Console’s Core Web Vitals report, or the field data at the top of PageSpeed Insights. Google’s thresholds for a good result are LCP of 2.5 seconds or less, INP of 200 milliseconds or less, and CLS of 0.1 or less, measured at the 75th percentile of visits. INP replaced FID in 2024, so a checklist that still mentions FID is out of date.

Mobile pages show the same content as desktop. Google indexes the mobile version of your pages. Open your money pages on a phone and compare them with desktop. Tabs and accordions are fine, but copy, links, and structured data that exist only on desktop don’t count.

What to fix first

Fix anything that stops Google from indexing your money pages first, then tracking, then duplicate hosts and leaking subdomains. After that come missing money pages, then titles on pages with impressions and no clicks, then content, and links last. Within each step, take the quick fixes before the large ones.

The Sheet’s Fix list tab does this sorting for you. It lists every failed check by impact, then by effort, so the top of the list is the high-impact work you can finish this week. Fix a batch, request indexing for the pages you changed, and recheck those items in four weeks.

How often to run a SaaS SEO audit

Run a short pass every quarter on the tracking, indexing, and decay checks, which catch the problems that appear without anyone touching the site. Run the full checklist once a year, and right after a traffic drop you can’t explain.

A redesign, a CMS change, or a domain move calls for a full run too, before launch and again the week after. Those projects are when duplicate hosts, lost redirects, and noindexed pages appear. A migration needs its own redirect map, and for a large site, someone who has moved one before.

When to get help with a SaaS SEO audit

You can run every check in this list yourself. Help is worth paying for when the failures need developer time you can’t get, when you’re planning a migration, or when the fix list is long and you can’t tell which items will move signups.

If most of your failures are titles, internal links, and thin or overlapping pages, my on-page SEO services cover those fixes. If you’ve run the checklist and aren’t sure which fixes will move signups, book a call with me. I’m a B2B SaaS writer and strategist, and on the call, we’ll go through your failed checks and decide what to fix first.

Frequently asked questions about SaaS SEO audits

What is a SaaS SEO audit?

A SaaS SEO audit is a review of whether a software company’s site can be found, indexed, and chosen in search. It covers tracking, indexing, pricing and product pages, on-page elements, content, links, AI search visibility, and speed. A useful audit ends with a ranked list of fixes, not a report of every warning a tool can find.

How long does a SaaS SEO audit take?

The checks in this list take about an afternoon for a site with a few hundred pages, using Search Console, GA4, and the free version of Screaming Frog. Fixing what fails takes longer, from an hour for a title rewrite to several weeks for new comparison pages or a site-wide redirect cleanup.

What tools do you need for a SaaS SEO audit?

You need Google Search Console, GA4, and a crawler such as Screaming Frog, which is free for up to 500 URLs. Ahrefs or Semrush adds backlink and competitor data, and a dedicated content audit tool helps when you have hundreds of posts to sort.

Nathan Ojaokomo

Nathan Ojaokomo

B2B SaaS Writer and Strategist · Bottom-Funnel Content

Nathan Ojaokomo is a B2B SaaS writer and strategist who specializes in bottom-funnel content. He helps Series A+ companies target commercial keywords and create content that ranks on Google, earns AI citations, and drives pipeline from organic search.

Related Articles