BlogFindings

How to format content for AI search: 80,761 of 104,474 list items were navigation

Lantad requested the robots.txt and then the home page of all 1,419 hostnames in this repository's committed corpus on 27 September 2026 and read the raw bytes with no JavaScript executed. 1,071 home pages were both allowed and readable, and they carried 20,664 list elements holding 104,474 list items. 80,761 of those items, 77.30 percent, sat inside a nav, header, footer or aside element, or inside an element declaring a navigation, banner or contentinfo role. 428 of the 1,071 pages carried no list anywhere else.

16 min read Lantad

This run counted it. Lantad asked all 1,419 hostnames in the two committed corpus seed files for /robots.txt, evaluated the site root for its own crawler token before requesting anything else, then requested the home page of every host that allowed it and parsed the bytes that came back with no JavaScript executed. 1,071 answered HTTP 200 with an HTML content type and a body to read. Between them they carried 20,664 list elements and 104,474 list items, a median of 52 items per page, which is more list markup than most pages have paragraphs. The finding is not that these pages need more lists. It is where the ones they have are sitting, and what a machine reading the delivered bytes can do about it.

In short

  • How to format content for AI search is usually answered with advice to add bullet lists, and on the 1,071 corpus home pages Lantad read on 27 September 2026 the bullet list was already the most common structural element on the page: 20,664 list elements holding 104,474 items, a median of 52 items per page.
  • 80,761 of those 104,474 items, 77.30 percent, sat inside a nav, header, footer or aside element or inside an element declaring a navigation, banner or contentinfo role, so more than three quarters of the list markup on these pages is site furniture rather than anything a reader came for.
  • 428 of the 1,071 pages carried no list outside that furniture at all, and 230 of the 428 did carry lists, every one of which was navigation. A further 198 pages carried no list element of any kind, 66 of them while serving 500 words or more of prose.
  • Of the 5,247 lists that did sit outside the navigation regions, 1,981 had every item wholly enclosed in a link and nothing else, which is a menu that happens to sit outside a nav element. Those 1,981 lists hold 11,186 of the 23,713 items counted outside navigation.
  • The declaration that would separate the two is mostly absent. 338 of the 1,071 pages declared no main element and no role of main, 27 declared more than one main which the HTML Standard forbids, and 17 of the 1,068 pages re-read the same day declared a schema.org ItemList in JSON-LD, 59 nodes covering 541 declared items.
StageHostnamesWhat it excludes
Corpus seed files1,419Nothing. Two committed sampling frames.
Returned a robots.txt status1,37445 where the request never produced a status
Allowed LantadBot at the root1,32412 by an explicit rule, 38 by a 5xx treated as disallow
Home page answered 200 with HTML1,071214 that answered 403, 35 other non-200, 3 unusable, 1 timeout
Carried at least one list element873198 pages carrying no ul, ol or dl at all
Carried a list outside the navigation regions643428 where every list, if any, was navigation
One GET of https://<host>/robots.txt, then one GET of https://<host>/, each as LantadBot/1.0 with redirects followed, a fifteen second timeout on robots.txt and twenty on the home page, no JavaScript executed and from one network location. Measured by Lantad on 27 September 2026 across the 1,419 hostnames in worker/seeds/corpus-seeds-platform.json and worker/seeds/corpus-seeds-industry.json.

What the standard says a list element means

Three elements carry a list in HTML and they are not interchangeable. The HTML Standard, a Living Standard that carried the date 25 September 2026 when it was read on 27 September 2026 at html.spec.whatwg.org/multipage/grouping-content.html, defines the ul element as representing "a list of items, where the order of the items is not important", and the ol element as representing "a list of items, where the items have been intentionally ordered, such that changing the order would change the meaning of the document". The dl element it defines separately, as "an association list consisting of zero or more name-value groups (a description list)". The li element gets one sentence: it "represents a list item".

Those definitions matter here because only one of the three is in real use. Of the 20,664 list elements counted, 20,150 were ul, 300 were ol and 214 were dl. At page level the gap is starker: 867 of the 1,071 pages used at least one ul, 97 used any ol and 39 used any dl. The element whose whole purpose is to say that sequence carries meaning appears on fewer than one page in ten, and the one that says order is irrelevant is on four pages in five. That is a reasonable distribution for a home page, which is mostly not a procedure, but it is worth holding next to the advice to format for extraction: a numbered list is the only list markup that tells a machine the order is a claim, and almost nobody is sending one. The outlier is harvard.edu, whose home page carried 20 ordered lists against 2 unordered, the reverse of every other page measured.

Nesting is common and deep. 9,961 of the 20,664 lists sat inside another list, and the deepest chain ran to six levels on fiocruz.br. A list inside a list inside a list is the standard shape of a drop-down menu expressed in markup, which is the first hint about what most of this material is doing. The average list held 5.1 items, so these are not long enumerations of facts. They are short groups, repeated many times per page, which is again the shape of a menu rather than of an argument. None of this is a defect and none of it is a prose parity failure: the markup is valid, it renders, and a screen reader reads it correctly. It is also not what this scanner currently scores, and the methodology page is the place that says so: no sub-score reads a list element at all, so every figure below is a census rather than a grade. It is simply not the thing the formatting advice imagines it is.

ElementWhat the standard says it representsElements countedPages using it
ulA list of items where the order is not important20,150867
olItems intentionally ordered, so changing the order changes the meaning30097
dlAn association list of zero or more name-value groups21439
liA list item104,474873
The three list elements, as the HTML Standard defines them (Living Standard, dated 25 September 2026, read 27 September 2026), against how many of the 1,071 readable corpus home pages used each. Lantad, 27 September 2026.

Where the list markup actually sits

Every list was classified once, by its ancestors and nothing else. A list counts as navigation here when it sits inside a nav, header, footer or aside element, or inside any element whose role attribute declares navigation, banner or contentinfo. Those are the regions the platform itself names as furniture: the WAI-ARIA 1.2 specification, a W3C Recommendation dated 6 June 2023, defines the navigation role as "A landmark that contains a collection of navigational elements" and the main role as "A landmark that contains the main content of the document". Nothing about the classification involves reading the words.

15,417 of the 20,664 lists were navigation by that rule, and 80,761 of the 104,474 items. 77.30 percent of every list item on these pages is furniture. The word counts run the same way and harder: 242,253 of the 375,898 words sitting inside list items were inside a navigation region, and a navigation item averaged 3.0 words against 5.6 for one outside. Taken across the whole body rather than just the lists, 404,797 of 1,255,759 words on these pages sat inside a nav, header, footer or aside, which is a rate this scanner has reported before on a much smaller sample: 1,395 of 2,729 text blocks were navigation on five captured pages, carrying under a fifth of the words. At 1,071 pages the shape survives.

The per-page distribution is the part the aggregate hides. 428 of the 1,071 pages carried no list at all outside the navigation regions, and 230 of those 428 did carry lists, every single one of which was navigation. acehardware.com is the clearest case: 178 list elements holding 1,840 items, 5,817 words on the page, and not one list outside the header, nav and footer. hdfcbank.com carried 470 lists and 1,491 items with 1,438 of the items in navigation. The median page carried exactly one list outside the furniture. Meanwhile 198 pages carried no list element of any kind, and 66 of those were serving 500 words or more of prose, which is the honest counterexample to the advice: a page can be readable, substantial and entirely list-free.

  • media-local 89.9%
  • finance 88.8%
  • healthcare 82.8%
  • wordpress-smb 81.7%
  • education 79.5%
  • saas 79.3%
  • shopify-dtc 79%
  • ecommerce 78.8%
  • saas-marketing 77.5%
  • government 76.9%
  • travel 68.7%
  • news 63.1%
  • static-docs 59.1%
  • wix-squarespace 57.7%
  • webflow 55%
  • spa-startups 42.4%
  • framer 31.2%
  • bubble-nocode 25.3%
Share of list items sitting inside a nav, header, footer or aside element, or an element with a navigation, banner or contentinfo role, by corpus stratum. Lantad, 1,071 readable home pages, 27 September 2026.

The one declaration that would separate the two

HTML has an element for this and it is not new. MDN's reference for the main element, last modified 10 September 2026, states that it "represents the dominant content of the body of a document" and that its content "should be unique to the document", adding that content repeated across a set of documents "such as sidebars, navigation links, copyright information, site logos, and search forms shouldn't be included unless the search form is the main function of the page". The HTML Standard puts the same idea in one line, that the main element represents the dominant contents of the document, and adds a hard constraint: "A document must not have more than one main element that does not have the hidden attribute specified".

338 of the 1,071 pages declared neither a main element nor a role of main. On those pages nothing in the delivered markup says which region is the content, so a reader has to guess from position, density or heuristics, and this scanner has already measured what that guess is worth: deleting the main element from five captured pages cut the extracted corpus from 13,615 words to 11,950, and on one of the five the landmark was worth 43 percent of the text. canadiantire.ca served 11,278 words with no main element and six lists. hdfcbank.com served 6,358 words, 470 lists and no main element. 27 further pages declared more than one main landmark, counting main elements and a role of main together. The standard's constraint applies to main elements without the hidden attribute and this run did not read that attribute, so the 27 is a count of declared landmarks rather than of confirmed violations; on hookagency.com the ten were ten main elements, and a document with ten dominant regions has told a machine nothing it can use. It is the same class of defect as a head carrying two descriptions, which is where 43 of 1,083 home pages ended up: the field exists, it is populated twice, and the duplication destroys the signal the field was for.

The split runs along tooling rather than along care, the same pattern found when 412 of 1,080 home pages named their site in neither source Google reads first. 35 of the 42 readable Bubble pages declared no main, and 27 of 42 Webflow pages, against 1 of 54 on Wix and Squarespace and 1 of 34 Shopify storefronts. A hosted theme emits the landmark and a page built block by block does not, which means the declaration is a property of the generator more than of the publisher. 108 of the 338 pages with no main also carried no words inside a nav, header, footer or aside, so on those pages neither half of the distinction is declared: there is no stated content region and no stated furniture, just a div tree. Whether any AI crawler weights the landmark is not something this run can answer, and no crawler vendor publishes that it does.

  • One main element or role 706 pages A single declared content region, which is what the HTML Standard allows and what an extractor can rely on.
  • More than one main landmark 27 pages Counting main elements and a role of main together. The hidden attribute was not read, so this counts declarations, not confirmed violations. hookagency.com carried ten main elements.
  • No main and no role of main 338 pages Nothing states which region is content. Includes canadiantire.ca at 11,278 words and hdfcbank.com at 470 lists.
  • Neither main nor any furniture region 108 pages No main, and no words inside a nav, header, footer or aside either, so neither half of the distinction is declared.
How the 1,071 readable home pages declared, or failed to declare, which region holds the content. Lantad, 27 September 2026.

Written by

Lantad

Published .

Ask how to format content for AI search and the answer comes back in the same shape almost everywhere: break the prose up, use bullet points, give the model something it can lift. The advice is cheap to give because it is cheap to follow, and it has the pleasant property of being roughly true about how extraction works. What it never says is how much list markup is already on the page, or what that markup is currently being used for.

Common questions

How should I format content for AI search?

On the evidence of this run, declare structure rather than add it. 338 of the 1,071 corpus home pages Lantad read on 27 September 2026 declared no main element and no role of main, so nothing in the markup said which region held the content, while the same pages already carried 104,474 list items of which 80,761 were navigation. Declaring the content region, using ol where the order is a claim, and declaring a real list of facts as a schema.org ItemList are the three changes these figures support. Whether any AI crawler rewards them was not measured here and no crawler vendor publishes that it does.

Do bullet points help a page get cited by an AI answer engine?

This measurement cannot say, and it is worth being clear that it cannot. No citation, ranking or retrieval outcome was measured on any of the 1,071 pages. What the run establishes is the state of the markup: bullet lists are already the most common structural element on these pages at 20,664 elements and 104,474 items, and 77.30 percent of the items are site navigation, so advice to add more of them is advice to add more of the page's most ambiguous markup.

How did you decide a list was navigation rather than content?

By its ancestors and nothing else. A list counted as navigation when it sat inside a nav, header, footer or aside element, or inside any element whose role attribute declared navigation, banner or contentinfo. No words were read to make that decision. The 5,247 lists that sat elsewhere were then tested a second way, and 1,981 of them held two or more items where every item contained link text and no other words, which is a menu whatever it sits inside.

What does this measurement not show?

It reads one page per hostname, so every figure describes home pages rather than sites, and a well formatted article three clicks in is invisible to it by construction. No JavaScript was executed, so a list written in during hydration counts as absent. Every request came from LantadBot from one network location on one date, so nothing here is evidence about what GPTBot, ClaudeBot or PerplexityBot receives. The corpus is an editorial sampling frame assembled for platform and industry coverage, not a random draw of the web, so every rate supports a statement about these 1,419 hostnames and nothing wider.

See what AI can read on your site

Run a free scan and get a graded report of exactly what AI crawlers can and cannot read, with ranked fixes.