Why isn’t this page ranking?

Paste any URL — a landing page, blog post or docs page — and get the full picture: meta & snippet issues, content quality, AI-agent readiness, site infrastructure and domain authority. Plus a copy-paste diagnosis you can send to anyone.

Scoring a draft that isn't live yet? Use the Blog Post SEO Checker — it scores the text.

What is a page analyzer?

A page analyzer fetches one live URL the way a search engine crawler would, reads the HTML it gets back, and reports every check it ran — the ones that passed as well as the ones that failed. Most checkers list only problems, which leaves you guessing about everything they did not mention; this one shows both sides.

It audits a live URL. The page has to be published and publicly reachable — no login wall, no bot-blocking firewall — because the tool requests it over the network, follows redirects, and also fetches the site's robots.txt, llms.txt and sitemap. If you want to score a draft that is not online yet, use the Blog Post SEO Checker instead: it scores the text you paste in, not a URL.

How to use the page analyzer

  1. Paste the full URL of a page that is already live, including https://
  2. Optionally add the keyword you want that page to rank for
  3. Press Analyze. The page, robots.txt, llms.txt, the sitemap and the domain's Domain Rating are fetched in parallel, so a slow robots.txt never holds up the report
  4. Read the biggest levers block first — it is the failures re-ordered by ranking impact, not by category
  5. Expand any red or amber row to see why that check matters and the specific fix
  6. Copy the shareable diagnosis to hand the findings to a developer or client

What each check group covers

GroupWhat it checksWhat a failure means
Meta & search snippetTitle tag, meta description, canonical URL, Open Graph tags, Twitter card — plus whether your target keyword is in the titleThe page may still be indexed, but its search and social result is being written for it rather than by you
Content qualityCrawlable word count, a single H1, H2 sectioning on long pages, internal links, image alt text, content visuals, the lang attributeThere is not enough substance, structure or context on the page for an engine to match it confidently to a query
AI agent readinessWhether the text is in the initial HTML or only appears after JavaScript runs, whether robots.txt blocks AI crawlers such as GPTBot, ClaudeBot or PerplexityBot, whether an llms.txt exists, and whether JSON-LD structured data is presentAssistants that do not execute JavaScript, or that are disallowed outright, cannot read or cite the page at all
Site infrastructureThe robots meta tag, robots.txt, a reachable sitemap, the mobile viewport, favicons, mixed content, and whether the URL redirectedSomething at the site level is limiting this page — a noindex or a blanket Disallow: / stops it ranking no matter how good the content is
AuthorityThe domain's Domain Rating, from AhrefsBacklink authority, not on-page SEO, is the ceiling on what this page can realistically compete for

How the score is worked out

Every page starts at 100. Each failed check subtracts points by severity: an error costs 12, a warning costs 4, and an informational note costs nothing. A page that cannot be fetched at all, or that returns an HTTP status of 400 or above, scores 0 and reports nothing else — there is no point grading a meta description on a page crawlers cannot reach.

Severity is about consequence, not effort: a missing lang attribute is an info note, while content that renders only via JavaScript is an error because a large share of crawlers see an empty page. Fix the errors first.

Frequently Asked Questions

Can I analyze a page that is not published yet?

No. This tool requests the URL over the network, so the page has to be live and publicly reachable. To check a draft, paste the text into the Blog Post SEO Checker at /tools/seo-checker — it scores the writing itself and needs no URL.

What is the difference between an error and a warning?

An error can stop the page ranking or being read at all: a noindex tag, a blanket crawler block, almost no crawlable text, content that only exists after JavaScript runs. A warning caps how well the page can do — a missing sitemap, no internal links, low domain authority. Errors cost three times as many points for that reason.

Why does it check robots.txt and llms.txt when I only gave it one page?

Because the most common reasons a single page will not rank are set at the site level. A robots.txt with Disallow: /, a missing sitemap, or AI crawlers blocked across the whole domain will sink a perfectly written page, and none of that is visible in the page's own HTML. Those files are fetched from the same origin as your URL.

Where does the Domain Rating come from?

Domain Rating is Ahrefs' 0–100 measure of a domain's backlink profile strength, and it is retrieved for the hostname of the URL you analyze. It is shown as a check rather than a verdict: below DR 20 the tool flags authority as a warning, because at that level backlinks are usually a bigger constraint than anything on the page.

Is the URL I analyze stored anywhere?

No. The checks run live each time you press Analyze, and nothing about the page is kept afterwards.

Want every one of these checks to pass before you publish?

Quillly writes, scores and publishes content with the meta tags, schema, internal links and llms.txt already in place — then submits it to 8 search engines.