Entity Density

Loading tool…

About Entity Density

Entity Density lists named people, organizations, places, products, and concepts on a page, then leads with how many of the top 20 sit in the title, H1, or first 100 words. Enter a Page URL or Paste code, optionally add Compare URL, and click Check entity coverage.

The header is Signposted coverage: N of M top entities, plus a percent. The four stats are Top entities, In title / H1 / lede, Unique named, and Words. Dates (attached only, top 3 by count) sit above Covered but not signposted. The Named entities table filters by Type and Placement, sorts by count, and downloads CSV.

A compare URL adds They have, you don't, You have, they don't, and Shared. This is not Google's Knowledge Graph and not a keyword-density grade.

When to use it

Use it after the draft names the people and products it claims to cover, and again when a competitor is cited on those names while your title still speaks in generics. Use it once per structural edit of the title or H1, not after every comma. Skip it if the page is a JavaScript shell you have not pasted.

How to use Entity Density

  1. 1Enter a Page URL or paste the article. A URL fetch is the first HTML response. Paste rendered HTML if the live view is a JavaScript shell.
  2. 2Optional: Compare URL. A second public page. Leave it blank if you only want this article's table.
  3. 3Click Check entity coverage. Read Signposted coverage first, then Dates, then Covered but not signposted, then the table.
  4. 4Filter, sort, and Download CSV. Type and Placement narrow the table. CSV includes placements, first position, and variants.

How to read the results

Load sample (Ada Lovelace Wikipedia fixture) kept Ada Lovelace on title, H1, and the opening, and refused to list 1843 as a named entity. Hello world. Click here. returned No named entities. A URL that is mostly chrome lands the same empty header: nothing recognisable survived chrome stripping.

Signposted coverage is the lead metric: of the top 20 (or fewer, if the page has fewer names), how many appear in title, H1, or the first 100 words. Covered but not signposted lists names used three or more times that miss all three of those slots. First position is percent through the article. The honesty line says pattern matching, not a knowledge graph.

Why this matters for AI search

Placement outranks frequency. A name in the title is a label the crawler can attach to the whole document. The same name nine times in paragraph six is a mention. The Ada Lovelace fixture puts her in the title and H1, so she is signposted even if a later paragraph repeats Analytical Engine more often.

That is why the header ignores raw Unique named until you read In title / H1 / lede. A product page that says the brand once in the footer and twenty times in a comparison table still looks unlabeled at the top. Move the name into the title or the first 100 words if you want that entity to be the thing the page is about.

What this tool cannot do

It cannot call a knowledge graph, execute JavaScript, or invent a name that is not in the HTML. URL fetches are five per hour. Localhost is blocked. Bare years and heading fragments are dropped on purpose. Some proper nouns will be typed wrong.

Common mistakes

Chasing Unique named upward. More rows is not better coverage. The signposted fraction is the finding.

Treating a misclassified product as a person. The honesty line is there because this is pattern matching.

Comparing against a JavaScript competitor URL. The compare fetch is HTML only. A shell compare produces compareError, not a real gap list.

Reading density per 100 words as a Google ranking factor. It is a local count on this page.

FAQs

Why use Entity Density?
Answer engines attach a page to names, not to keyword counts. This tool shows which people, places, and products appear, and whether the important ones sit in the title, H1, or first 100 words.
What does Signposted coverage actually count?
How many of the top 20 named entities appear in the title, the H1, or the first 100 words. Unique named can be larger. The lead number is that signposted slice.
Why is the entity count different from what I expected?
Chrome, nav, and heading fragments are stripped. Bare years are dropped. Variants collapse onto one row. If you counted every capitalized word, this list will look short. That is intended.
What is Covered but not signposted?
Names mentioned three or more times that miss the title, H1, and first 100 words. Frequent and still unlabeled at the top. Move the topic name into the title or the opening.
Does Check entity coverage use Google's Knowledge Graph?
No. Pattern matching plus a bundled place list. We do not call a knowledge graph API and we do not score entity SEO.
What do They have, you don't rows mean?
The compare page named that entity and yours did not. Shared means both pages have it. A failed compare URL shows an error instead of inventing a gap.
What belongs in Dates?
Attached dates only, capped at three by count. Bare years from archives are omitted and are not treated as named entities.
Can I run this on a JavaScript app?
The URL path reads the HTML file only. Most AI crawlers do the same. If the names appear after JavaScript, paste the rendered article.