SEO Checker
Paste a page URL and get a report on its title, meta description, headings, canonical, structured data, robots.txt, sitemap and security headers, with an optional Lighthouse speed test.
- Free, no sign-up
- The report is not saved
- Reads one public page per check
- Built by Mohamed Nasreldeen
On-page score
Domain authority (Open PageRank)
Google Lighthouse (PageSpeed)
A Lighthouse audit run through Google's PageSpeed API, on the mobile profile. It takes 15 to 30 seconds.
Sample pages
Fetches up to 8 pages from the sitemap and flags broken pages, missing meta descriptions and duplicate titles.
What each check means
The report groups its checks the same way. A green dot is a pass, amber could improve, red needs fixing, grey is information only.
On-page
| Title tag | Pass at 30 to 60 characters, a warning outside that range, a fail when the <title> is missing. |
| Meta description | Pass at 70 to 160 characters, a warning outside that range, a fail when it is missing. |
| H1 heading | Pass with exactly one <h1>, a warning with more than one, a fail with none. |
| Subheadings (H2) | Pass when the page has at least one <h2>. |
| HTML lang | Pass when the <html> tag carries a lang attribute. |
| Image alt text | Pass when no <img> is missing its alt attribute. |
| Links | Information only: how many links point inside the site and how many leave it. |
| Favicon | Pass when the page links an icon. |
Technical
| HTTP status | Pass for a 2xx response, a warning for a redirect, a fail for anything else. |
| Canonical link | Pass when a rel="canonical" link is present. |
| Indexable (robots meta) | Fail when the robots meta tag says noindex. |
| Mobile viewport | Fail when there is no viewport meta tag. |
| Structured data | Pass when the page has JSON-LD; the report lists the types it found. |
| hreflang | Information only: the number of alternate-language links. |
| robots.txt | Pass when the file exists, a fail when it blocks every crawler with Disallow: /. |
| Sitemap | Pass when a valid XML sitemap is found at the URL declared in robots.txt or at /sitemap.xml. A separate warning appears when the sitemap exists but robots.txt does not declare it. |
Social
| Open Graph tags | Pass with four or more og: tags, a warning with one to three, a fail with none. |
| Twitter Card | Pass with at least one twitter: tag. |
Content
| Word count | Pass at 300 words or more of visible text. |
| Keyword focus | Lists the most frequent words after removing common ones, and passes when the top word also appears in the title. |
Performance
| Server response | The time our server waited for the HTML: pass under 600 ms, a warning under 1,500 ms, a fail above. It is not a full page-load measurement; the Lighthouse test covers that. |
Security
| HTTPS | Fail when the final URL is not served over HTTPS. |
| Security headers | Counts five response headers: HSTS, Content-Security-Policy, X-Content-Type-Options, X-Frame-Options (or CSP frame-ancestors) and Referrer-Policy. Pass with four or five, a warning with two or three. |
AI readiness
| AI search access | Reads robots.txt for a full block of GPTBot, ClaudeBot, anthropic-ai, Claude-Web, PerplexityBot, Google-Extended, CCBot or Bytespider, and names the ones it finds. Blocking them is a choice, so this is a warning, never a fail. |
Authority
| Domain authority | Information only, shown when the Open PageRank index knows the domain: a 0 to 10 score, a global rank and a referring-domain count built from Common Crawl data. |
How the score is calculated
Every check that can pass or fail counts once: a pass is worth 1, a warning 0.5 and a fail 0. Information rows are left out. The score is the average of those values as a percentage, so 22 scored checks with two warnings give 21 out of 22, which rounds to 95. The label next to it reads Strong from 80, Decent from 60 and Needs work below that.
The score says how complete the page's on-page and technical basics are. It does not predict rankings: it knows nothing about how many people search for your topic or who links to you.
An example report
This site's own Google Play Icon Resizer page, checked with this tool on 1 October 2026 before that page was reworked. Score: 95 out of 100.
| Check | Result | Detail from the report |
|---|---|---|
| Title tag | Pass | 54 chars |
| Meta description | Pass | 152 chars |
| H1 heading | Could improve | 2 H1 tag(s) |
| Structured data | Pass | WebApplication, Offer, Organization, FAQPage, Question, Answer |
| Open Graph tags | Pass | 6 og: tags |
| Word count | Pass | 1570 words |
| Server response | Could improve | 1154 ms (server response only, not full page load) |
| Sitemap | Pass | 261 <loc> entries, declared in robots.txt |
| Security headers | Pass | 4/5 (HSTS, X-Content-Type-Options, X-Frame-Options, Referrer-Policy) |
| Keyword focus | Pass | Top words: play×39, icon×36, png×30, image×26, google×21. Top word appears in the title. |
The second H1 was real: the page repeated its heading inside a <noscript> block. That is the kind of thing the report is for, and it has since been removed.
What it does not check
The report reads one page: the HTML the server returns, its response headers, the site's robots.txt and its sitemap. It does not list your backlinks, estimate keyword volumes or track rankings; those need a paid index of the web. It also does not run JavaScript, so content added after load is invisible to it.
The Social group only counts tags. To write or correct them, use the Facebook link preview generator or the meta tag generator, publish, and run the check again on the live URL.
Frequently asked questions
Is the SEO checker free?
Yes. There is no sign-up and no limit on the number of URLs you check.
Does it store the pages I check?
No. Our server fetches the page once, builds the report and returns it to your browser; the code does not save the page or the report. The checked URL is added to the address bar so that you can copy a link to the same check.
Why is the score different from Lighthouse?
They measure different things. The score here is the share of the on-page, technical and security checks that pass. Lighthouse loads the page in a browser and measures rendering, accessibility and speed. Use the Run speed test button for the Lighthouse numbers.
Can it check a page behind a login or on localhost?
No. The page has to be reachable from the public internet without signing in. Local and private network addresses are refused.
Does it see content that JavaScript adds to the page?
No. The report reads the HTML the server returns, up to 2 MB, and does not run scripts. Text, headings and tags injected by JavaScript after load are not counted, which is also how a crawler sees the page on its first pass.
Affiliate links. For the two things this checker cannot see, search volumes and backlinks, I use KWFinder and LinkMiner. Both have a free tier. If you buy through these links, NasrTech earns a commission.