On-page SEO checklist showing 14 ranking factors for a single page
SEO

On-Page SEO Audit Checklist — 14 Checks That Actually Move Rankings

Sunny Pal Singh · · 7 min read

Most on-page SEO guides list 50 factors. In practice, 14 of them account for nearly all the ranking impact on a typical page. This checklist covers exactly those 14 — the ones you can audit in under five minutes and that your SEO Analyzer flags when they're missing or broken.

Google uses over 200 signals to rank a page. But if you look at the signals that are both controllable on-page and consistently correlated with ranking movement, the list narrows to about 14. The rest are either off-page (links, authority), infrastructure (speed, Core Web Vitals), or signals so low-weight that they effectively don't move rankings on their own.

This checklist covers the 14 that actually matter — and for each one, exactly what "passing" looks like versus what will get flagged in an SEO audit.

Key Takeaways

  • 14 on-page checks account for the vast majority of controllable ranking impact
  • Three are ERRORS (each one can cause a page to fail to rank): missing title, missing H1, missing canonical
  • Six are WARNINGS (each one reduces ranking potential): duplicate title, duplicate description, short/long title, missing OG image, heading skip, missing JSON-LD
  • Fixing errors before warnings — a missing canonical is worth more than a slightly long meta description
  • The same 14 checks can be run automatically across your entire site with the SEO Analyzer

The 14-Check On-Page SEO Audit

1. Title Tag — Present, Keyword-First, Right Length

The title tag is the single highest-impact on-page element. It appears in the SERP as the clickable headline, and Google reads it to understand the primary topic of the page.

What to check:

  • Present: Every page must have exactly one <title> tag. A missing title is an ERROR that guarantees Google will substitute its own (usually worse) title in the SERP.
  • 30–60 characters: Shorter than 30 chars is too thin to signal topic clearly. Longer than 60 chars gets truncated in the SERP.
  • Keyword-first: The primary keyword should appear at or near the start of the title, not the end. "Free Link Checker — Find Broken Links" outperforms "Find Broken Links with Our Free Link Checker" for the keyword "free link checker".
  • No duplicates: Two pages with the same title confuse Google about which to rank for shared queries. Duplicate titles are flagged separately from missing titles.

2. Meta Description — Present, 120–160 Chars, Relevant

The meta description doesn't directly affect rankings, but it drives click-through rate — which does. A well-written description with a clear value proposition and the target keyword gets more clicks, which is a behavioral signal Google uses.

What to check:

  • Present: a missing description means Google pulls arbitrary snippet text from the page body
  • 120–160 characters: shorter descriptions look thin; longer descriptions get truncated
  • No duplicates: like titles, duplicate descriptions signal content at scale

3. H1 Tag — Exactly One, Keyword-First

The H1 is the on-page headline. Google uses it to confirm what the page is about (distinct from the title, which is the SERP headline). A page with no H1 forces Google to infer topic from body text alone. A page with multiple H1s sends contradictory signals.

What to check:

  • Exactly one H1 per page — not zero, not two
  • Keyword-first: same principle as the title — the primary keyword should lead the H1
  • H1 should complement the title, not duplicate it word-for-word (minor variation is fine and natural)

4. Heading Hierarchy — No Skips

Skipping heading levels (h1 → h3, or h2 → h4) creates an accessibility issue and a structure signal problem. Google's parser and screen readers both use heading hierarchy to understand content structure. A skip forces them to infer the missing level, which adds ambiguity.

The correct pattern is h1 → h2 → h3 only. If you need a sub-sub-heading, it should be an h3 under an h2 — not an h4 that skips a level.

5. Canonical Tag — Present, Self-Referential, Correct Domain

Every page should declare its own URL as the canonical. Without a canonical, URL variants (HTTP/HTTPS, www/non-www, trailing slash) may be indexed as separate pages, splitting ranking signals. For a deep dive, see our canonical tag explainer.

What to check:

  • Present: no canonical is a WARNING — Google will usually figure it out but shouldn't have to
  • Pointing to the correct domain: a canonical to http:// on an https:// site, or to an old domain, is an ERROR
  • Matching your sitemap: if the canonical says /page/ and your sitemap says /page, fix the inconsistency

6. Open Graph Tags — og:title, og:description, og:image

Open Graph tags control how your page appears when shared on social media and in link previews (Slack, iMessage, WhatsApp). A missing og:image means your links share as plain text — far lower click-through rate than a branded image preview.

What to check:

  • og:title — can match your title tag; ensures the social preview headline is controlled
  • og:description — can match meta description; controls the social preview body text
  • og:image — this is the most important of the three; use a 1200×630px image for best display across platforms
  • og:url — should match your canonical URL exactly

7. Twitter Card

Twitter (now X) uses its own meta tags rather than Open Graph. twitter:card controls whether your link appears as a small card or a large image preview. Without it, Twitter falls back to a minimal text-only display.

The minimum viable set: twitter:card, twitter:title, twitter:description. Add twitter:image to override the OG image for Twitter specifically.

8. JSON-LD Structured Data

Structured data tells Google explicitly what type of content a page is — an article, a product, a FAQ, a how-to guide. Google uses this to decide whether to show rich results (star ratings, FAQs, breadcrumbs in the SERP). A page without JSON-LD is leaving rich result eligibility on the table.

What to check:

  • At least one structured data block — ideally WebPage plus a type-specific block (BlogPosting, Product, FAQPage)
  • Required properties for each type: Article requires headline, datePublished, author; Product requires name, offers
  • No validation errors — use the Schema Markup Tester to check required vs recommended properties

9. Image Alt Text

Every content image should have descriptive alt text. This serves two purposes: accessibility (screen readers read it aloud) and SEO (Google indexes alt text as a signal for image search and page topic relevance). A page with images and no alt text gets flagged for accessibility and has lower image search presence.

Decorative images (purely visual, no informational content) should have an empty alt attribute (alt=""), not no alt attribute at all. An empty alt tells screen readers to skip the image; a missing alt causes them to read the filename.

10. Noindex Check

A page with <meta name="robots" content="noindex"> or an X-Robots-Tag: noindex response header is explicitly excluded from Google's index. Most pages should not have this tag. It's correct on login pages, account pages, and internal search results — but if it appears on a page you expect to rank, it's a critical error that explains why the page isn't appearing in search.

Noindex is a WARNING in automated audits (not an error), because it's intentional on some pages. But any page showing up in an SEO audit as noindex should be confirmed as deliberate.

11. Viewport Meta Tag

The viewport meta tag tells browsers how to render the page on mobile devices. Without it, mobile browsers render the page at desktop width and scale it down — causing text to appear tiny, touch targets to be inaccessible, and Google's mobile-first indexer to classify the page as not mobile-friendly.

The correct tag: <meta name="viewport" content="width=device-width, initial-scale=1.0">. Any deviation from this (especially user-scalable=no or maximum-scale=1) will also fail mobile accessibility checks.

12. Internal Linking

Internal links pass PageRank between pages and help Google discover content. A page with no internal links pointing to it is an orphan page — Google may never find it through crawling. A page with no internal links from it misses the opportunity to distribute authority to related pages.

Audit checks: any important page with zero inbound internal links should be linked from at least one relevant parent page. Use descriptive anchor text that includes the target page's keyword — not "click here" or "read more".

13. Page Speed and TTFB

Core Web Vitals are a confirmed ranking factor. Of the on-page elements that affect CWV, the most actionable single check is TTFB (Time to First Byte) — the time before your server starts sending the page. A TTFB above 600ms is a red flag. Above 1800ms is a scoring failure.

Additional checks: render-blocking scripts in the <head>, images without width/height dimensions (causes Cumulative Layout Shift), and below-fold images without loading="lazy". The Page Speed Inspector surfaces all of these with specific file-level detail.

14. Duplicate Content Detection

Two pages on the same site with the same title or the same meta description signal duplicate content. Google will either merge their rankings onto whichever it deems more authoritative, or both may underperform because the signals are diluted. Duplicate detection is distinct from missing content — it requires comparing across pages, not just checking each one in isolation.

Common causes: product variants with slightly different URLs but identical descriptions, category pages with pagination that share the parent category's title, and auto-generated location pages with templated content.

Automate all 14 checks in one pass. The On-Page SEO Checker runs all 14 checks on any URL in under 60 seconds — errors in red, warnings in amber, passes in green. For a full site audit across all pages, the SEO Analyzer crawls every internal page and scores each one.

Priority Order: Which Checks to Fix First

Check What it affects Severity Fix first?
Missing title Google substitutes its own; SERP headline uncontrolled ERROR (−15 pts) Yes — highest priority
Missing H1 Google infers topic from body; no primary heading signal ERROR (−15 pts) Yes
Multiple H1s Contradictory heading signals ERROR (−15 pts) Yes
Missing canonical URL variants compete; PageRank splits ERROR (−15 pts) Yes
Canonical mismatch Google told to index wrong URL ERROR (−15 pts) Yes — fix immediately
Duplicate title Both pages may rank lower than either would alone WARNING (−5 pts) After errors
Title too short/long Truncation in SERP; thin topic signal WARNING (−5 pts) After errors
Missing/short/long description Reduced CTR; Google substitutes arbitrary text WARNING (−5 pts) After errors
Missing OG image Social shares appear as text-only links WARNING (−5 pts) After errors
Heading hierarchy skip Content structure ambiguity; accessibility fail WARNING (−5 pts) After errors
Missing JSON-LD No rich result eligibility WARNING (−5 pts) After errors
Noindex detected Page excluded from index — intentional or not? WARNING (−5 pts) Verify intent
Missing OG description/URL Social previews less precise INFO (−2 pts) After warnings
Missing Twitter card Twitter previews fall back to minimal display INFO (−2 pts) After warnings
Missing viewport Mobile rendering broken INFO (−2 pts) After warnings

How to Run This Checklist Without Doing It Manually

Running 14 checks manually on a single page takes 5–10 minutes. Running it on a 200-page site takes a day. The better approach is automated detection, then human review of what the audit surfaces.

For single-page audits, the On-Page SEO Checker gives you a 0–100 score with each check marked pass/warn/fail, the actual detected values, and specific fix instructions. You paste a URL, it returns results in seconds.

For site-wide audits, the SEO Analyzer crawls all internal pages, scores each one, and lets you filter by error type across the site — so you can fix all TITLE_MISSING pages in one batch, then all CANONICAL_MISMATCH pages, rather than reviewing each page individually.

Run the 14-Point Audit on Any Page Now

Free, no signup. Paste any URL and get a scored audit of all 14 checks — errors, warnings, and exact values — in under 60 seconds.

Try the On-Page SEO Checker Free →
SP

Sunny Pal Singh

Fellow · Technical Director — AI Infrastructure, Cloud Orchestration & Network Automation

Sunny is a Fellow and Technical Director specialising in AI infrastructure, cloud orchestration, and network automation. With hands-on depth across AWS, Azure, GCP, Red Hat OpenStack, and OpenShift, he leads high-performing teams of architects and engineers building transformative solutions at scale. He built ByteWaveNetwork to bring the same engineering rigour to everyday web tooling.

Affiliate disclosure: Some links on this page may be affiliate links. We only mention tools we've personally used and have an honest opinion about. Affiliate revenue helps keep ByteWaveNetwork's tools free and maintained. We are not paid by any of the tools compared in this article for favorable coverage.

Choose design