SEO Analyzer
Paste a URL and get a full on-page SEO audit, title, description, headings, Open Graph, Twitter Card, structured data, and image alt text. No signup, no crawl limit.
Enter any publicly accessible URL to get a full on-page SEO audit. The page is fetched server-side and analyzed for title, meta description, headings, Open Graph tags, structured data, images, and more. Nothing is stored, your URL is checked and discarded immediately.
How to run an on-page SEO check
Enter a URL and get a score from 18 on-page checks, with an explanation for each.
- 01
Enter the page's URL
Check a specific page rather than only the home page. Templates differ, so a product or blog page often has problems the home page doesn't.
- 02
Read the score, then the failures
The score summarises 18 checks. Start with anything marked as failed, then the warnings. Each check explains what it found, such as the title's character count.
- 03
Fix, then run it again
Most fixes are in the page's head or template. Re-run after publishing to confirm the change is live on the real URL.
What the 18 checks look at
Our server fetches the URL, following redirects, with a 12-second limit, and reads the HTML it gets back. Each check is a pass, a warning or a fail:
| Check | Passes when | Otherwise |
|---|---|---|
| HTTPS | Final URL uses https:// | Fail |
| Title present and 30–60 characters | <title> exists and fits typical search result width | Fail if missing, warn if outside range |
| Meta description present and 120–160 characters | Description exists and is a usable snippet length | Fail if missing, warn if outside range |
| H1 present, and only one | The page has a single main heading | Fail if none, warn if several |
| H2 present | The content has subheadings | Warn |
| Canonical | A canonical link tag exists | Warn |
| Viewport | A mobile viewport meta tag exists | Fail |
| Indexable | No noindex in the robots meta tag | Warn |
| og:title, og:description, og:image, twitter:card | Social sharing tags exist (4 checks) | Warn each |
| Image alt text | Images have alt attributes; up to a quarter missing is a warning | Warn or fail |
| Structured data | At least one JSON-LD block | Warn |
| Server response | Under 800 ms passes, up to 2 s warns, slower fails | Warn or fail |
How the score is calculated, and what it isn't
Each pass earns 2 points, each warning 1 and each fail 0, out of 36 for the 18 checks. That's turned into a percentage: 85 and above is Excellent, 70 and above Good, 50 and above Needs Work, and below 50 Poor. A page that passes 14 checks and warns on 4 scores 89%.
The score measures basic on-page hygiene, not how well the page will rank. Google ranks pages mainly on how well they answer a search, the quality of the content and the links pointing to it, none of which a checklist can see. A page scoring 100% can still rank nowhere if the content is thin, and a 60% page with genuinely useful content can rank well. Use the score to catch mistakes, not as a target.
When to run the analyzer
A pre-launch check on page templates
Run one page of each type. A missing viewport or H1 on a template usually affects every page built from it.
Spotting a noindex left on after launch
The indexable check catches the classic mistake of a staging noindex tag making it to the live site.
Quick audits for clients
Run a client's key pages and walk through the failures in plain language before suggesting a deeper audit.
Limits worth knowing
- The speed check times how long our server takes to get the HTML. It isn't Core Web Vitals or a real-user measurement; use PageSpeed Insights for those.
- Only the HTML the server sends is analysed. Titles, headings or tags added later by JavaScript aren't seen.
- One page at a time. It doesn't crawl a site, check internal links or find broken pages.
- Content quality, keyword relevance and backlinks aren't assessed at all.