TOOL · ONE PAGE · ONE SET OF QUERIES
Does this page actually cover the words you want it found for?
Submit one page and up to five target queries. You get where each query does and does not appear on that page, how often, and what is not measurable from public HTML.
STAGE 01
The page and the queries
Leave it empty and the check still runs: status, robots, canonical, redirects, titles and links need no query. Only keyword placement does — so without one there is no overall score. That category is the largest part of the grade, and a total recomputed over the rest reads better than the page is.
Market and language are used for one thing: reading the results page in the section below. The crawl and every check built on it are the same in every market. They also travel with you into the SEO Agent.
Account required, free while the tools are being tested.
This reads the page out of the same site-wide crawl the SEO Agent runs, so a first check on a site takes as long as that crawl does. Nothing is saved to an app project.
STAGE 02
What the page shows
Nothing yet. Add a page URL to run; a target query is optional.
Recent checks
Kept in this browser only. Not an account archive: clearing site data, switching browsers or signing out removes it.
No checks yet.
What this checks, and what it does not
What follows is everything it can actually read. Anything not listed gets no verdict — stating the edge here beats leaving you to infer it from a report that never mentions it.
- Meta
- Title, description, canonical, robots directives, viewport, encoding, language, favicon. Lengths are measured by display width, with CJK characters counting double.
- Content
- Body length (characters for CJK), H1 count and length, H2–H6 sub-heading count, text-to-markup ratio, and whether the page carries anything a visitor can act through.
- Keywords
- Where your submitted queries land in the title, description, H1, sub-headings, opening text and URL, plus a whole-page leaderboard of one- to five-word phrases.
- Links
- Internal outlinks, empty anchor text, external destinations and their rel safety.
- Images
- Image alt coverage, declared width and height, and lazy loading.
- Sharing and structured data
- Open Graph title/description/image, Twitter card, and JSON-LD types and parse errors.
- Technical
- HTTPS, status and redirects, response time, URL shape, HTML weight, hreflang, robots.txt and sitemap reachability, sitemap membership, and whether the body is in the static HTML.
- Site context
- The ones only a full-site crawl can answer: duplicate titles and descriptions, sitemap pages nothing links to, broken outbound links, and click depth.
- The results page
- Page one for your primary query in the market you chose: who holds the top ten, whether you are among them, and how many results show sitelinks.
What it does not do
- It does not run JavaScript. Content, components and links mounted by client script are invisible to it — it will tell you whether the body is in the static HTML, but not what the page looks like after the script runs.
- It does not read stylesheets. Text hidden with CSS and boxes reserved with aspect-ratio are both outside what it can judge.
- It does not predict rankings or score difficulty. The results-page section is one sample taken now, not a trend.
- It does not look at backlinks, domain authority or traffic. What this page cannot change about itself is outside its scope.
- It does not give a heading outline. The crawl does not retain H2–H6 levels, so sub-headings can only be one merged list.
- It does not grade keyword density. The denominator is the captured text, where a correctly optimised page already reads around 20% — a band borrowed from whole-body density would call that page stuffed.
What this does and does not tell you
- Where does the score come from?
- Each check on this page is worth a set number of points; the score is their sum, restated out of 100. The weights are ours, not Google's — the number measures how well this page does the part it controls, not whether it will rank. A few conditions hold the score down on their own: a page that declares noindex, returns an error status, carries almost no copy, or is not about the keyword you gave. In those cases no amount of other work reaches a search result.
- Why does the first check take minutes?
- Your page is read out of a site-wide collection rather than fetched on its own. A second check on the same site within the hour reuses that collection and returns in seconds; after that the collection has expired and the crawl runs again.
- Will a high count rank the page?
- No. Where a keyword sits on a page is one input among site authority, page experience, competition and behaviour. This measures the input it can actually see.
- How many queries can I check at once, and how do I type them?
- Up to five, all in the one field, separated by commas — both the ASCII comma and the full-width one, and a newline counts too. Repeats are folded into one, anything past five is not submitted, and the field says how many it dropped. One query is marked primary: most fields covered wins, then the longer query, then the order you typed them. Topic focus in the score reads that one query only, so adding exploratory words alongside your real target cannot lower the page's score.
- Are brand terms treated differently?
- They are labelled, and that is all — no points either way. The test is mechanical: the hostname is split into labels and compared against what you typed. The result is published as an observation, never as score, because a brand term sits at a density that would read as thin for a topic term and judging the same number twice is not honest. A single CJK word has no Latin label to compare against, so it is marked not applicable rather than not matched.
- Why is keyword density not scored?
- Because two different denominators appear on this page and mixing them produces opposite conclusions. The per-query density is measured inside the captured text — title, description, the heading set and the opening passage — where a normally optimised page already sits near 20%, so the familiar 0.5%–3% band would call a well-built page keyword stuffing. The whole-page term tables use the page body's counting units instead. Both numbers name their own denominator, but they cannot be compared, so we report them and grade neither.
- How do I read the whole-page term tables?
- The page body is cut into one- to five-word combinations, with the top 15 kept for each length. Term density is occurrences divided by total units. Occupancy density is occurrences times phrase length divided by total units, so phrases of different lengths can be compared — overlapping occurrences are counted each time, which is why a long phrase on a page that repeats one word can exceed 100%. Function words are removed from the single-word table only; phrase tables keep them, because "the astrology of" is how people actually write.
- Why is JavaScript not executed?
- The crawl reads the HTML the server returned, so body copy, components and links mounted by front-end script are invisible to this tool. It does not pretend otherwise: one check reports whether the body text is in the static HTML at all. When it is not, the word count and the coverage on this page were both measured under that condition — do not read them as what a browser finishes rendering.
- Where does the search-results section get its data?
- From a third-party search-results source, for the market and language you picked above, as one desktop sample of page one: who holds the top positions, whether you are among them, and how many carry sitelinks. Results move daily, so this is a snapshot rather than a ranking history or a difficulty score. It is also the one paid call this tool makes, which is why market and language are lists — an unsupported pair never leaves a request at all.
- Does it work on Chinese pages?
- Yes. Body length counts one unit per CJK character. Title and description length is measured in display width, with CJK characters counted as two, which lands closer to where a search result actually truncates. The term tables split on the same basis.
- Where are my past checks stored?
- In this browser only. It is not an account archive: clearing storage, switching browsers or signing out loses it. When one page has been checked more than once, the list shows how its score and coverage moved.
- How is this different from the SEO Agent?
- They run the same site-wide crawl. This tool reads the one page you named out of that crawl and answers around the queries you gave; the Agent reads the whole site. That is why the first check waits for the crawl, and why the same site checked again within the hour comes back in seconds. The report hands this page and its queries straight to the Agent.
- Does it cost credits?
- No. The tool is free while it is being tested.
Where to go next
This page answers how far one page gets on its own. The rest of the questions live in the other tools.
- Site-wide SEO AuditThe same crawl, read across the whole site: duplicate titles, broken links, click depth.
- Internal Link AuditWhich pages nobody links to, where the links come from, and how deep they sit.
- Keyword Opportunity MapCandidates except explicit-zero terms whose page one shows a young domain, low-traffic domain, or community result.
- GSC Opportunity FinderHigh-impression, low-click queries from your own Search Console data.
- Traffic Drop DiagnosisCompare two periods before deciding why organic traffic changed.