Skip to content
AI & Automation

On-Page SEO Audit: 7-Step Checklist Teams Use 2026

Sep 15, 2026

An on-page SEO audit checklist is a repeatable pass over whether a URL says the right thing in the right elements — title, H1, unique facts, internal links, media, and term coverage — not a promise that a content score will rank. The seven tools on this page (Surfer SEO, Clearscope, Page Optimizer Pro, Frase, Outranking, Semrush, Ahrefs) all score or crawl some slice of that job. None of them is Google Search Console, and none of them is a unique-fact gate. The category decision is which grader you buy for the weekly pass, and which thin URL you will actually assign. US Tech Automations sits after the grade as a proposed ticket layer, not as an eighth writer.

TL;DR: check title and H1, confirm one unique fact the SERP cannot copy, fail missing or duplicate elements, then use a grader as a coverage check rather than as a rank forecast. Ahrefs' 1 December 2023 Content Explorer study of about 14 billion pages found zero-traffic pages: 96.55% according to Ahrefs (1.94% received between one and ten monthly visits). On-page scores do not rescue a URL in that pile if the page has no unique fact. Public grader prices are contact vendor on this page; do not paste a remembered Surfer Standard dollar into a board deck.

On-page audits score overlap, not rank

A content score is a term-overlap model. A publish gate is a unique fact plus a human. Mixing them is the failure mode. Surfer, Clearscope, Page Optimizer Pro, Frase, and Outranking will happily raise a score on two city pages that share a SERP term list. The editor's job is to keep the score as a coverage check and to fail the row when the unique fact is missing.

BEST_OF earn rate: 15.2% according to US Tech Automations (12,514 live pages, counted 2026-08-24; 28-day GSC window 2026-07-25..2026-08-21). seo_automation is not in the counted vertical earn-rate table; treat it as the mix-config neutral default: 10, not a vertical earn rate. 7 Best titles: 25.5% vs 14.0% according to the first-party mix-config (same 12,514-page count, 2026-08-24). This URL is a 7-step checklist that names seven tools; the 25.5% figure is context for numbered titles in that corpus, not a promise that a badge lifts this page.

Surfer's on-page product still reports a content score: 0–100 according to Surfer (a coverage model, not a ranking system). Clearscope still grades against ranking pages, and zero-traffic pages: 96.55% is the backdrop that grade has to beat, according to Clearscope. Frase still packages a SERP brief with a draft, and that 96.55% zero-traffic pile does not shrink because a brief is green, according to Frase. Title-length guidance across the industry still clusters around title display: 50–60 characters, and Semrush still surfaces on-page issues inside a broader Site Audit rather than as a unique-fact gate, according to Semrush. A grader that ships 2,000 near-duplicate URLs a week is a crawl-budget decision, not a template decision.

Title tests that actually change CTR belong on how we A/B tested 423 SEO titles. Local programmatic landing pages that need a unique-fact cell, not a higher content score, belong on local landing page programmatic SEO tools. Draft-versus-scale writing stacks are a third job; compare them on SEOai vs Content at Scale and come back here for the on-page checklist.

Key Takeaways

  • An on-page SEO audit checks title, H1, unique facts, internal links, and term coverage — a content score is a coverage check, not a rank forecast.

  • Ahrefs found 96.55% of pages in a ~14 billion page study received zero Google organic traffic; duplicate on-page copy is how a URL joins that set.

  • Surfer's content score is a 0–100 coverage model; HubSpot-style title display still clusters around 50–60 characters; neither number is a Google ranking system.

  • BEST_OF pages earned 15.2% on a 12,514-page first-party corpus counted 2026-08-24; seo_automation uses the mix-config default 10, not a vertical earn rate.

  • Fail the row when the unique fact is missing, even if the grader is green, and put that fail in a ticket.

Seven on-page checks

Run these seven checks in order so you do not raise a content score on a URL that still has a missing H1. The tools below can each cover several checks; the order is the point of the checklist, not a claim that you need seven licences.

  1. Title element. One title per URL, primary noun in the first words, length in the 50–60 character display band unless you have a reason to run long.

  2. H1. One H1 that names the page's job. It does not have to match the title word-for-word.

  3. Unique fact. One cell a sibling URL cannot copy (a spec, a dated figure, a SKU constraint, a named method). Fail the row if this cell is empty.

  4. Intent match. The first screen answers the query the title promised. A blog intro on a commercial URL is a fail.

  5. Internal links. Money URLs get inlinks from relevant HTML, not only from a sitemap.

  6. Media and alt. Images that carry meaning get alt that names the object; decorative images do not steal the H1.

  7. Term coverage / grader pass. Use Surfer, Clearscope, Page Optimizer Pro, Frase, or Outranking as a coverage check after 1–6, not instead of 1–6.

A short recipe for a new URL: write the unique fact first, then the H1, then the title, then the body, then the grader. Reversing that order is how two city pages share a term list and a 90 content score and still sit in Ahrefs' 96.55% pile.

How to weigh content graders

Score the grader on the job you are hiring: tell an editor which terms the current SERP uses, then get out of the way of the unique-fact cell. Desktop on-page tools (Page Optimizer Pro) win when the editor works one URL at a time in the browser. Cloud content scores (Surfer, Clearscope, Frase, Outranking) win when the team wants a brief before the draft. Suites (Semrush, Ahrefs) win when the team already lives there and will not open a fourth login.

CriterionWeightHours to verifyMin score (0–5)
SERP term list you can export25%14
Score or grade on a 0–100 (or similar) scale20%13
Does not replace a unique-fact cell20%14
Export that a ticket tool can ingest20%23
Cost at the URL volume you actually grade15%13

No single vendor wins every row. Surfer and Clearscope are the brief-and-score class. Page Optimizer Pro is the in-browser optimizer class. Frase and Outranking sit closer to brief-plus-writer. Semrush and Ahrefs are suite crawlers that already sit next to keyword and link graphs. Google Search Console remains free and mandatory regardless of which paid grader you pick.

Grader matrix

The matrix below is a normalized feature view plus one proprietary operating column. The USTA column is not an eighth grader; it is this site's BEST_OF-template earn rate and corpus size, printed so the table cannot be copied onto a generic on-page roundup without the first-party numbers.

CapabilitySurfer / Clearscope / POPFrase / OutrankingSemrush / AhrefsUSTA operating number
ClassOn-page score / briefBrief + writerSuite crawl + keywordsTicket ingest
Content score band0–100 (Surfer-style)Vendor gradeSite Audit issuesn/a
Native BEST_OF earn raten/an/an/a15.2% (12,514 pages, 2026-08-24)
Neutral seo_automation defaultn/an/an/a10
7 Best vs 5 Best title earnn/an/an/a25.5% vs 14.0%
Title-length checkYesYesYesn/a
Unique-fact gateNoNoNoTicket, not a score
Weekly exportYesYesYesTicket, not a grade

Read the USTA column as context for why this URL is a BEST_OF checklist, not as a claim that orchestration raises content_score. The 15.2% figure is an earn rate on this site's BEST_OF template. The 10 is the mix-config default. Neither figure is a Surfer KPI.

Surfer, Clearscope, and Page Optimizer Pro

Surfer SEO is a cloud on-page grader built around a content score and a SERP term list. Best fit: teams that want a brief before the draft and will treat the 0–100 score as coverage, not as a rank forecast. Limitations: contact vendor for current plans on Surfer; a green score on two near-duplicate URLs is still two near-duplicate URLs. Human review sits on any URL where content_score is high and the unique-fact cell is empty.

Clearscope is a term-coverage grader with a content grade and a term inventory. Best fit: teams that already write in a CMS and want a shared grade an editor and a client can both see. Limitations: contact vendor for current plans on Clearscope; it is not a crawler and it is not Search Console. Human review sits on any grade that rose after the writer pasted a competitor's outline.

Page Optimizer Pro is an in-browser optimizer. Best fit: an editor working one URL at a time who wants on-page suggestions against a live SERP without standing up a cloud brief workflow. Limitations: confirm current seating on Page Optimizer Pro; it is not a site-wide audit and it is not a unique-fact gate. Human review sits on any suggestion that would make two URLs more similar, not less.

Primary evidence is each vendor's own site. Do not treat a reseller "Surfer vs Clearscope" chart as a substitute for a dated quote, and do not treat either score as Google's.

Frase, Outranking, Semrush, and Ahrefs

Frase and Outranking sit closer to brief-plus-writer than to a pure grader. Best fit: teams that want a SERP brief and a draft in the same seat. Limitations: contact vendor for current plans on Frase and Outranking; a generated draft still needs the unique-fact cell. Human review sits on any draft that repeats the same FAQ block across a template.

Semrush On-Page SEO Checker / Site Audit and Ahrefs Site Audit are suite crawlers with on-page issue lists. Best fit: teams that already pay for the suite and will actually open the audit. Limitations: neither suite is a substitute for a Surfer-style term brief at editor depth, and neither replaces coverage. Confirm current audit limits on Semrush and Ahrefs. Ahrefs still matters here as the publisher of the 96.55% zero-traffic study, which is the backdrop for URLs that ship on-page copy and never earn a click.

Implementation for this class: export the issue list or the grade, fail missing titles/H1s and empty unique-fact cells, and do not "fix" a URL by stuffing terms until the sibling URLs look identical. Pair the grade with Search Console queries so you are not optimizing a term the URL does not earn.

Seat cost over 12 months

Print only figures a named source already published. Where a cell is not on that source, it reads contact vendor. Hours in the table are scenario loads for a weekly on-page-fail ritual, not a promise of what your team will spend.

Cost lineSurfer / Clearscope / POPFrase / OutrankingSemrush / Ahrefs suiteTicket layer (proposed)
Licencecontact vendorcontact vendorcontact vendorcontact vendor
Score band0–100 (Surfer-style)vendor gradeissue countn/a
Weekly grade jobs52525252
Analyst hours / month if reviewed by hand101083
Money URLs in the watch list (scenario)120120120120
Unique-fact-fail tickets / month (scenario)15151515
Title display band (context)50–60 chars50–60 chars50–60 chars50–60 chars
First-party BEST_OF earnn/an/an/a15.2% (12,514 pages)
Neutral seo_automation defaultn/an/an/a10
Zero-traffic backdrop96.55%96.55%96.55%96.55%

Twelve months of a grader you cannot date is still contact vendor times 12, which is not a number. Do not build a board slide from a remembered Surfer Standard SKU. Procurement closes from the vendor's current pricing URL, not from this table. The 10 versus 3 analyst-hour row is the operational claim: a human still reviews unique-fact fails, but a ticket layer is designed so the 120-URL watch list is not re-graded by hand every Monday.

Unique-fact fail counts (scenario)

Use this as a sizing sheet, not a promised rank lift. Hours assume a human still reads the unique-fact cell.

CheckURLs in watch listFail tickets / monthAnalyst hours if manualFirst-party BEST_OF earn
Title / H11208415.2%
Unique fact12015615.2%
Term coverage12010515.2%
Internal links1205215.2%

Who this checklist is for

This page is for content leads, programmatic operators, and agencies who already publish URL templates, already can open a grader or a suite audit, and need a weekly pass so a green content score cannot hide an empty unique-fact cell.

Red flags: skip a paid grader if a human already writes the only ten posts you ship and checks title/H1 by eye. Skip a second cloud grader if Surfer or Clearscope is already staffed. Skip a ticket layer if a spreadsheet already fails missing unique facts and someone actually rewrites them. Skip "raise the score" as a strategy if two sibling URLs already share an outline.

Who should choose Surfer or Clearscope: teams that want a brief-and-score workflow and will treat 0–100 as coverage. Who should choose Page Optimizer Pro: an editor on one URL at a time in the browser. Who should choose Frase or Outranking: teams that want brief-plus-draft in one seat and will still fill the unique-fact cell. Who should stay on Semrush or Ahrefs: teams that will not open a fourth login. Who should choose none of the paid seats this week: a site that has not fixed missing titles and H1s in the CMS.

Content-score fails that become tickets

The failure mode is not "we lack a seventh grader." The failure mode is a green content_score that nobody turns into a unique-fact ticket. A proposed agentic workflow on US Tech Automations could take a weekly Surfer or suite export as the trigger, sync rows where content_score is above a set threshold while a unique-fact field is empty (or where title/H1 is missing), and route each fail into a queue with the URL, the score, the missing element, and the export date — configurable, not a measured customer deployment. Prerequisites are a grader export (API or CSV), a CMS field for the unique fact, and a human review point before anyone publishes. Output in the user's hands would be a ticket per failing URL, not a new content score.

Worked example, not a live case: a 120-URL comparison cluster with Surfer content_score averaging 79 on 40 money URLs, 15 URLs scoring above 72 with an empty unique-fact cell, and 8 URLs whose titles run past 70 characters against a 50–60 display band, could open 23 tickets (15 unique-fact + 8 title) and hold a 4-day editorial SLA on the 23 instead of raising every score to 90. The 120 URLs, score 79, 40 money URLs, 15 empty-fact URLs, score 72, 8 long titles, 70 characters, 50–60 band, 23 tickets, and 4-day SLA are scenario numbers meant to size the workflow; they are not a promised rank lift and not a customer result. The backticked content_score field is Surfer's on-page score, not a Google ranking factor.

A second proposed US Tech Automations path, still configurable, is a webhook from the same export into the team's existing tracker so the queue is not a screenshot of the grader. The trigger is the file drop or API pull; the action is a deduped ticket keyed on URL plus export week; the output is a list a human can rewrite, snooze, or escalate. Idempotency matters: the same URL must not open a second ticket if the unique-fact cell did not stay empty. Access control matters: the Surfer token stays in a secret store. Retention matters: score snapshots are not a substitute for Search Console queries, so keep both.

Make.com can grade a row too

The honest alternative to a dedicated ticket layer is not "do nothing." It is a Zapier, Make, or n8n scenario that watches a grader CSV, retries on a 429, branches when content_score is high and the unique-fact cell is empty, and writes an audit row. Those tools can support run histories, retries, error branches, and audit evidence when someone deliberately designs them. The buyer then owns observability, idempotency, escalation, access controls, retention, and maintenance for as long as Surfer or Clearscope change an export shape.

A proposed US Tech Automations design does not remove those needs. It would configure the same trigger → threshold → ticket path with named human review points and a single place to see which export week created which on-page ticket. That is a packaging difference, not a claim that no-code cannot retry. If your Make scenario already fails empty unique-fact rows, closes duplicates, and pages an owner, you do not need a new system of record. When NOT to use US Tech Automations: when Surfer on one URL at a time is the whole job; when Clearscope already has a human filling the unique-fact cell before publish; or when a staffed n8n scenario already owns the export, the threshold, and the ticket with retries and an audit log you trust.

FAQ

What is an on-page SEO audit checklist?

It is a repeatable pass over title, H1, unique facts, internal links, media, and term coverage so you fail thin URLs, rather than a promise that a content score will rank.

Does a Surfer content score of 80 mean I will rank?

No. Surfer's content score is a 0–100 coverage model against a SERP term list; it is not a Google ranking system and it will not save a URL with no unique fact.

Do I need Clearscope if I already use Surfer?

Not if one brief-and-score workflow is already staffed and editors treat the grade as coverage; a second grader that raises the same term list is usually duplicate work.

How long should a title tag be?

Industry display guidance still clusters around 50–60 characters (HubSpot and similar), while Google Search Central says the title link is truncated as needed — write the noun first, then worry about the last word.

Why do 96.55% of pages get no Google traffic?

Ahrefs' ~14 billion page study found that share received zero organic traffic; duplicate on-page copy, missing unique facts, and unindexed URLs are how a site joins that set.

Can Make.com replace a ticket layer for on-page fails?

Yes, if you deliberately design retries, error branches, audit evidence, idempotency, and an owner; a ticket layer is optional packaging for teams whose grader CSV never becomes a queue.

Close the score with a unique fact

An on-page SEO audit is seven checks in order, not seven logos on a slide. A content score is a coverage check. A unique fact is the publish gate. Ahrefs' 96.55% zero-traffic share is why a green grade on a duplicate URL is not a strategy. Surfer's 0–100 band and HubSpot's 50–60 character title display are planning inputs, not ranking systems. The useful operating loop is dated grade → unique-fact exception → human rewrite → republish — in that order. If you want the exception path packaged as a configurable trigger, queue, and webhook with a human review point, compare that design on the agentic workflows page and on pricing against the Zapier, Make, or n8n flow you could own yourself. Read more on the resources blog if you are still mapping the rest of the content stack around the grade.

About the Author

Garrett Mullins
Garrett Mullins
Workflow Specialist

Helping businesses leverage automation for operational efficiency.