SEO Analyzer
Comprehensive audit with actionable recommendations
Analyzing your page...
How the SEO score is calculated
The overall SEO score is a weighted composite of four sub-scores: Content (35%), Technical (25%), Performance (20%), and Accessibility (20%). Each sub-score is computed by running multiple checks within its category — for example, Content checks word count, readability (Flesch-Kincaid and Gunning Fog indices), heading hierarchy, keyword density, featured snippet readiness, and E-E-A-T signals. Each check either passes or fails, and the sub-score is the percentage of passed checks.
Worked example
Suppose a page passes these checks:
- Content: 7 out of 10 checks pass
- Technical: 5 out of 8 checks pass
- Performance: 3 out of 4 checks pass
- Accessibility: 2 out of 3 checks pass
Sub-scores: Content = 70%, Technical = 62.5%, Performance = 75%, Accessibility = 66.7%
Overall = 70×0.35 + 62.5×0.25 + 75×0.20 + 66.7×0.20
Overall = 24.5 + 15.6 + 15.0 + 13.3 = 68.4 (Grade: Needs Improvement)
Each failed check generates a prioritized recommendation (critical, high, medium, or low) with a code example, estimated fix time, and expected ranking impact. The recommendations tab groups these by severity so you can address the most impactful issues first.
What each sub-score measures
Word count, readability, heading hierarchy, keyword density, thin content detection, E-E-A-T signals, snippet readiness.
Schema markup, canonical tags, hreflang, meta tags, security headers, robots directives, semantic HTML.
Core Web Vitals patterns (LCP, CLS, INP), page size, HTTP/2 usage, render-blocking resources, caching headers.
Image alt text, heading structure, landmark elements, color contrast signals, keyboard navigation patterns, ARIA attributes.
E-E-A-T scoring criteria
The E-E-A-T (Experience, Expertise, Authoritativeness, Trustworthiness) score evaluates your page against 10 criteria based on Google's Search Quality Rater Guidelines. The system checks for author bylines, publication and modification dates, about page links, citations to authoritative sources, author bios with credentials, word count depth, schema.org markup (Author, Organization, Person), and contact information. Each criterion satisfied adds one point to the E-E-A-T score, which is reported as a value out of 10.
How the SEO Score Is Calculated
The overall SEO score is a weighted composite of four pillar sub-scores. Each sub-score is built from 20–40 individual checks that inspect the page's raw HTML, HTTP headers, DOM structure, and extracted text content. The weightings reflect how much each dimension contributes to search-engine visibility according to industry research and Google's own ranking guidelines.
Content Quality (35%)
Measures word count (with thin-content detection below ~300 words), text-to-HTML ratio, Flesch-Kincaid and Gunning Fog readability indices, E-E-A-T signals (author bylines, citations, about-page links), featured-snippet readiness (question/answer patterns, list structures), keyword usage and density (flagging stuffing above 5%), heading hierarchy validity, and named-entity recognition for topical relevance signals. This is the heaviest-weighted component because content quality correlates most strongly with organic rankings.
Technical SEO (25%)
Validates schema.org structured data (JSON-LD, microdata, RDFa) against 15+ common types such as Article, Product, Recipe, LocalBusiness, Event, FAQPage, HowTo, Review, SoftwareApplication, and BreadcrumbList. Checks canonical link tags for correctness and self-referencing, detects hreflang annotations for multi-language setups, inspects HTTP security headers (HSTS, X-Frame-Options, Content-Security-Policy), evaluates redirect chains, and reads the HTTP status code. Schema errors, missing canonicals, and absent security headers each produce specific recommendations in the output.
Performance (20%)
Audits render-blocking resources by
counting script and link tags without defer or async, total DOM
element count (penalised above ~1,500 elements), images that lack explicit
width/height attributes (contributing to Cumulative Layout Shift),
images not using lazy loading (loading="lazy"), and any detected
Core Web Vitals risk patterns such as oversized hero images or missing
<link rel="preload"> for above-the-fold resources.
Accessibility (20%)
Verifies every <img>
element carries a non-empty alt attribute, validates heading nesting order
(H1 → H2 → H3 without skipping levels), checks that anchor text is descriptive
rather than generic ("click here", "read more"), enumerates semantic HTML elements
(<main>, <nav>, <article>), and
tests for the presence of Open Graph (og:title, og:description,
og:image) and Twitter Card meta tags. Missing social meta reduces click-through
rates from social platforms by as much as 50% according to multiple industry studies.
SEO Score Scale & What Each Band Means
Every score — overall and per-category — is mapped to a five-band scale. Each band represents a proportional slice of the 0–100 range and comes with a specific action level for that component.
Top-tier optimisation. Only minor improvements needed. The page is likely ranking well for its target terms.
Well-optimised. A few moderate issues exist but nothing critical. Addressing recommendations will strengthen the page further.
Room for meaningful improvement. Several checks failed or scored poorly. Following the high-priority recommendations should move this into the Good band.
Significant SEO issues present. Multiple dimensions need work, particularly content depth and technical fundamentals. The page is likely underperforming in organic search.
Major optimisation work required. The page is missing or failing many critical SEO fundamentals including schema, headings, sufficient content, and social meta. Immediate attention needed.
SEO Professionals & Agencies
Run quick on-page audits for client sites during onboarding or monthly reporting. The recommendations tab provides code-level fixes that can be pasted directly into client CMS templates. The tool catches schema validation errors, missing canonical tags, and heading-hierarchy problems that paid tools also detect — at no cost.
Content Writers & Bloggers
Check every draft before hitting publish. The content tab reveals whether your article has enough words (avoiding thin-content penalties), whether your readability scores match your audience (e.g., Flesch-Kincaid 60–70 for general audiences), and whether your E-E-A-T signals are present (author bio, citations, last-updated date). The keyword analysis shows whether you are over-using certain terms — a common mistake that can trigger keyword-stuffing filters.
E-Commerce Site Owners
Product pages are notoriously difficult to
optimise because they share many templates. The SEO Analyzer checks each product page for unique
schema markup (Product, Offer, Review), finds missing alt text on product images, detects
thin descriptions that hurt organic visibility, and validates canonical tags to prevent
duplicate-content issues from URL parameters like ?color=, ?size=,
or ?sort=. Apply the recommendations to every page in a category to lift the
entire catalogue's search performance.
Web Developers & Designers
Integrate the audit into your build workflow. Before shipping a new page, run it through the analyzer to catch missing semantic HTML elements, security-header gaps (HSTS, CSP, X-Frame-Options), improperly nested headings, images without dimensions, and render-blocking scripts. The performance tab's DOM-size counter helps you keep component trees lean — a crucial factor for Core Web Vitals and mobile performance scores.
| Component | What It Measures | Why It Matters |
|---|---|---|
| Content | Word count, text ratio, Flesch-Kincaid, Gunning Fog, E-E-A-T signals, snippet readiness, keyword density, heading structure, named entities | Google's helpful-content systems prioritise pages that demonstrate depth, authority, and user-focused writing. Thin or poorly structured content rarely ranks well. |
| Technical | Schema markup validity, canonical URL correctness, hreflang tags, HSTS, CSP, X-Frame-Options, status code | Correct structured data enables rich results (star ratings, FAQs, product carousels). Clean technical signals make indexing and ranking more predictable. |
| Performance | Render-blocking scripts, DOM element count, images without dimensions, lazy-loading coverage, CWV risk patterns | Core Web Vitals (LCP, CLS, INP) are direct ranking signals. Slow pages have higher bounce rates and lower conversion rates across all industries. |
| Accessibility | Image alt text coverage, heading hierarchy validity, descriptive anchor text, semantic HTML elements, Open Graph & Twitter Card meta | Accessible pages reach a wider audience (including screen-reader users) and tend to have cleaner, more semantic code that search engines parse more effectively. |
How to Use the SEO Analyzer
Enter a URL
Paste the full URL of the page you want to
audit (e.g., https://example.com/blog/post-title). The tool automatically prepends
https:// if you omit the protocol and validates that the URL is well-formed before
sending the request. You can analyze any publicly accessible web page.
Read the Dashboard
Once the analysis finishes (typically 2–5 seconds), the dashboard displays the overall score plus four category scores. Each category score is shown with a colour-coded value. The six tabs below contain every individual finding organised by topic: Content, Technical, Performance, Media & Links, Social & Keywords, and Recommendations. Click a tab to expand the details.
Act on the Results
The Recommendations tab lists every issue sorted by severity (Critical → High → Medium → Low). Each recommendation includes the problem, its impact on rankings, a step-by-step solution, a code example, the estimated time to fix, and the expected ranking improvement.
Seventeen Proven Tips to Improve Your SEO Score
Based on the 21-phase audit engine, here are the most impactful changes you can make. Each tip addresses one or more checks the analyzer runs.
1. Write at least 800–1,500 words per page
Pages shorter than 300 words are flagged as thin content by most search-engine algorithms. Comprehensive articles of 1,000+ words consistently outperform shorter pieces in organic click-through rates (source: serpIQ study across 20,000 keywords). The analyzer's Content tab shows your exact word count and flags thin content automatically.
2. Target a Flesch-Kincaid score of 60–70 for general audiences
The Flesch-Kincaid readability test scores text on a 0–100 scale (higher = easier to read). A score of 60–70 corresponds to plain English that an 11–13 year old can understand, which covers the majority of web readers. Technical audiences can tolerate lower scores (30–50), but making your content harder to read than necessary reduces engagement and time-on-page.
3. Use exactly one H1 per page, matching your title tag
Multiple H1s dilute the primary topic
signal. The analyzer checks for H1 count and flags any page with zero or more than one H1.
Your H1 should contain your primary keyword and should be similar to — but not an exact
duplicate of — the <title> tag.
4. Never skip heading levels (H1 → H2 → H3)
Going from H2 to H4 without an H3 in between breaks the logical structure. Screen readers depend on correct nesting for navigation, and Google uses heading hierarchy to understand content sections. The analyzer's Content tab shows whether your hierarchy is valid or broken.
5. Add JSON-LD structured data for every content type
Pages with schema markup rank on average
four positions higher in search results (case study: SearchMetrics, 2020). The analyzer checks
for Article, Product, FAQPage, LocalBusiness, Event, Recipe, Review, SoftwareApplication, and
BreadcrumbList. Each missing but applicable schema type generates a recommendation with a code
snippet you can paste directly into your page's <head>.
6. Set a self-referencing canonical URL on every page
A canonical tag tells Google which URL
is the authoritative version of a page. Every page should have a
<link rel="canonical" href="https://example.com/page/" />
that points to itself. This is especially important for e-commerce sites where URL parameters
(sort, filter, colour) can generate hundreds of duplicate URLs pointing to the same content.
7. Add descriptive alt text to every image
Every <img> tag must
have a non-empty alt attribute. Screen readers read the alt text aloud, so it
should describe the image content naturally (e.g., "woman hiking on a mountain trail at sunset"
rather than "image123.jpg"). Google also uses alt text as a relevance signal for image search
rankings.
8. Set explicit width and height on images
Images without dimensions cause the
browser to recalculate layout as they load, contributing to Cumulative Layout Shift (CLS) —
a Core Web Vitals ranking factor. Always include width and height
attributes on every <img> tag, even if you also use CSS to make them responsive.
9. Enable lazy loading for below-the-fold images
Adding loading="lazy"
to images that are not visible on initial page load defers their download until the user
scrolls near them. This reduces initial page weight and improves Largest Contentful Paint
(LCP). The analyzer's Media tab reports how many of your images are already lazy-loaded.
10. Keep your DOM under 1,000–1,500 elements
Pages with overly complex DOM trees
(3,000+ elements) experience slower rendering and higher memory usage, especially on mobile
devices. The analyzer's Performance tab reports your exact DOM element count. Simplify your
component structure and avoid deeply nested <div> chains where semantic
HTML elements would suffice.
11. Defer or async non-critical JavaScript
Render-blocking scripts delay the
browser from displaying content. Add defer to <script> tags
that do not need to run before the DOM is painted, and async for independent
scripts like analytics. The analyzer counts how many blocking scripts your page loads.
12. Include Open Graph and Twitter Card meta tags
When your page is shared on social media,
Open Graph tags control the title, description, and image that appear in the link preview.
Pages without og:image typically see 50%+ lower click-through rates from social
shares (source: multiple A/B test reports). The analyzer's Social tab lists missing tags so
you can add them.
13. Avoid generic anchor text like "click here"
Descriptive anchor text helps both users and search engines understand the linked page's content. The analyzer's Media & Links tab lists all detected instances of poor anchor text. Replace generic phrases with keyword-rich context such as "our complete guide to on-page SEO" instead of "click here".
14. Show author bylines and publication dates for E-E-A-T
Google's E-E-A-T (Experience, Expertise, Authoritativeness, Trustworthiness) framework rewards content that demonstrates real expertise. Pages with visible author names, author bios, and publication/modification dates consistently outrank anonymous content in YMYL (Your Money or Your Life) topics. The analyzer's Content tab reports your E-E-A-T score based on these signals.
15. Enable HSTS and other security headers
HTTP Strict-Transport-Security (HSTS) tells browsers to always connect via HTTPS. X-Frame-Options prevents clickjacking attacks. Content-Security-Policy (CSP) mitigates XSS risks. While security headers are not direct ranking factors, Google Chrome flags missing headers in its security panel, and HTTPS is a confirmed lightweight ranking signal.
16. Fix schema errors before they cause rich-result loss
Google's rich-results validation guidelines are strict. A single malformed JSON-LD property can prevent a page from showing star ratings, FAQ accordions, or product carousels in SERPs. The analyzer's Technical tab lists every schema error found, and the recommendation tab provides the corrected code.
17. Maintain a text-to-HTML ratio above 15–20%
A low text-to-HTML ratio suggests that the page is heavy on markup, scripts, or styling relative to its content. Pages with ratio under 10% may look content-poor to search engines. The analyzer's Content tab reports your exact ratio. Simplify your template markup or add more substantive body content to improve this metric.
In-Depth Guide to Each Audit Component
Content Analysis & Quality Scoring
The content engine extracts all visible body text from the page using a parser that ignores script, style, and hidden elements. It then runs the following checks in sequence:
- Word count — Total words in the extracted body text. Pages below ~300 words receive a thin-content flag that significantly reduces the content sub-score.
- Text-to-HTML ratio — Body-text characters divided by total HTML characters. Higher ratios indicate that the page carries substantive content rather than boilerplate markup.
- Flesch-Kincaid Reading Ease — A 0–100 score based on average sentence length and syllables per word. Higher = easier to read. Recommended range: 60–70 for general audiences.
- Gunning Fog Index — Estimates years of formal education needed to understand the text. Optimal range is 7–10 (readable by a seventh to tenth grader).
- E-E-A-T signals — Detects the presence of author bylines, author bio links, publication dates, modification dates, about-page links, and citations to authoritative sources. Each present signal adds to the E-E-A-T sub-score.
- Featured-snippet readiness — Checks for question/answer patterns (H2/H3 followed by a paragraph), numbered lists, bullet lists, and definition-style formatting that Google often pulls into position-zero snippets.
- Keyword density — Stop words are removed and the remaining words are counted for frequency. The top 15 keywords are reported with density percentages. Any word exceeding 5% density triggers a keyword-stuffing flag.
- Named-entity recognition — Identifies organisations, people, locations, and products mentioned in the text, which helps Google understand the page's topical focus.
Technical SEO: Schema, Canonicals & Headers
The technical audit inspects the page's
<head> and HTTP response for nine categories of markup and metadata:
- Schema.org validation — Scans for
application/ld+json(JSON-LD),itemscope/itemprop(microdata), andtypeof(RDFa) annotations. Validates against 15+ known schema types and reports both found types and validation errors with specific property-level messages. - Canonical tag check — Reads the
<link rel="canonical">tag and verifies it is a valid URL, is self-referencing (points to the same page), and uses the correct protocol (HTTPS). - Hreflang detection — Looks for
<link rel="alternate" hreflang="xx">tags and flags multi-language setups that lack reciprocal annotations. - Security headers — Checks the HTTP response for
Strict-Transport-Security,X-Frame-Options, andContent-Security-Policy. Each missing header is a discrete finding. - Status code check — Confirms the page returns a 200 status code. Non-200 codes (301, 302, 404, 500) are flagged individually.
Performance Metrics & Core Web Vitals
The performance audit does not run a full lighthouse-style test (which requires a browser runtime) but instead analyses the HTML source for patterns known to correlate with poor Core Web Vitals scores:
- Render-blocking resources — Counts
<script>and<link rel="stylesheet">tags that lackdefer,async, ormediaattributes. Each render-blocking resource delays First Contentful Paint (FCP) by approximately the resource's download time. - DOM size — Total HTML element count. The recommended maximum is 1,000–1,500 elements. Pages exceeding 1,500 elements are flagged; pages over 3,000 are marked critical.
- Images without dimensions — Counts
<img>tags lacking bothwidthandheightattributes. Each such image is a potential CLS risk. - Lazy-loading adoption — Counts how many
<img>tags useloading="lazy". A low adoption rate suggests the page downloads all images upfront, increasing LCP time. - CWV risk patterns — Detects common anti-patterns such as large hero images
without
fetchpriority="high", third-party embed scripts loaded early, and missing preload hints for critical fonts.
Accessibility & Social Metadata Audit
This dimension covers both accessibility best practices and social-platform optimisation, because both contribute to the user experience that search engines now weigh heavily:
- Alt-text coverage — Every
<img>element must have a non-emptyaltattribute. The checker explicitly excludes decorative images wherealt=""(empty alt) is acceptable, but flags images with no alt attribute at all, or with alt text that is merely the filename. - Heading hierarchy — Validates that headings follow a strict nesting order: one H1, followed by H2s, then H3s, then H4s, without skipping levels. Multiple H1s or missing levels generate hierarchy errors.
- Semantic HTML — Counts landmark elements such as
<main>,<nav>,<article>,<section>,<aside>, and<footer>. A page with few or no semantic elements loses accessibility points. - Anchor text quality — Scans all
<a>tags and flags generic text patterns like "click here", "read more", "learn more", "link", "this page", "go", and "here". Each flagged anchor produces a recommendation to use descriptive text. - Open Graph tags — Checks for
og:title,og:description, andog:image. Missing tags are listed so they can be added to the<head>. - Twitter Card tags — Checks for
twitter:card,twitter:title, andtwitter:description.
How Recommendations Are Prioritised
Every failed or sub-optimal check generates a recommendation with a severity level determined by its estimated impact on search rankings and user experience:
- Critical — Issues that directly block ranking or indexing (missing schema, broken canonical, no H1, thin content, no alt text on key images, missing Open Graph tags). These should be fixed within 24 hours.
- High — Issues that significantly reduce competitive advantage (poor readability score, weak E-E-A-T signals, several images without dimensions, excessive render-blocking resources, missing security headers). Fix within one week.
- Medium — Issues that have a moderate cumulative effect (sub-optimal heading hierarchy, a few poor anchor texts, moderate DOM size, missing Twitter Card tags). Address during the next content update cycle.
- Low — Minor optimisation opportunities (slightly thin content, one or two missing entity signals, optional hreflang tags). Fix when convenient.
Each recommendation includes an estimated fix time and an expected ranking impact so you can prioritise your SEO worklist without having to guess what matters most.
Why regular SEO audits are essential for sustained rankings
Search engine algorithms are updated hundreds of times per year. A page that ranked in the top three positions six months ago may have dropped to page two because competitors published fresher, more comprehensive content or because algorithmic changes shifted the ranking criteria. Regular SEO audits provide an objective measurement of your page's current health across the four major dimensions that search engines evaluate. Without periodic auditing, you risk investing effort into optimisation strategies that address outdated ranking factors while neglecting newly important signals such as Core Web Vitals or E-E-A-T compliance.
Industry data from multiple longitudinal studies suggests that sites performing comprehensive SEO audits on a quarterly basis see an average of 15 to 25 percent more organic traffic growth over a twelve-month period compared to sites that audit annually. This is because frequent audits allow teams to catch and fix issues like broken schema markup, missing canonical tags, or thin content before they cause measurable ranking declines. The audit frequency matters more for competitive industries where multiple publishers are targeting the same keywords and any technical edge can shift the SERP positions by several spots.
Beyond ranking maintenance, regular audits serve a compliance and governance function for larger organisations. Accessibility regulations in many jurisdictions now require WCAG 2.1 AA compliance, and an SEO audit that includes accessibility checks doubles as an accessibility monitoring tool. Similarly, security header auditing helps maintain PCI DSS and data protection compliance. By integrating the SEO Analyzer into your content workflow, you transform what was once a periodic manual review into a repeatable, data-driven process that produces actionable, prioritised recommendations every time.