Free SEO Audit Tool for Any Website
Get a multi-page audit that checks meta tags, headings, images, broken links, schema, and performance.
Receive a detailed PDF report via email.
What is an SEO Audit and Why Does Your Website Need One?
An SEO audit is a comprehensive analysis of your website that identifies technical issues, content gaps, and link-building opportunities preventing your site from ranking on the first page of Google. Whether you run a law firm in London, a dental practice in Manchester, or a local business anywhere in the UK, a free SEO audit is the first step to understanding where your site stands against the competition.
Our free SEO audit tool automatically crawls your pages, checks meta tags, headings, images, broken links, site speed, and schema markup structure, all within minutes. You receive a detailed PDF report with prioritised action items and quick wins you can implement immediately.
The Complete SEO Audit Checklist: What We Check
Our professional SEO audit covers every critical area Google uses to evaluate and rank websites. Here is what gets analysed:
π On-Page SEO
- Title tags and meta descriptions
- Heading structure (H1βH6)
- Keyword density and distribution
- Image optimisation and alt text
- URL structure
β‘ Technical SEO
- Core Web Vitals (LCP, CLS, INP)
- Mobile and desktop load speed
- HTTPS and security headers
- XML sitemap and robots.txt
- Broken links and redirect chains
π Schema Markup
- Organization and LocalBusiness schema
- Article schema for blog posts
- FAQPage schema for Q&A content
- Service schema for service pages
- BreadcrumbList schema
π Content & Links
- Content readability and length
- Internal and external links
- Hreflang analysis for multilingual sites
- Duplicate content
- Navigation structure
How to Fix the Most Common SEO Issues Found in Audits
After running an SEO audit, most websites share the same recurring issues. Here are the most common ones and how to fix them:
Missing or duplicate meta titles and descriptions
Every page needs a unique title tag of 50β60 characters with the primary keyword and a meta description of 150β160 characters with a clear call to action. Duplicates confuse Google and reduce click-through rates.
High impactCore Web Vitals below threshold (slow LCP)
Convert images to WebP format, add width/height attributes, use lazy loading for non-critical images, and enable gzip/Brotli compression on the server. An LCP under 2.5 seconds is Google's target.
High impactMissing or incomplete schema markup
Add JSON-LD schema for Organization, LocalBusiness, Service, Article, and FAQPage. Schema markup helps Google understand page content and can generate rich snippets in search results, increasing CTR by 20β30%.
Medium impactBroken links and redirect chains
Replace broken links with valid URLs or remove them. Eliminate redirect chains (AβBβC) and replace with direct redirects (AβC). Each hop in a chain reduces the PageRank passed and slows page loading.
Medium impactFree SEO Audit for UK Local Businesses
iDigitGroup offers free SEO audits for local businesses across the UK. We specialise in SEO for law firms, dental practices, hotels and restaurants, estate agents, and aesthetic clinics. Our free SEO audit includes a full site analysis, a PDF report with prioritised action items, and a no-obligation initial consultation.
We also serve Cardiff, Bristol, Edinburgh, Glasgow, Liverpool, Sheffield, Cheltenham, and Swindon.
Why Choose iDigitGroup as Your SEO Audit Agency?
We are not just a free SEO audit tool. We are a specialist SEO agency that works with local businesses to improve their Google rankings and grow organic traffic. After the audit, our team analyses the results and provides you with a personalised action plan.
What the free SEO audit actually measures
The audit crawls up to 15 pages of your site, parses the served HTML of each one, and scores what it finds in six to eight categories. Every check below is a real check the tool runs, and every threshold below is the threshold it applies.
The crawl starts at the URL you enter. If an XML sitemap is found, its URLs are used to prime the queue so that important pages are visited before deep pagination, and the remaining pages are discovered by following internal links. The tool reads the HTML the server sends. It does not execute JavaScript, which means it sees your page the way a plain crawler sees it, and anything that only appears after client-side rendering will be reported as missing.
Alongside the page crawl, the tool fetches your robots.txt and sitemap, checks response headers for six security headers, requests Core Web Vitals from Google's PageSpeed Insights API, inspects the TLS certificate, follows the redirect chain from the URL you entered, reads hreflang annotations, counts keyword density across the crawled copy, and calculates a Flesch reading ease score.
The result is a score out of 100, a category breakdown, a prioritised issue list with a fix for each, page by page summaries, and a PDF report sent to the email address you give. Nothing is invented: if a signal cannot be measured, the category it belongs to is left out of the score rather than guessed at.
The categories and every check inside them
Six categories always run. Performance runs when Google's PageSpeed Insights API answers, and International SEO runs only when hreflang annotations are present or broken. Each check is a pass, a warning or a fail.
Technical SEO
5 checks, score is the percentage that passThe plumbing a crawler needs before anything else on the page matters.
- HTTPS
- Whether the audited URL is served over a secure connection.Passes when: The URL begins with https://.Fix: Install a certificate, redirect every http:// URL to its https:// equivalent with a single 301, and update internal links so they point at the secure URL directly.
- XML Sitemap
- Whether a sitemap can be found and read, and how many URLs it lists.Passes when: A sitemap is found. The tool stores the first 100 URLs from it.Fix: Generate a sitemap that lists canonical URLs only, reference it from robots.txt, and keep it free of redirects, 404s and noindex pages.
- Robots.txt
- Whether robots.txt exists, how many disallow rules it carries, and which sitemaps it declares.Passes when: A robots.txt file is found. A missing file is a warning rather than a failure.Fix: Publish a robots.txt at the domain root, allow the answer engine crawlers you want citations from, block only genuinely private paths, and reference your sitemap and llms.txt.
- Mobile Viewport
- Whether pages declare a viewport meta tag.Passes when: A viewport meta tag is present.Fix: Add the standard viewport meta tag to the site template. Without it, mobile browsers render at desktop width and every mobile usability signal suffers.
- Broken Links
- Internal links found during the crawl that do not resolve.Passes when: No broken links are detected across the crawled pages.Fix: Repoint the link at the live URL, or 301 the dead URL to its closest live equivalent. Do not leave a chain of redirects behind the fix.
On-Page SEO
5 checks, score is the percentage that passThe elements that tell a search engine what each individual page is about.
- Title Tags
- Pages in the crawl with no title element.Passes when: Every crawled page has a title.Fix: Write a unique title for each page that names the thing the page is about and the qualifier that makes it distinct, and keep it short enough to survive truncation.
- Meta Descriptions
- Pages in the crawl with no meta description.Passes when: Every crawled page has one. Up to two missing is a warning, three or more is a failure.Fix: Write a description per page that earns the click rather than repeating the title, and keep it in the range that displays in full.
- H1 Tags
- Pages with no H1, and pages with more than one H1.Passes when: No page is missing an H1 and no page carries several. Anything else is a warning.Fix: One H1 per page, naming the same subject as the title. If a template and the body copy both emit a heading, demote the second to an H2.
- Duplicate Titles
- The same title string used by more than one crawled page.Passes when: No duplicates are found. Duplicates are a warning.Fix: Duplicate titles usually mean templated pages that differ by one token. Give each page a genuine reason to exist, or consolidate them into one stronger page.
- Duplicate Descriptions
- The same meta description string used by more than one crawled page.Passes when: No duplicates are found. Duplicates are a warning.Fix: Rewrite the duplicates against what each page uniquely offers. If two pages genuinely cannot be described differently, they are the same page.
Content Quality
3 checks, score is the percentage that passWhether there is enough substance on the page for a search engine, or an answer engine, to have something to quote.
- Average Word Count
- The mean visible word count across every crawled page.Passes when: 500 words or more passes. 300 to 499 is a warning. Below 300 fails.Fix: Depth, not padding. Add the sections a real customer needs next: comparisons, costs, timelines, aftercare, what can go wrong. If a section would not help one person, leave it out.
- Thin Content Pages
- Crawled pages carrying fewer than 300 words.Passes when: None found. One or two is a warning, three or more fails.Fix: Expand the page against a real question set, merge it into a stronger page and redirect, or accept that it is a utility page and keep it out of the sitemap.
- Heading Structure
- Whether every crawled page carries at least one H2 beneath its H1.Passes when: Every page has H2 subheadings. Anything else is a warning.Fix: Break the page into sections with question shaped H2s and answer each in the first sentence or two. This is the single edit that most improves how quotable a page is.
Images and Media
1 check, score is the percentage that passWhether the images on the page carry text a machine can read.
- Image Alt Text
- Images across the crawl with no alt attribute, counted against the total number of images found.Passes when: Every image has alt text. Up to five missing is a warning, more than five fails. The report lists the first five offending image URLs.Fix: Describe what the image shows and why it is there, in the language of the page. Decorative images take an empty alt attribute rather than no attribute at all.
Structured Data
2 checks, score is the percentage that passWhether the page states machine readable facts about itself, which is what answer engines read first.
- Schema Markup
- Every Schema.org type found in JSON-LD across the crawled pages, listed by name.Passes when: At least one type is detected. None is a warning.Fix: Start with Organization and WebSite in the site template, add LocalBusiness if you trade from a real address, then the type that matches each page: Service, Article, FAQPage, HowTo, BreadcrumbList.
- Open Graph
- Whether the homepage declares an Open Graph title.Passes when: An og:title is present. Missing is a warning.Fix: Add og:title, og:description, og:image, og:type and og:url to the template, and a Twitter card alongside them. This governs how every share of the page looks.
Performance
Score is Google's Lighthouse performance score for the URL, not a pass countCore Web Vitals as Google's own PageSpeed Insights API reports them. If that call fails, the whole category is left out rather than estimated.
- Performance Score
- Lighthouse performance score out of 100.Passes when: 90 or above passes. 50 to 89 is a warning. Below 50 fails.Fix: Work the opportunities the report returns in order of saving. On most sites the first three are oversized images, render blocking resources and unused JavaScript.
- Largest Contentful Paint
- How long the largest element in the viewport takes to render.Passes when: 2.5 seconds or less passes. Up to 4 seconds is a warning.Fix: Identify the LCP element, preload it, serve it in a modern format at the size it displays, and remove anything blocking the render before it.
- First Contentful Paint
- How long anything at all takes to appear.Passes when: 1.8 seconds or less passes. Up to 3 seconds is a warning.Fix: Cut render blocking CSS and JavaScript in the head, inline what is genuinely critical, and defer the rest.
- Cumulative Layout Shift
- How much the layout moves while loading.Passes when: 0.1 or less passes. Up to 0.25 is a warning.Fix: Give images and embeds explicit dimensions, reserve space for anything injected late, and never insert a banner above content that has already painted.
- Time to First Byte
- How long the server takes to send the first byte.Passes when: 800 milliseconds or less passes. Up to 1800 milliseconds is a warning.Fix: Cache at the edge, cut the work the origin does per request, and check that the URL you promote is not arriving through a redirect first.
Security
Score is the percentage of six response headers present on the audited URLSix HTTP response headers are counted for the score. Four of them are shown individually in the report.
- HSTS (Strict-Transport-Security)
- Whether the response instructs browsers to use HTTPS only.Passes when: The header is present. Missing is a warning.Fix: Set Strict-Transport-Security with a sensible max age once every http:// URL already redirects cleanly.
- Content-Security-Policy
- Whether a content security policy is declared.Passes when: The header is present. Missing is a warning.Fix: Start in report only mode, inventory what your pages genuinely load, then enforce.
- X-Frame-Options
- Whether the page can be framed by another site.Passes when: The header is present. Missing is a warning.Fix: Set X-Frame-Options, or the equivalent frame-ancestors directive in your content security policy.
- X-Content-Type-Options
- Whether browsers are told not to guess content types.Passes when: The header is present. Missing is a warning.Fix: Set X-Content-Type-Options to nosniff at the edge. It is a one line change with no rendering consequences.
- Referrer-Policy and Permissions-Policy
- Both are counted in the security score even though the report does not list them separately.Passes when: Each header present adds to the score.Fix: Set a referrer policy appropriate to your analytics, and a permissions policy that switches off the browser features your site does not use.
International SEO
Fixed score: 100 when hreflang is found and clean, 70 when found with issues, 50 when absentThis category appears only when hreflang annotations are present, or when they are present and broken.
- Hreflang Tags
- Which language and region annotations the page declares.Passes when: Annotations are found. The languages detected are listed in the report.Fix: Declare every language version on every language version, include a self reference, and add x-default for the version that serves everyone else.
- Hreflang Issues
- Problems found in the annotations that were detected.Passes when: This item appears only when there is something wrong, and always as a warning.Fix: The most common causes are a missing self reference, annotations that point at redirects, and a language version that does not return the annotation back.
How the score out of 100 is calculated
Most categories score as a simple pass rate: the number of checks that pass divided by the number of checks in that category. Three categories score differently, and the overall score is the plain average of the category scores that ran. There is no weighting, so a category with one check counts as much as a category with five.
| Category | How its score is produced | When it runs |
|---|---|---|
| Technical SEO | Percentage of 5 checks passing | Always |
| On-Page SEO | Percentage of 5 checks passing | Always |
| Content Quality | Percentage of 3 checks passing | Always |
| Images and Media | Percentage of 1 check passing, so 0 or 100 | Always |
| Structured Data | Percentage of 2 checks passing | Always |
| Performance | Google's Lighthouse performance score | Only when the PageSpeed Insights API answers |
| Security | Percentage of 6 response headers present | Always |
| International SEO | 100, 70 or 50 depending on hreflang | Only when hreflang is present or broken |
How to read a page level score
Healthy
80 to 100
Nothing structural is holding the page back. Improvements from here are editorial rather than technical.
Mixed
60 to 79
The page works but is leaking. Usually one or two categories are dragging the average down rather than a broad problem.
Needs work
Below 60
Something foundational is wrong. Fix the failures before spending anything on content or links.
Because the overall score is an unweighted average of the categories that ran, two sites with the same score can have very different problems. Read the category breakdown, not the headline number.
A worked example of the arithmetic
Take a site where the PageSpeed call succeeds, hreflang is absent, and the crawl finds the following.
- Technical SEO
- HTTPS, sitemap, robots.txt and viewport all pass, but two broken links are found. 4 of 5 pass, so 80.
- On-Page SEO
- Titles and descriptions are complete, but three pages carry two H1s and two titles are duplicated. 3 of 5 pass, so 60.
- Content Quality
- The average page is 640 words and every page has H2s, but four pages sit under 300 words. 2 of 3 pass, so 67.
- Images and Media
- Nine images have no alt attribute, which is more than five, so the single check fails and the category scores 0.
- Structured Data
- Organization and WebSite are found and the homepage has an og:title. 2 of 2 pass, so 100.
- Performance
- Lighthouse returns 63, so the category scores 63 regardless of how many of the five vitals items pass.
- Security
- Only X-Content-Type-Options and HSTS are set. 2 of 6 headers, so 33.
Seven categories ran. The overall score is (80 + 60 + 67 + 0 + 100 + 63 + 33) divided by 7, which is 58. Note what that number hides: the site's structured data is perfect and its single worst score comes from one missing attribute on nine images. Adding alt text alone lifts the site from 58 to 72, which is why the category table matters more than the headline.
What the report contains beyond the score
The score is the summary. The report itself carries findings that never enter the arithmetic but are usually where the work is.
- Site wide duplication
- Every duplicated title and meta description, with the list of URLs sharing each one.
- Missing elements by URL
- Pages missing a title, missing a description, missing an H1, or carrying several H1s, listed individually rather than counted.
- Orphan pages
- Up to ten URLs that appear in your sitemap but were never reached by following internal links from the pages crawled.
- Broken links with their source
- Each dead URL, the page it was found on, and the status code it returned.
- Redirect chain
- Whether the URL you entered arrives through redirects, how many hops, and the final destination.
- TLS certificate
- Issuer, expiry date and days remaining, so a certificate about to lapse is visible before it lapses.
- Keyword density
- The fifteen most frequent terms in the crawled copy with their density, and whether the top term appears in the title, the H1 and the meta description.
- Readability
- A Flesch reading ease score converted to a reading grade, with average sentence length and average syllables per word.
- Prioritised actions
- An executive summary, up to four quick wins with a time to fix, and up to five priority actions ranked by estimated impact.
A free automated audit against the alternatives
An automated audit is a fast, complete answer to a narrow question. Knowing where its edge is saves you from trusting it past that edge.
| This free audit | A consultant led audit | |
|---|---|---|
| Time to a result | Minutes, unattended | Days, with discovery calls |
| Pages examined | Up to 15, sitemap primed | Whatever the scope buys, often the full site |
| JavaScript rendered content | Not executed, so the served HTML is what is judged | Rendered and compared against the served HTML |
| Backlinks and competitors | Not covered | Usually the core of the engagement |
| Search intent and content strategy | Not covered, this is a health check | The main deliverable |
| Judgement about your market | None, the tool applies fixed thresholds | The reason to hire one |
| Cost | Free | Priced per engagement |
How to act on the results, in the order that pays
The report ranks issues by impact, but the sequence below is the one that moves a score fastest on most sites, because each step removes a cause rather than a symptom.
- 1
Fix anything the crawler could not reach
Broken links, redirect chains and a missing or wrong sitemap come first. Until a crawler can move through the site cleanly, no other fix is fully credited.
- 2
Give every page a title, a description and exactly one H1
These are the cheapest failures on the list and they sit in the category with five checks, so each one you clear is worth 20 points of that category.
- 3
Add the missing image alt text
Images and Media is a single check, so it scores 0 or 100 with nothing in between. On most sites this is the largest single move available.
- 4
Deal with duplication rather than hiding it
Duplicate titles and descriptions usually mean templated pages differing by one token. Consolidate them or give each a genuine reason to exist. Rewriting the tags alone leaves the real problem in place.
- 5
Put schema in the template, not on one page
Organization and WebSite sitewide, LocalBusiness if you trade from an address, then the type that matches each page. Structured Data is two checks, so it moves quickly.
- 6
Take the top three performance opportunities
Work the savings the report lists, largest first. Performance carries Google's own score, so improvements here are measured by the same tool your customers are judged with.
- 7
Set the security headers
Six headers, each worth about 17 points of that category, and none of them changes how the page renders. This is usually a single edge configuration change.
- 8
Re run the audit and compare category by category
Do not read the headline number. A category that did not move points at a fix that was applied to the symptom rather than the cause.
What this audit does not do
Stated plainly, because a tool that hides its edges wastes your time later.
- It crawls up to 15 pages. On a large site that is a sample, and the site wide findings describe the sample rather than the whole estate.
- It reads the HTML your server sends and does not execute JavaScript. Content that only appears after client side rendering will be reported as missing, which is also how a plain crawler sees it.
- Orphan pages are calculated by comparing your sitemap against the pages actually crawled, so on a site larger than the crawl limit this figure will over report and should be read as a prompt rather than a finding.
- Performance data comes from Google's PageSpeed Insights API. If that call fails the Performance category does not run at all, and the overall score is the average of the remaining categories.
- The security score reflects six response headers on the URL you entered. It is not a penetration test and it says nothing about your application logic.
- It does not look at backlinks, rankings, search volume, competitors or traffic. Those need Search Console, analytics and a link index, not a crawler.
- The thresholds are fixed. A 250 word page is flagged as thin even when 250 words is the right length for that page, so read the flags with your own judgement attached.
Related pages
Where to go next, depending on what the audit found.
Free AEO Checker
The same idea for answer engines. Scores a single page against 18 checks for how citable it is in ChatGPT, Perplexity and Google AI Overviews, and shows the score without an email address.
AI Search Optimisation
What we do when the audit shows the site is technically fine but invisible in AI answers.
SEO Optimisation
The service that implements the priority actions this report produces.
SEO and AEO Glossary
Plain definitions of every term used in this report.
Technical SEO Audit Checklist
The manual version of the technical category, for anyone who would rather work through it by hand.
Free SEO Audit FAQs
What the audit covers, how the score works, and how to use your results.
It crawls up to 15 pages and scores them across Technical SEO, On-Page SEO, Content Quality, Images and Media, Structured Data, Security and, when Google's PageSpeed Insights API answers, Performance. International SEO is added when hreflang annotations are present. Inside those categories it checks HTTPS, sitemap, robots.txt, viewport, broken links, titles, meta descriptions, H1s, duplicate tags, word counts, heading structure, image alt text, schema markup, Open Graph, Core Web Vitals and six security response headers.
The crawl and the analysis finish in a few minutes, and the results appear on screen as soon as they are ready. The PDF report goes to the email address you enter. Larger sites take longer because more pages are fetched, but the crawl is capped at 15 pages so it never runs away.
Each category scores as the percentage of its checks that pass, except Performance, which uses Google's Lighthouse score, Security, which uses the percentage of six response headers present, and International SEO, which scores 100, 70 or 50 depending on hreflang. The overall score is the plain unweighted average of the categories that ran, so a category with one check counts as much as a category with five.
Yes. There is no cost and no obligation. You give a URL and an email address, the audit runs, and the PDF report arrives. We publish the tool because a site that can see its own problems is a better conversation than a sales call.
Up to 15. If a sitemap is found, its URLs prime the queue so important pages are visited before deep pagination, and the rest are discovered by following internal links. On a large site treat the result as a representative sample rather than a full site crawl.
No. It reads the HTML your server sends and does not execute JavaScript, which is also how a plain crawler sees your page. If content only appears after client side rendering, the audit will report it as missing, and that is usually worth knowing rather than working around.
No. This is a site health check. Backlinks, keyword rankings, search volume and competitor data need Search Console, an analytics property and a link index, none of which a crawler can see. The audit tells you whether your own site is in the way of your rankings.
Anything that stopped the crawler: broken links, redirect chains and a missing or wrong sitemap. Then titles, meta descriptions and single H1s, because those sit in a five check category so each fix is worth 20 points of it. Then image alt text, because Images and Media is a single check that scores 0 or 100 with nothing in between.
