A 14-Point On-Page SEO Audit You Can Run in 60 Seconds (And What to Actually Fix)
The 14 on-page SEO signals that move rankings — not the 200 Google uses, just the 14 that actually matter for most sites — and how to audit any page in under a minute.
Last quarter I ran a full content audit for a SaaS client whose traffic had plateaued at around 18,000 organic sessions a month for six consecutive months. They had decent backlinks, a clean site architecture, and freshly written copy. On paper, nothing was obviously broken. I pasted their top-performing product page into the Page SEO Score tool on ByteWaveNetwork and the score came back at 41 out of 100. The culprit? No canonical tag, author markup missing entirely, and zero internal links pointing to or from that page. Three fixes. Traffic climbed 23% over the next eight weeks.
That's the promise of a focused on-page audit: not 200 vague signals, but the 14 that a real page either gets right or gets wrong. This guide walks through every check, tells you what passing and failing actually looks like, and gives you a priority order so you fix the highest-leverage things first.
Key Takeaways
- The tool grades 14 on-page signals and returns a 0–100 score in under a minute.
- E-E-A-T author markup and speakable schema are the two checks most sites fail — and both are quick wins.
- Content depth (unique semantic coverage) outranks raw word count as a quality signal.
- Internal link density is a topical authority signal, not just a navigation nicety.
- You can audit a single URL or crawl a full sitemap — no login required.
What the Tool Actually Shows You
Open bytewavenetwork.com/tools/seo-page-checker/, drop in a URL, and hit Analyse. Within a few seconds you see a circular score dial — colour-coded green (70–100), amber (40–69), or red (0–39) — alongside a card for each of the 14 checks. Each card shows a status badge (Pass, Warn, or Fail), the raw value the tool found, and a one-line recommendation.
Switching to Sitemap mode lets you paste a sitemap.xml URL. The tool queues every page, scores each one, and returns a sortable table of URLs ranked by score — so you can sort ascending and immediately see your worst-performing pages. On a 200-page marketing site this typically surfaces two or three genuinely broken pages that nobody knew about.
All 14 Checks — What Passes, What Fails, and What to Do
| # | Check | Pass condition | Common fail | What to do |
|---|---|---|---|---|
| 1 | Title tag | Present, 30–60 characters, unique | Missing or truncated at 70+ chars | Rewrite to 50–55 chars; put primary keyword near the front |
| 2 | Meta description | Present, 120–160 characters | Missing or auto-generated snippet | Write a human sentence with a clear benefit and CTA |
| 3 | Canonical tag | Self-referencing canonical present | Missing or pointing to wrong URL | Add <link rel="canonical"> on every indexable page |
| 4 | Viewport meta | width=device-width, initial-scale=1 |
Missing — often on old landing pages | Add to <head>; required for mobile-friendly designation |
| 5 | Heading structure | Single H1, logical H2/H3 hierarchy | Multiple H1s or H1 missing entirely | Audit your template; ensure CMS doesn't duplicate H1 in nav |
| 6 | Open Graph tags | og:title, og:description, og:image present | Partial — image missing most often | Add a 1200×630 px OG image; use your Yoast/RankMath social panel |
| 7 | Twitter Card tags | twitter:card, twitter:title, twitter:image | Skipped entirely on non-blog pages | Add twitter:card = summary_large_image at minimum |
| 8 | Schema markup | At least one valid JSON-LD block | None or invalid syntax | Add Article, Product, or FAQPage schema appropriate to the page type |
| 9 | Speakable schema | SpeakableSpecification in JSON-LD |
Missing — 97%+ of pages fail this | Add speakable with cssSelector pointing to your key summary paragraphs |
| 10 | Author / E-E-A-T | Person JSON-LD or visible author byline | No author signal whatsoever | Add a byline + Person schema with name, jobTitle, and sameAs profiles |
| 11 | Visual evidence | At least one image with descriptive alt text | No images or all alt attributes empty | Add original screenshots, charts, or photos; write descriptive alts |
| 12 | Content depth | Sufficient unique semantic coverage for the topic | Thin pages under 300 words or keyword-stuffed padding | Cover related subtopics; use LSI terms naturally; aim for completeness |
| 13 | Disclosure | Affiliate/sponsored disclosure present where needed | Missing on monetised content | Add FTC-compliant disclosure above the fold on any review or affiliate page |
| 14 | Internal links | ≥ 3 contextual internal links per page | 0–1 links — common on freshly published posts | Link from related pages to this one; link out from this page to related content |
Four Non-Obvious Insights From Running 2,000+ Audits
1. E-E-A-T Is a Markup Problem, Not Just a Content Problem
When Google evaluates Experience, Expertise, Authoritativeness, and Trustworthiness, it isn't reading your prose in isolation — it's parsing structured signals. The tool checks for two things: a visible author byline in the HTML, and a Person JSON-LD block. When I migrated a 10,000-page e-commerce blog to a new CMS platform in 2024, the bylines disappeared from the template silently. Organic impressions for YMYL-adjacent product reviews dropped 18% within six weeks. Re-adding the bylines and adding Person schema with sameAs links to LinkedIn profiles recovered the position drop in about five weeks.
What counts as a passing E-E-A-T signal for this tool: a visible <a rel="author"> or named author paragraph in the body, OR a @type: Person JSON-LD block containing at minimum name, jobTitle, and one sameAs URL. What doesn't count: a generic "Editorial Team" byline with no schema and no linked profile.
2. Speakable Schema Is the Biggest Untapped Opportunity in AI Search
Of the first 2,000 URLs I ran through this tool during beta testing, fewer than 60 — that's under 3% — had any speakable markup. Yet speakable is how you tell Google's AI-powered assistants and Search Generative Experience surfaces exactly which sentences represent your authoritative summary of a topic.
Implementation takes about ten minutes. Add a SpeakableSpecification block to your existing Article schema, pointing to the CSS selectors of your summary paragraph and your key subheading. Example:
"speakable": {
"@type": "SpeakableSpecification",
"cssSelector": [".article-summary", "h2.key-finding"]
}
3. Content Depth ≠ Word Count
The content depth check doesn't count words. It analyses semantic coverage: does the page address the sub-questions a searcher would reasonably expect answered? A 400-word page that covers the topic completely can outperform a 2,000-word page padded with synonyms. In my audit dataset, pages that scored "Pass" on content depth but had fewer than 600 words still ranked on page one for their target terms 34% of the time — provided all other signals were clean. The fix for a failing content depth score isn't to add paragraphs; it's to add missing subtopics.
4. Internal Links Are a Topical Authority Signal, Not Just Navigation
Google's Helpful Content documentation explicitly references the concept of "information gain" — pages that add something new to the corpus. Internal linking is how you contextualise that gain within your own site. When a cluster of pages on related topics all link to each other with keyword-rich anchor text, the site's topical authority score for that cluster increases. The tool flags pages with fewer than 3 contextual internal links as a warning. In practice, I've found that lifting a page from 1 internal link to 5–7 targeted internal links (both inbound and outbound) moves average position by 2–4 spots for competitive mid-tail keywords — without any other changes.
Quick-Fix Priority Guide
Not everything is equally important. Here's how I triage a failing score:
| Priority | Fix first | Why | Time to implement |
|---|---|---|---|
| P1 — Immediate | Canonical, Viewport, Title, H1 | Indexation and mobile ranking blockers | 5–15 min per page |
| P2 — This sprint | Schema, Author/E-E-A-T, Meta description | Rich result eligibility and trust signals | 30–60 min per page |
| P3 — Next sprint | Internal links, Content depth, OG/Twitter | Authority compounding; social sharing | 1–2 hours per cluster |
| P4 — Ongoing | Speakable, Visual evidence, Disclosure | AI search readiness and compliance | Template-level fix; 1× effort |
How It Compares to Other On-Page Tools
I've used Screaming Frog, Ahrefs Site Audit, and Sitebulb extensively. Each is excellent at what it does. Here's an honest comparison for the specific use case of quick on-page auditing:
| Feature | ByteWaveNetwork | Screaming Frog | Ahrefs Site Audit |
|---|---|---|---|
| Cost | Free | Free up to 500 URLs; £199/yr for full | From $129/mo |
| Single-URL audit | ✅ Instant, no install | ✅ Requires desktop app | ✅ Requires project setup |
| Speakable schema check | ✅ Dedicated check | ❌ Not surfaced | ❌ Not surfaced |
| E-E-A-T / Author markup | ✅ Person JSON-LD + byline | ⚠️ Schema detection only | ⚠️ Schema detection only |
| Content depth signal | ✅ Semantic coverage check | ❌ Word count proxy only | ⚠️ Content score (proprietary) |
| Disclosure check | ✅ Detects FTC patterns | ❌ | ❌ |
| Sitemap batch mode | ✅ No login required | ✅ Full crawler | ✅ Full crawler |
| Technical depth (redirects, JS rendering) | ⚠️ Basic | ✅ Industry-leading | ✅ Very strong |
Screaming Frog and Ahrefs are irreplaceable for large-scale technical crawls and backlink analysis. ByteWaveNetwork's tool fills a different gap: a free, instant, no-signup audit that specifically surfaces the modern signals (speakable, E-E-A-T markup, disclosure) that the enterprise tools haven't prioritised yet.
Pre-Publish On-Page SEO Checklist
Run this before every new page or post goes live:
- Title tag is 50–55 characters with primary keyword in first 30 characters
- Meta description is 130–155 characters with a clear benefit statement
- Self-referencing canonical tag is present in
<head> - Single H1 matches or closely mirrors the title tag intent
- At least one valid JSON-LD schema block appropriate to the page type
- Author byline is visible in HTML and linked to an author profile page
PersonJSON-LD block includes name, jobTitle, and at least one sameAs URL- OG image is 1200×630 px with all three required OG tags present
- Speakable cssSelector points to the summary paragraph
- At least one original image with descriptive alt text is included
- Content covers all expected subtopics for the search intent
- Minimum 3 contextual internal links — both inbound (from existing pages) and outbound (to related pages)
- Affiliate or sponsored disclosure is above the fold if any monetisation is present
- Run the URL through the Page SEO Score tool and confirm score ≥ 70
What a Good Score Looks Like in Practice
A score of 70–85 is realistic and achievable for most well-maintained pages. Scores above 85 typically require speakable markup and a fully built-out Person schema — which is why so few pages hit that range. I've seen pages score 100 exactly once, on a page I specifically built to test every check. In normal publishing workflows, aiming for 75+ as a launch standard and running quarterly sitemap audits to catch regressions is the pragmatic approach.
Scores below 50 almost always have at least one P1 issue — a missing canonical, no H1, or broken schema. Those are the pages to prioritise immediately because they're actively losing ranking potential every day they stay broken.
Audit Any Page in 60 Seconds — Free
No account. No install. Paste a URL or drop in your sitemap and get a full 14-point on-page score with specific, actionable recommendations for every check.
Run Your Free SEO Audit →Disclosure: ByteWaveNetwork is the publisher of this post and the tool described. Some pages on this site may contain affiliate links to third-party products or services; if you click and purchase, we may earn a commission at no additional cost to you. Competitor products mentioned (Screaming Frog, Ahrefs, Sitebulb) are referenced for honest comparison purposes only — we have no affiliate relationship with those companies. All performance figures and audit data cited in this post are drawn from real usage by the author.
Newsletter
Enjoyed this guide? Get more in your inbox — free
New guides published twice a week, based on real crawl data. No spam.