Citability and entity signals are the parts of a page that give a generative system something worth attributing and an unambiguous source to attribute it to. Citability lives in sentences: a specific figure with its scope, a named source, a quotation from someone identifiable, a date that says when it was true. Entity signals live around the sentences: who wrote the page, which organization stands behind it, when it last changed, and whether the site can be checked and contacted.
Answer-readiness, the AEO half, decides whether a passage can be lifted cleanly. This guide covers the GEO half: whether the lifted passage carries a reason to trust it and a name to put next to it. It walks each signal, says what the published evidence and vendor documentation support, gives a by-hand check for one page and an at-scale method for a site, and maps everything to the weighted signals in GEOBee’s GEO lens.
What are citability and entity signals?
Citability and entity signals are page-side properties that make content attributable: specific sourced claims, a named author, a clearly identified publisher, honest dates, visible trust surfaces, and outbound links to evidence. GEOBee’s GEO lens scores seven of them with published weights that sum to 100 (the three lenses):
| Signal | Weight | What it checks | Section below |
|---|---|---|---|
| Citability | 25 | Statistics, outbound citations, and quotable blockquotes | Citable sentences; linking out |
| Author / E-E-A-T | 15 | A visible author byline or Person schema | Authorship |
| Freshness | 15 | A recent published or modified date | Honest dates |
| Entity clarity | 15 | Organization or Person schema with sameAs links | Entity clarity |
| Trust | 10 | HTTPS, valid schema, and a visible way to make contact | Trust surfaces |
| Depth | 10 | Substantive coverage, with more credit past ~800 words | Depth |
| AI bot access | 10 | robots.txt allows the AI crawlers to reach the page | Access |
The weights are a scoring choice, published so they can be argued with. They are not a claim about how any answer engine weighs these properties; no engine publishes that.
Citable sentences: the 25-point signal
A citable sentence is one a system can lift and attribute without rewriting it. The best public evidence for what that looks like is the GEO research paper by Aggarwal and co-authors, which tested nine ways of editing a source and measured how much of a generated answer the source then accounted for. Adding citations, quotations, and statistics led, and the abstract reports visibility gains “by up to 40% in generative engine responses” (arXiv 2311.09735). Keyword stuffing did not help.
That result comes from the authors’ own pipeline: five search results, one model, edits made by a model. It says text carrying evidence gets more of an answer once it is in the candidate set. It does not say anything about getting into the set. What makes a page citable reads the paper closely and turns it into five writing rules; the short version is:
- Specific, scoped claims. A figure with a unit and a scope, not an adjective.
- Named sources. The source named in the sentence as well as linked, because the words travel and the link may not.
- Attributed quotations. A named person or document, not “experts say.”
- Self-contained subjects. The sentence names what it is about. A passage lifted out of a page loses the title, the navigation, and the paragraph before it.
- Dates on facts that change. “As of October 2026” keeps a sentence honest after the fact moves.
One rule overrides those five: never add a number you cannot source. A page that invents a statistic to look citable is worse than a page with none.
By hand. Highlight every sentence with a number on the page and check each for a unit, a scope, and a source. Then pick the one sentence you would most want quoted and paste it into an empty document. If it no longer says what it is about, rewrite it until it does.
Authorship: who is speaking
Authorship tells a reader, and any system that reads the page, who is responsible for the claims on it. Google’s guidance on helpful content says: “We strongly encourage adding accurate authorship information, such as bylines to content where readers might expect it” (Google Search Central, last updated 2026-10-05). The same page says of experience, expertise, authoritativeness, and trust that “trust is most important.”
Google’s Article structured-data guidance sets out how to mark the author up (Google Search Central, last updated 2026-09-08):
- Put only the person’s name in
author.name, not a job title or “by.” - Use
author.urlfor “a web page that uniquely identifies the author.” - List each author in their own
authorentry rather than merging names. - Use
Personfor people andOrganizationfor organizations.
A byline and its markup should describe the same person, and the person should have a page. A minimal pattern, with illustrative names and URLs:
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "How to audit a site for AEO and GEO",
"author": {
"@type": "Person",
"name": "Jordan Example",
"url": "https://example.com/authors/jordan-example/",
"sameAs": ["https://www.linkedin.com/in/jordan-example"]
},
"publisher": { "@id": "https://example.com/#org" },
"datePublished": "2026-10-14",
"dateModified": "2026-10-14"
}
The weak version of authorship is a bio box that appears on every post and nowhere in the article’s own markup. Main-content extractors are built to drop text repeated across pages, so a credential that lives only in a template block may not survive extraction. State the author in the article, link to the author page, and mark it up.
By hand. Check that a visible byline exists, that it links to a page about the person, and that the Article JSON-LD names the same person as a Person. Paste the URL into a structured-data validator to confirm the markup parses.
Entity clarity: which organization this is
Entity clarity is whether a system can tell which organization, product, or person a page is about and stands behind, without guessing between namesakes. Google’s Organization guidance says some of its properties “are used behind the scenes to disambiguate your organization from other organizations,” recommends placing the markup “on your home page, or a single page that describes your organization,” and states there are no required properties (Google Search Central, last updated 2026-09-08).
The property that does the disambiguating is sameAs. Schema.org defines it as the “URL of a reference Web page that unambiguously indicates the item’s identity,” giving a Wikipedia page, a Wikidata entry, or an official website as examples (schema.org). Each sameAs link points at a profile that independently states who you are, so the set of them triangulates the entity. The example below is illustrative; the identifiers are placeholders.
{
"@context": "https://schema.org",
"@type": "Organization",
"@id": "https://example.com/#org",
"name": "Example Robotics",
"url": "https://example.com/",
"logo": "https://example.com/logo.png",
"sameAs": [
"https://www.wikidata.org/wiki/Q00000000",
"https://www.linkedin.com/company/example-robotics",
"https://github.com/example-robotics"
]
}
The @id lets every other page refer to the same organization, as the Article example above does with publisher. Three rules keep this honest: list only profiles you control or that are genuinely about you, keep the name identical to what appears on the site, and do not add sameAs links to a different entity with a similar name.
The markup is half of it. The other half is in the copy: name the organization and product in the body text, in a sentence that says what it is. A page that calls its product “our platform” nine times and names it once, in the title, gives a lifted passage nothing to attribute. Five checks for a page that ranks but never gets cited has the find-bar test for this.
By hand. Validate the home or about page’s Organization markup, open every sameAs URL to confirm it resolves and is about you, and use find on two body pages to compare how often the brand name appears against “our tool” or “the platform.”
Honest dates: freshness without faking it
Freshness is a visible, accurate date for when the content was published and when it last substantively changed. Google’s guidance asks you to “add a user-visible date to the page and feature it prominently,” to label it as published or updated, to provide datePublished and dateModified in structured data, and not to “specify future dates” (Google Search Central, last updated 2025-12-10).
The failure that matters is the fake one: a template that stamps today’s date on every page at build time, or a dateModified that moves when a footer changes. That is a claim the page makes about itself that is not true, and it costs trust rather than earning freshness. Freshness signals and honest dateModified covers what counts as a modification and how to keep the visible and structured dates in agreement.
By hand. Compare the visible date with dateModified in the JSON-LD, then check whether the content actually changed on that date.
Trust surfaces: HTTPS, valid markup, and a way to reach you
Trust surfaces are the parts of a site that let someone check who runs it: HTTPS, structured data that agrees with the visible page, and an about page and contact route a reader can actually use. They are unglamorous and rarely audited, which is why they fail.
Google’s structured-data policies state two rules that most trust failures break: “Don’t mark up content that is not visible to readers of the page,” and “your structured data must be a true representation of the page content” (Google Search Central, last updated 2026-07-10). Markup that states a price, rating, author, or date the page no longer shows is not just a broken signal; it is a contradiction a system has to resolve. Markup also has to be where crawlers can read it: JSON-LD inserted by a tag manager after load is absent from the response that non-rendering crawlers receive, which JavaScript content and what never makes the trip covers.
By hand. Load the page over HTTP and confirm it redirects to HTTPS with no mixed-content warnings. Run it through a structured-data validator. Then find the contact route from that page in two clicks or fewer. If the only contact method is a form with no organization name or address anywhere near it, the site is harder to verify than it needs to be.
Linking out: evidence, not leakage
Linking out is the citation half of citability: the outbound links that let a reader, or a system, check where a claim came from. The GEO paper’s “Cite Sources” method, adding relevant citations from credible sources, was one of its three leading edits. GEOBee’s Citability signal counts outbound citations alongside statistics and blockquotes.
The old instinct to avoid outbound links to keep authority on the page does not fit this layer. A sentence that states a figure and links to the primary document behind it is checkable; a sentence that states the same figure with no link asks to be taken on trust. Link to the primary source, not to a roundup that quotes it, and name the source in the sentence.
By hand. List every link inside the body that leaves your domain. For each, confirm it goes to the primary source and that the sentence around it names that source in words.
Depth: coverage, not length
Depth is whether a page covers its subject well enough to be a source rather than a pointer. GEOBee gives more credit past about 800 words; that is a scoring threshold, not a target, and padding a page to cross it makes every passage weaker.
The better test is whether each section stands alone and answers something specific. Retrieval splits pages into passages, so depth that comes from more sections, each self-contained, helps; depth that comes from longer sections with the answer buried does not. Chunking: why passages have to stand alone covers how passage splitting works.
Access: the signal that gates the rest
AI bot access is the GEO signal that zeroes the others. A page whose robots.txt disallows the search crawler for a given assistant is not fetched by that crawler, so its citations, byline, and markup are never read by it. GEOBee weights access at 10 as a signal and treats a block as a Critical finding, because as a priority it outranks everything else on the page.
The policy question, which crawlers to allow, belongs to the crawler-access layer; AI crawler access: the technical layer of AI search covers which agent does what. Whether to block training crawlers is a separate decision, set out in training vs. retrieval crawlers. For a GEO audit, the only question is whether the site does what its policy says.
A worked example: one article, before and after
The signals are easiest to see together on one page. The example is fictional: an article on a robotics company’s blog titled “How much payload can a collaborative arm carry?” Every figure in it is illustrative.
Before. The article opens with two paragraphs about the history of industrial automation. The answer appears in the fourth section as “our arms handle most real-world loads with ease.” There is no byline; the author’s name appears in a bio box shared by every post. The visible date reads “Updated today,” because the template prints the build date. The JSON-LD is an Article with author set to the company. The home page has no Organization markup. The body has no outbound links.
Run through the signals, that page fails nearly every one. The one sentence that answers the question is unquotable: no figure, no scope, no subject. The author is an organization. The date is false. Nothing identifies which company named “Example Robotics” this is.
After. Six edits, none of them a rewrite:
| Signal | Edit |
|---|---|
| Citability | The answer becomes “As of October 2026, the Example Robotics ARM-X9 is rated for a 12 kg payload at full reach, per its published datasheet,” with the datasheet linked |
| Linking out | The safety section links the relevant standard and names it in the sentence |
| Authorship | A visible byline names the engineer who wrote it and links to an author page; the JSON-LD author becomes that Person |
| Freshness | The template prints dateModified from the CMS edit history, not the build |
| Entity clarity | The home page gains Organization markup with an @id and sameAs; the article references it as publisher |
| Trust | The author page and the article footer both link the contact page |
None of those edits changes what the article is about, and none adds length for its own sake. They change whether the one sentence that answers the question can be lifted with its subject, its figure, its source, its date, and a named person and organization behind it. That is what the GEO lens is checking for, signal by signal.
How to audit GEO signals across a site
Without a terminal, a crawler with custom extraction and a spreadsheet produce a per-URL table of every signal above. Scope the rules to your main-content element so navigation and footer links do not inflate the counts:
| Signal | Extraction rule (XPath) | Read in the spreadsheet |
|---|---|---|
| Outbound citations | count(//main//a[starts-with(@href,'http') and not(contains(@href,'yourdomain.com'))]) | Zero on a factual page is a finding |
| Blockquotes | count(//main//blockquote) | Context for the quotation check |
| Byline | Your byline selector, as text | Empty on article templates is a finding |
| JSON-LD | //script[@type='application/ld+json'], as text | Filter for Person, datePublished, dateModified |
| Visible date | Your date selector, as text | Compare against dateModified |
| Canonical and protocol | //link[@rel='canonical']/@href | Any http:// value |
Two sorts make the export useful. Sort articles by dateModified and look for clusters: hundreds of pages modified on the same day usually means a template touched the date. Group by template and look for whole templates with no byline or no JSON-LD, since those are one fix each.
In GEOBee, the GEO Readiness tab reframes a crawl around these signals, the Cite column carries each page’s citability, and the Schema column shows the detected JSON-LD type, or None, Invalid, or Partial when it is missing or incomplete. Each finding carries a one-line fix, such as adding a visible author and Person structured data.
GEO signals are layer 4 of a five-layer audit and only mean something once access and extraction pass; how to audit a site for AEO and GEO puts them in sequence and covers the re-crawl that proves a fix landed.
What these signals can’t do
They can’t make a page relevant to a question it does not answer, and they can’t put it into an assistant’s candidate set. They can’t outweigh the other sources competing for the same answer, most of which you will never see. And no published evidence shows that any one of them, or all of them together, produces citations at a predictable rate.
What they do is make sure that when your page is read, there is something in it worth attributing and a clear name to attribute it to. A specific sourced sentence, a real author, an honest date, and a legible organization are also what a careful human reader checks first. That overlap is the strongest argument for doing the work.
To score all seven GEO signals on every URL and see which templates are missing a byline, a date, or Organization markup, download GEOBee. The 7-day trial includes the full export.