geo

What makes a page citable: stats, sources, quotable blocks

What the GEO research paper tested, what it found, and where it stops — then how to write citable sentences and count them across a site.

A citable page is one with sentences a generative system can lift and attribute without rewriting them: a specific figure with its scope, a named source behind it, a quotation from someone identifiable, and a date that says when it was true. Those are properties of individual sentences, not of the page as a whole, which is why a long, accurate, well-ranked page can still offer nothing worth quoting.

The best public evidence for this is a 2023 research paper that tested which edits to a source change how much of it shows up in a generated answer. Here is what it measured, what it didn’t, and the writing method it supports, with checks for one page and for a whole site.

What did the GEO paper actually test?

The paper is “GEO: Generative Engine Optimization” by Aggarwal, Murahari, Rajpurohit, Kalyan, Narasimhan, and Deshpande, first posted to arXiv in November 2023 and accepted to KDD 2024. It asks a narrow question: if you edit the text of one source, does that source take up more of the answer a generative engine writes?

To answer it, the authors built a benchmark, GEO-bench, of 10,000 queries drawn from public question datasets, a list of trending queries, and questions generated with GPT-4. For each query they fetched the top five Google results and had gpt-3.5-turbo write an answer from those five sources, with citations. Then they rewrote one source using one of nine methods and measured whether its share of the answer changed.

The nine methods, in the paper’s own terms:

  • Authoritative — make the tone more persuasive and authoritative
  • Statistics Addition — replace qualitative discussion with quantitative statistics where possible
  • Keyword Stuffing — add more keywords from the query, as classic SEO would
  • Cite Sources — add relevant citations from credible sources
  • Quotation Addition — add relevant quotations from credible sources
  • Easy-to-Understand — simplify the language
  • Fluency Optimization — improve the fluency of the text
  • Unique Words — add distinctive words where possible
  • Technical Terms — add technical terminology where possible

“Visibility” was scored two ways. Position-Adjusted Word Count measures how many words in the answer are attributed to a source, weighted toward the top of the answer. Subjective Impression is a set of seven model-graded judgments, such as relevance, influence, and how likely a reader would be to click. Neither is “was this page cited by a production assistant.” Both are measurements inside the authors’ own pipeline.

What did it find?

Three of the nine methods led. In the authors’ words, “our top-performing methods, Cite Sources, Quotation Addition, and Statistics Addition, achieved a relative improvement of 30-40% on the Position-Adjusted Word Count metric and 15-30% on the Subjective Impression metric” (arXiv 2311.09735v3, section 4). The abstract summarizes the headline as a boost to visibility “by up to 40% in generative engine responses.”

Keyword stuffing went the other way. The paper reports that it and similar methods “offer little to no improvement on generative engine’s responses,” and in its main results table keyword stuffing scored below the unoptimized baseline on Position-Adjusted Word Count.

Two further findings matter for practitioners:

  • Lower-ranked sources gained more. When every source was optimized at once, “the Cite Sources method led to a substantial 115.1% increase in visibility for websites ranked fifth in SERP, while on average, the visibility of the top-ranked website decreased by 30.3%.” The share of an answer is a fixed pie; edits redistribute it.
  • The best method depends on the domain. The authors report that categories such as “Law & Government” and question types such as “Opinion” benefited most from added statistics, and that each method’s effect varied by domain.

The authors also repeated the experiment on Perplexity.ai, uploading source text as files and running a 200-query subset of the test set. There, “the best performing methods improve upon baseline by 22%” on Position-Adjusted Word Count and 37% on Subjective Impression (Table 7), against 41% and 28% in the main setup — and keyword stuffing again did worse than no optimization. It is a partial replication on a small sample, not a second full study.

Where does the paper stop?

It measured a research setup, not the assistants your readers use. Every limit below comes from the paper’s own design or its limitations section.

  • The engine was built by the authors. Five Google results, one model, one prompt. Production assistants retrieve from their own indexes, decide how many sources to read, and don’t publish their pipelines. A result inside a five-source window says nothing about whether your page enters the window.
  • The edits were made by a model. Each method is a prompt applied with GPT-3.5; the prompts are in the authors’ public repository. “Statistics Addition” means a model inserted statistics. It does not mean those statistics were checked.
  • Rankings weren’t tested. The limitations section says it plainly: “we didn’t evaluate how GEO methods affect search rankings.”
  • It may age. The authors write that methods “may need to adapt over time as GEs evolve, mirroring the evolution of SEO.”

So read it as evidence that, when a model synthesizes an answer from sources it has already been handed, text carrying statistics, quotations, and citations gets more of the answer. That is a finding about what makes text liftable, not a measurement of citation rates, and no number in it transfers to your site.

What makes a sentence citable?

Turn the three winning methods into writing rules and add the two properties every lifted sentence needs, and you get five. All of them apply to the sentence, not the page.

A specific claim. A figure with a unit and a scope beats an adjective. “Response times are fast” can’t be quoted; “the documented p95 response time is 200 ms for payloads under 1 MB” can. The scope is what keeps the figure true once it’s out of context.

A named source. The figure links to where it came from — the primary document, not a roundup that cites it. Name the publisher in the sentence as well as in the link, because the link may not travel with the passage but the words will.

An attributed quotation. A quotation carries a named person or document and a role. “Experts agree” is not a source. A sentence that quotes a standard, a specification, or a named practitioner gives a synthesizer something it can attribute verbatim.

A self-contained sentence. The subject is named inside the sentence, not inherited from the heading or the paragraph before. Retrieval splits pages into passages and can surface one without its neighbours — chunking: why passages have to stand alone covers the mechanics. A figure attached to “it” is a figure about nothing.

A date. Facts that change carry an “as of.” “As of October 2026, the API allows 1,000 requests per minute per key” stays honest after the limit changes; without the date, the sentence becomes wrong without anyone editing it.

A paragraph before and after, from a hypothetical API reference page — the figures are illustrative:

Our API is fast and generous with limits. Most teams never hit them,
and if they do, it handles retries gracefully.
As of October 2026, the Example API allows 1,000 requests per minute per
key, per the published rate-limit reference. Requests over the limit
return 429 Too Many Requests with a Retry-After header in seconds.

The second version names its subject, states checkable facts, dates the one that will change, and points at a source. The discipline that makes a sentence liftable also makes it verifiable.

One rule overrides the five: never add a figure you can’t source. Nothing in the paper’s method checks that an inserted statistic is true. On a real page an invented number is a liability, and it’s the first thing a careful reader checks.

How do you check one page by hand?

Take the page’s main content — skip nav, footer, and sidebar — and run four passes:

  1. Figures. Highlight every sentence containing a number. For each, ask whether it has a unit, a scope, and a source. A figure with none of the three is decoration.
  2. Outbound sources. List every link that leaves your domain from inside the body. Check that each points to a primary source, and that the sentence it sits in names that source in words.
  3. Quotations. Find every quoted passage and blockquote. Each needs a named speaker or document.
  4. Standalone test. Copy the three sentences you’d most want quoted into an empty document. If any no longer says what it’s about, restate the subject.

If a page answers a factual question and fails passes 1 and 2 entirely, it has nothing for an extractor to attribute, however good the prose is. The answer block is the structural companion to this check — the 40–60 word answer block covers where the liftable sentence should sit.

How do you check it across a site?

Without a terminal, a crawler with custom extraction and a spreadsheet gets you a per-URL table. Scope every rule to the main content element your templates use — //main or //article — so navigation and footer links don’t inflate the counts.

Add three extraction rules:

  • Outbound links: //main//a[starts-with(@href, 'http') and not(contains(@href, 'yourdomain.com'))]/@href — export every match, one URL per cell or joined in one cell.
  • Blockquotes: //main//blockquote — any match counts.
  • Body text: //main as text, for the figure count.

If your crawler supports XPath functions, count(...) around the first two returns the number directly. Otherwise count in the spreadsheet. For a cell of space-joined outbound URLs in column C:

=IF(LEN(TRIM(C2))=0, 0, LEN(TRIM(C2)) - LEN(SUBSTITUTE(TRIM(C2), " ", "")) + 1)

For figures, the cheapest test is whether the body-text column D contains one at all:

=REGEXMATCH(D2, "[0-9]")

For a real count, use your crawler’s content-search feature instead: most accept a regular expression such as [0-9][0-9,.]*\s?(%|percent|million|billion) and report matches per page, which is more reliable than counting in a spreadsheet. Sort by outbound links ascending, then by figures ascending. Pages at the top that exist to answer a factual question are the work list.

In a terminal, the same counts for one URL:

curl -s "$URL" | grep -oE 'href="https?://[^"]+"' | grep -vc 'yourdomain.com'
curl -s "$URL" | sed 's/<[^>]*>/ /g' | grep -oE '[0-9][0-9,.]*%?' | wc -l

Both are rough — the first counts nav and footer links too — which is why the scoped crawler rules come first. Either way, counts find candidates, not verdicts: a page whose outbound links all point at its own social profiles counts well and has no sources at all.

How GEOBee scores it

Citability is the heaviest signal on GEOBee’s GEO lens, weight 25 of 100, and it looks for the same three things the paper’s leading methods add: statistics, outbound citations, and quotable blockquotes. The three lenses publishes the weight beside the other six GEO signals. Like the counts above, it measures presence, not truth — it can see that a figure and a link exist, not whether the link supports the figure.

The paper and the score share a limit: both describe text that is easier to lift and attribute, and neither predicts whether a given assistant will retrieve the page. Answer Engine Optimization: a page-level guide sets out the extraction side these signals sit next to.

To see which of your URLs carry no figures, sources, or quotations, download GEOBee and crawl the site — Citability is scored per URL, and the same crawl re-run after an edit shows whether the gap closed.

On this page