Free SEO audit
This free SEO audit tool runs 106 checks on one web page across 14 weighted categories, from indexing, titles and canonicals to speed signals, security headers, structured data and AI visibility. It grades the page A to F, lists the fixes in priority order, and adds Lighthouse scores, Core Web Vitals field data and a screenshot from Google PageSpeed Insights.
- Checks
- 106 in 14 categories
- Adds
- Lighthouse and Core Web Vitals
- Cost
- free, no signup
Priority fixes
Before a run, these are the 14 categories checked. After a run, each row is a failed or warned check, most important first
-
Not runCore SEO—
Why it mattersWhether the page can be indexed and how it shows in results: status, redirects, title and description width in pixels, robots directives, canonical, one H1, lang, viewport, robots.txt access and sitemap listing.
How to fixFix failures here first. A noindex, a robots.txt block or a canonical pointing elsewhere keeps the page out of search however well the rest scores.
-
Not runContent—
Why it mattersThe text as served: word count, heading order, at least two H2s, paragraph and sentence length, text-to-HTML ratio, duplicate H2s, the title's main words in the H1 and opening, and placeholder text.
How to fixWord count is a prompt, not a target. Skipped heading levels, placeholder text and an opening that ignores the title are usually mistakes, so fix those first.
-
Not runPerformance—
Why it mattersSpeed signals from our own fetch: time to first byte, HTML size, compression, script and stylesheet counts, render-blocking scripts, lazy loading, Cache-Control and preconnect or preload hints.
How to fixA slow first byte points at hosting or caching; many scripts at the theme and plugins. This is one request, so confirm with the Lighthouse block before paying for speed work.
-
Not runLinks—
Why it mattersCounts links and requests up to 20 internal and 10 external ones to find broken links. Flags http:// links on https pages, generic anchors, internal nofollow and empty or javascript: links.
How to fixFix broken internal links first, then generic anchors. Links outside the sample are not requested, so a clean result is not proof every link works.
-
Not runImages—
Why it mattersAlt text on every image and whether it is a file name, width and height attributes, the share of WebP or AVIF, and requests to up to 15 images to find broken files or files over 300 KB.
How to fixDescribe meaningful images in alt text; decorative ones can use an empty alt. Add width and height, and convert large JPEG or PNG files to WebP or AVIF.
-
Not runSecurity—
Why it mattersHTTPS, the http:// to https:// redirect, HSTS, mixed content, the main security headers including Content-Security-Policy, and Server or X-Powered-By headers that reveal software versions.
How to fixFix HTTPS and mixed content first. Headers are set once at server, CDN or plugin level for every page. A strict Content-Security-Policy can break scripts, so test it first.
-
Not runAccessibility—
Why it mattersWhat a read of the HTML can check: lang, labels on form fields, names on buttons and links, alt text, a main landmark, a skip link and tabindex values above zero.
How to fixA starting point, not an accessibility audit. Fix unlabelled fields and nameless buttons, then test with a keyboard. Lighthouse adds rendered checks such as colour contrast.
-
Not runStructured data—
Why it mattersJSON-LD blocks only (not microdata or RDFa): whether each parses, the types found, required properties for common types such as Organization, Article, Product and FAQPage, and BreadcrumbList on inner pages.
How to fixA block that does not parse is ignored, so fix syntax first, then missing properties. Valid markup makes a page eligible for rich results, not certain of them. See the <a href="/tools/schema-markup-validator/">Schema Markup Validator</a> for detail.
-
Not runSocial tags—
Why it mattersThe Open Graph and Twitter tags that shape a shared link: og:title, og:description, og:image (absolute and loading), og:url, og:type and twitter:card.
How to fixThese do not affect rankings, hence the small weight, but they decide how a shared link looks. Fix a missing or broken og:image first.
-
Not runE-E-A-T—
Why it mattersWho is behind the page: an author and a date (visible or in schema), links to About and Contact, at least one outbound citation, and an address or phone number.
How to fixThe tool sees whether these signals exist, not whether the author is expert or the sources good. Add what is missing, then judge quality yourself.
-
Not runURL structure—
Why it mattersLength up to 100 characters, lowercase, hyphens not underscores, four folders deep or fewer, and notes on query strings and file extensions such as .php.
How to fixDo not change live URLs just to tidy them; each change needs a 301 redirect and time to settle. Apply these rules to new pages.
-
Not runMobile—
Why it mattersA viewport tag with width=device-width, no fixed-width viewport, no object or embed plugins, and no tiny inline font sizes.
How to fixA missing or fixed viewport is a real failure: phones show a shrunken desktop page. To see the page on a phone, use the mobile screenshot in the Lighthouse block.
-
Not runAI visibility—
Why it mattersWhether AI systems can reach and reuse the page: robots.txt rules for five AI crawlers and tokens, llms.txt, an answer-first opening, question headings, lists or tables, text without JavaScript, and schema matching the visible text.
How to fixStart with crawler access, then make sure the main text is in the HTML. llms.txt is a proposal not every system reads. Passing makes a page easier to quote, not certain to be cited.
-
Not runInternationalisation—
Why it mattershreflang in the HTML: whether any exists, valid codes, a self-reference, x-default, and html lang matching the page's own entry.
How to fixSingle-language pages are not marked down for having no hreflang. If you use it, fix invalid codes and self-references, then run the <a href="/tools/hreflang-validator/">Hreflang Validator</a> to check return links.
Full report
Category scorecard, every check by category, and Lighthouse data
Nothing to show yet. After an audit, this shows each category's grade and counts, then every check with what was found. Lighthouse scores, lab metrics, field data and a screenshot load into their own block when Google returns them.
How the grade is worked out
Each check passes, warns or fails. A pass counts 1, a warning 0.5 and a fail 0, and checks that do not apply are left out. Within a category, checks are weighted by importance, and the category score is the weighted average out of 100. The overall score combines the 14 category scores using the weights below, which add up to 100 points.
| Category | Weight | Share of grade | What it covers |
|---|---|---|---|
| Core SEO | 15 | 15.0% | Indexability, titles, canonical, H1, sitemap |
| Content | 10 | 10.0% | Length, headings, readability |
| Performance | 11 | 11.0% | Response time, weight, scripts, caching |
| Links | 8 | 8.0% | Broken links, anchors, nofollow |
| Images | 8 | 8.0% | Alt text, dimensions, formats, size |
| Security | 8 | 8.0% | HTTPS, mixed content, headers |
| Accessibility | 6 | 6.0% | Labels, accessible names, landmarks, keyboard order |
| Structured data | 6 | 6.0% | JSON-LD validity and properties |
| Social tags | 5 | 5.0% | Open Graph and Twitter card tags |
| E-E-A-T | 5 | 5.0% | Author, dates, citations, contact |
| URL structure | 4 | 4.0% | Length, case, depth |
| Mobile | 3 | 3.0% | Viewport, fixed widths, plugins, tiny fonts |
| AI visibility | 8 | 8.0% | AI crawlers, llms.txt, extractable text |
| Internationalisation | 3 | 3.0% | hreflang and lang |
Strong. Only fine-tuning left.
Good, with a few fixes worth making.
Average. Several issues hold the page back.
Weak. Fix the failed checks first.
Poor. Core problems need attention.
Failing. Start with the priority fixes below.
Lighthouse scores do not count towards the grade: they are lab measurements from one run, can vary between runs and sometimes fail to load. A category with no applicable checks is left out. If a sub-request fails, that check is marked not checked rather than failed.
How to run an SEO audit
One page per run. Start with the page that matters most to the business, then audit one example of each template.
-
Step 1
Enter the page URL
Paste the address of one page, such as your home page. The audit fetches it, records any redirects, reads robots.txt, llms.txt and the sitemap, and samples links and images.
-
Step 2
Read the grade and the scorecard
The gauge shows the score and grade. The scorecard in the full report shows which categories pulled it down.
-
Step 3
Work through the priority fixes
Failed checks come first, ordered by weight, then warnings. Each row says what was found and what to change. Fix the top few properly before moving on.
-
Step 4
Check the Lighthouse block
Lighthouse scores, lab metrics (LCP, CLS, TBT, FCP and Speed Index) and a mobile screenshot load from Google PageSpeed Insights shortly after the main report. Core Web Vitals field data appears only when Google has enough real-user data.
-
Step 5
Save, share and re-run
Download PDF opens your browser's print dialog to save a PDF; the share link re-runs the audit on the same URL. Results are cached for up to six hours, so allow for that before re-checking a fix.
What an SEO audit is, and what one page cannot tell you
An SEO audit compares a page with the conditions it needs to be found: search engines must be allowed to crawl it, choose to index it, understand what it is about and show it in a useful form. This tool tests those conditions on the HTML your server sends, plus robots.txt, llms.txt, the sitemap and a sample of the page's links and images, and turns the results into a grade and a fix list.
A single-page audit cannot see the site around the page. It does not find duplicate titles across pages, orphan pages, redirect loops elsewhere on the site or how many pages Google has indexed. It cannot see rankings, traffic or backlinks. And because our server reads the raw HTML, content that only appears after JavaScript runs is invisible to the server checks; the Lighthouse block covers the rendered page.
What the audit does
- Fetches one page and records redirects
- Reads robots.txt, llms.txt and the sitemap
- Samples up to 20 internal links, 10 external links and 15 images
- Adds Lighthouse and field data from PageSpeed Insights
What it does not do
- Crawl the rest of the site
- Run JavaScript on our server
- Show rankings, traffic or backlinks
- Judge content against competitors
How to prioritise the fixes
The fix list is already ordered by weight and severity, but use judgement on top of it. Anything that stops indexing comes first: a noindex, a robots.txt block, a canonical pointing elsewhere, a non-200 status. These can cancel everything else on the page.
Next, fix what one change solves site-wide: security headers, compression, a robots.txt rule for AI crawlers, a broken template element. Then work on the page itself: the opening paragraph, headings, alt text and internal links.
Leave cosmetic warnings for last. A title a few pixels too wide or an underscore in a URL is rarely worth a rewrite or a redirect on its own. Re-run the audit after each batch of changes.
Want a person to read your audit?
We can go through the results with you and say which fixes are worth doing first for your site.
Why AI visibility is now part of an audit
People now get answers from AI assistants and AI summaries in search as well as from links. Those systems can only quote a page they may fetch and can read. Sites often block AI crawlers by accident, through a security plugin or CDN setting, or build their main content with JavaScript a simple crawler never runs.
The AI visibility category checks the practical basics: crawler access, an llms.txt file, an opening paragraph that answers the question directly, question-style headings, lists and tables that can be lifted cleanly, text present without JavaScript, and structured data that matches what the page actually says. None of these guarantees a citation. Each one removes a reason to skip the page. Our AI SEO services cover the rest, from entity work to measuring where you are cited.
SEO audits, answered plainly
Short, standalone answers. Email editorial@moxseo.com if any of them is wrong.
What is an SEO audit?
A structured check of a page or site against what affects how search engines crawl, index and show it: technical settings, content, links, speed, structured data and, now, how easily AI systems can read it. A useful audit ends in a prioritised fix list, not just a score.
What does this free SEO audit tool check?
It runs 106 checks on one page in 14 categories, from core SEO and content to security, structured data and AI visibility. It grades the page A to F, lists fixes in priority order, and adds Lighthouse scores, Core Web Vitals field data when available and a screenshot from Google PageSpeed Insights.
How often should I run an SEO audit?
After any change to templates, plugins, hosting or robots.txt, and before and after a redesign or migration, when indexing settings and redirects most often break. Otherwise, a monthly or quarterly check of your key pages catches problems that creep in.
Can I do my own SEO audit?
Yes. A tool covers the mechanical checks and says what to change. It cannot judge whether your content answers the question better than the pages that already rank, or whether your site structure makes sense. That needs a person who knows your market.
How much does an SEO audit cost?
This one is free, with no signup and no paid tier. If someone quotes for an audit, ask what it covers beyond what a free tool already shows.
Does the audit check page speed and Core Web Vitals?
Yes, in two ways. The Performance category measures server signals on our fetch, such as response time, HTML size and compression. A mobile Lighthouse run from Google PageSpeed Insights adds lab metrics and, when Google has enough real-user data, Core Web Vitals field data. Lighthouse scores do not count towards the grade.
Does it check readiness for AI search?
Yes. The AI visibility category checks robots.txt access for GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot and Google-Extended, llms.txt, a direct opening answer, text readable without JavaScript, and structured data that matches the visible text. Passing does not guarantee citations; it removes reasons to skip the page.
Can it audit my whole website?
No. It audits one page per run and does not crawl the site. It reads robots.txt, llms.txt and the sitemap, and samples the page's links and images, but other pages are not checked. Run it on one example of each template: home, category, product or service, and blog post.
Is my URL stored?
Each URL's result is cached on our server for up to six hours, and a short-lived request counter is kept for rate limiting. The Lighthouse part sends the URL to Google PageSpeed Insights.
What does each grade mean?
A (90 to 100): strong, only fine-tuning left. B (80 to 89): good, a few fixes worth making. C (70 to 79): average, several issues. D (60 to 69): weak, fix failed checks first. E (50 to 59): poor, core problems. F (below 50): failing, start with the priority fixes.
Go deeper on one area
All 24 free tools- On-Page and Indexability AuditA focused check of titles, canonical, status and indexing signals.
- AI Crawler Access CheckerSee which AI crawlers your robots.txt lets in, rule by rule.
- llms.txt Generator and ValidatorWrite or check the llms.txt file the audit looks for.
- AI Answer Extractability CheckerTest how easily a passage can be lifted into an AI answer.
- Schema Markup ValidatorInspect each structured data block in detail.
- Redirect CheckerTrace every hop between a URL and its final page.
An audit finds the problems. Fixing the right ones
is the work.
A grade tells you where a page stands, not what will move your results. Book a free 30-minute call with Sakshi Kumari or Ashish Khan to go through your audit, or see our SEO services.
A call is not an engagement. We never guarantee rankings or AI citations.




