GuideElection Readiness Series
Making your site readable, credible, and citable by AI systems
AI has become increasingly integrated in how voters receive information about elections. Whether through AI summaries provided atop search engine responses or by prompting election questions to chatbots, how AI returns information about elections in your jurisdiction is something you can shape and influence.
This guide opens with a plain-language overview of the four moves that matter: how your site is read, how to introduce yourself, how to control the crawl, and how to guide the machines toward your current pages. After that overview, a deeper playbook is organized into expandable sections so the page stays short. Open any section to go as deep as you need.
AI and search engines do not read your website the way a human does. They process information systematically, crawling through links, extracting text, and analyzing structure. What they find determines how they respond about your jurisdiction and your elections.
Crawlers look for clean, readable HTML with a logical heading structure (H1, H2, H3) and consistent terminology that uses the same name for the same thing every time. Across pages, inconsistent terminology and date formats make your content harder to retrieve, easier to misread, and more likely to look like two pages are saying different things.
| Example of inconsistency | AI process | Potential impact |
|---|---|---|
| Writing dates in different formats. "11/4" in one location, "Nov. 4" in another. | "11/4" is ambiguous on its own (November 4 or April 11), and a page that mixes formats is easier to misread. Writing the date out in full removes the ambiguity for AI, search, and human readers. | A voter asking "Is Election Day November 4?" is best served by a page that plainly states "November 4, 2025." A page that only says "11/4" is harder to match to that question and can be misread as a different date. |
| Using different terms for the same meaning, especially across cycles: "polls," "polling locations," "voting sites." | Mixed terms weaken keyword retrieval, so a query using one term may not surface a page that only uses another. Consistent wording raises the odds the right page is found and cited. | A voter asking "where is my polling location" may not be matched to a page that only ever says "voting site," so the AI may fall back on a weaker or older source. |
Beyond simply having your site read by AI, you can also tell AI exactly who you are. This helps distinguish your site as an official government website and an authoritative source on elections. Schema markup is a block of code that labels your website as a GovernmentOrganization, your election dates as Events, and your voter FAQ as a FAQPage, so AI does not have to guess.
Section 1.1 in the playbook below includes a copy-ready GovernmentOrganization example and the full list of useful schema types for election offices.
AI models learn from the web, and the web is messy. The bad election information AI repeats usually traces back to sources that look credible but are not: stale official pages with superseded deadlines, PDF graveyards of old guides and polling place lists, former officials' contact pages still indexed, and unofficial copies of your content on other sites. Every outdated page you leave crawlable is a possible AI response to a voter's question.
Enter robots.txt, a file that lets you block and constrain web crawlers. You may want to use it to limit training crawlers so outdated information is not used to build future AI models. At the same time, you want to make sure your robots.txt does not limit search and retrieval crawlers, so your information stays available when voters ask questions of AI. Major AI companies now publish separate crawler identities for these two jobs.
Training crawlersGPTBot (OpenAI), ClaudeBot (Anthropic), and CCBot (Common Crawl). Blocking these keeps outdated content out of future model training runs.
Training control tokensGoogle-Extended and Applebot-Extended are not crawlers. They are robots.txt tokens that tell Google and Apple whether to use your already-crawled content for AI training and grounding. They ride on Googlebot and Applebot and never appear in your server logs.
Search and retrieval crawlersOAI-SearchBot (ChatGPT), Claude-SearchBot (Anthropic retrieval), PerplexityBot, and Googlebot. Allowing these is what lets voters find you through AI-powered search and lets your pages be cited in current answers.
Mind the look-alikesClaudeBot and Claude-SearchBot are separate crawlers with separate user-agent strings. Blocking the wrong one produces the opposite of your intent.
Blocking a training crawler today does not remove content already scraped. The most reliable fix is to remove the source: archive outdated content under a clear "historical document" label, delete what has no archival value with a redirect in place, and treat every election cycle as a trigger to audit cycle-specific pages.
Where robots.txt controls access, the llms.txt file controls priority. It gives AI systems a structured map of which pages carry your up-to-date, authoritative information. For election sites, which may have years of accumulated content, llms.txt lets you list your current registration deadlines, polling place locator, election calendar, and contact page, and explicitly mark archives and past results as historical.
Adoption by major AI crawlers is still uneven, but the file costs nothing, free generators produce a first draft in seconds, and building it forces a useful content audit either way.
The sections below go deeper on everything above. They start collapsed so the page stays short. Open any section to read it, and use Print / Save PDF to expand and capture the whole guide at once.
Schema markup is machine-readable code embedded in your website that tells AI and search engines exactly what your content represents. It uses a vocabulary called Schema.org, an open standard maintained by Google, Microsoft, Yahoo, and Yandex. The markup is added as a JSON-LD script block in your page's HTML head. A basic GovernmentOrganization tag for a county election office looks like this:
{
"@context": "https://schema.org",
"@type": "GovernmentOrganization",
"name": "Larimer County Elections",
"url": "https://www.larimer.gov/elections",
"address": {
"@type": "PostalAddress",
"streetAddress": "200 W Oak St",
"addressLocality": "Fort Collins",
"addressRegion": "CO",
"postalCode": "80521"
},
"telephone": "+1-970-498-7820",
"areaServed": "Larimer County, Colorado"
}
Schema markup helps AI systems interpret and attribute your content correctly. Microsoft has confirmed it helps its models. Broader effects on AI citations are not yet proven, but the markup is low-cost and aids readability and accessibility. When a voter asks ChatGPT or Perplexity when voter registration closes in their county, structured data helps ensure the AI cites your official page rather than a news article, advocacy site, or outdated archived page.
Web accessibility and AI-readability are approached from different angles, but content that is accessible to screen readers is content AI systems can also process accurately, because both depend on the same underlying structure.
Practically, this means adding descriptive alt text to all images, including any text visible within the image, and using a consistent heading hierarchy where H1 is the page title, H2 marks major sections, and H3 marks subsections, never skipping levels. PDFs should be text-based rather than scanned images; use Optical Character Recognition (OCR) where needed. Tag headings and lists properly. Tables need proper header elements so AI understands what each column represents. Link text should be descriptive: "2025 General Election Calendar" tells both a screen reader user and an AI crawler what the link leads to, while "click here" does neither.
Election officials interested in learning more about web accessibility may find value in the Section508.gov Content Library for additional guidance, resources, and information.
AI systems are pattern-matching engines. Inconsistency in how you refer to offices, procedures, dates, and officials creates confusion in what the AI learns, which produces inconsistency in what it repeats.
The fix is straightforward. Use the official, legal name of your jurisdiction consistently across every page. Write dates in full: "November 4, 2025" rather than "11/4" or "Nov. 4th." Spell out deadlines explicitly, as in "Registration closes at 5:00 p.m. Central Time on October 7, 2025." Expand jargon acronyms on first use, for example "Voter Identification Number (VIN)" before shortening to VIN. And once you pick a term for a concept, use it everywhere: do not alternate between "polling place," "polling location," and "voting site" as though they are interchangeable.
AI systems favor authoritative sources. For election offices, authority signals include operating on an official .gov domain where applicable, maintaining consistent Name, Address, and Phone (NAP) data across your website and partner directories, and earning inbound links from trusted organizations like state election offices, the National Conference of State Legislatures (NCSL), the National Association of Secretaries of State (NASS), the Cybersecurity and Infrastructure Security Agency (CISA), and the Electronic Registration Information Center (ERIC). Maintaining an active presence in authoritative directories like USA.gov and vote.gov helps, as does publishing regular content updates with visible timestamps. AI systems weight freshness.
For NGOs and commercial vendors, authority signals matter equally. If your organization publishes election information or supports officials, make sure your "About" page clearly describes your mission, relevant funding sources if applicable, and relationship to official election administration. AI systems increasingly evaluate source credibility, and an organizational identity that is ambiguous or hard to verify can result in your content being deprioritized or mischaracterized.
AI models learn from the web, and the web is messy. Election misinformation frequently enters AI training pipelines through sources that look credible but are not: old government pages with outdated deadlines, archived news articles citing superseded rules, unofficial clones of official sites, and social media posts scraped into training datasets.
Common Crawl is a nonprofit that has maintained a freely available archive of web crawl data since 2007. Its data has been foundational to training many widely used AI models, including GPT-3 and others.
Every piece of content your organization publishes should have a clear lifecycle: creation, active use, archiving, and either permanent deletion or clearly labeled historical preservation. A clear lifecycle helps AI models and users, and it helps non-AI visitors too by decreasing the likelihood they stumble onto outdated content from your organization.
Outdated content with historical value should be moved to a clearly labeled archive section with a "historical document" notice. Content with no archival value should be deleted with a proper redirect in place. Add a review date to every time-sensitive page; many CMS platforms support content expiration workflows, and you should use them. Remove or archive pages for officials who have left office. A former clerk's bio with an active official email address is a data quality problem waiting to propagate. Treat every election cycle as a content lifecycle event: after each election, audit all cycle-specific content for archiving or removal.
When the same content exists at multiple URLs through subdomains, CMS quirks, syndication, or partner republication, AI systems may treat each version as a separate, potentially conflicting source.
Set canonical URL tags on every page, pointing to the definitive version. Serve pages over HTTPS. When partner organizations republish your content, ask them to link back to your canonical URL rather than reproducing the full text. Use 301 permanent redirects rather than 302 temporary redirects when pages move. Consolidate near-duplicate content into single authoritative pages.
You have real tools to direct AI crawlers toward your best content and away from drafts, test pages, and superseded documents.
Your robots.txt file (located at yourdomain.gov/robots.txt) controls which crawlers can access which parts of your site. In 2026, major AI companies publish distinct crawler identities for different purposes: training, search indexing, and real-time retrieval. Google and Apple handle the training side differently, with a control token (Google-Extended, Applebot-Extended) that rides on top of the standard crawler rather than a separate crawler of its own. Blocking a training crawler today prevents future training runs from using your content, but it does not remove content already scraped in prior runs. Robots.txt is a prospective control, not a retroactive one.
With that in mind, the strategy is to block training crawlers to stop outdated content from entering future AI training data, while allowing search and retrieval crawlers so voters can still find you through AI-powered search.
Keep the two problems separate. Blocking training crawlers protects future model versions, which matters but acts slowly and does nothing about answers voters get today. The wrong answers a voter sees right now almost always come from retrieval, where a search crawler fetches a live page at query time. So if a stale page is still reachable by search and retrieval crawlers, it can still be cited in a current answer even after you have blocked every training crawler. The fix is to keep search and retrieval crawlers off your stale paths, not just the training crawlers, and to remove or archive the source page itself.
These are not crawlers; they ride on the standard crawler and do not appear in logs.
Note the ClaudeBot / Claude-SearchBot distinction specifically: these are separate crawlers with separate user-agent strings. Blocking ClaudeBot blocks Anthropic's training use of your content. It does not affect Claude-SearchBot, which is what allows your pages to appear in Claude's search-powered answers. Blocking the wrong one produces the opposite of your intent.
# Block training crawlers and control tokens User-agent: GPTBot Disallow: / User-agent: ClaudeBot Disallow: / User-agent: CCBot Disallow: / User-agent: Google-Extended Disallow: / User-agent: Applebot-Extended Disallow: / # Allow search/retrieval, but keep them off stale paths User-agent: OAI-SearchBot Disallow: /archive/ Disallow: /results/2024/ Disallow: /results/2022/ User-agent: Claude-SearchBot Disallow: /archive/ Disallow: /results/2024/ Disallow: /results/2022/ User-agent: PerplexityBot Disallow: /archive/ Disallow: /results/2024/ Disallow: /results/2022/ User-agent: Googlebot Disallow: /archive/ Disallow: /results/2024/ Disallow: /results/2022/
For pages that should never appear in any AI or search results, such as staging pages, test content, internal forms, and draft documents, use noindex OR a robots.txt disallow, not both on the same page. A disallowed page is never fetched, so the crawler never sees the noindex. To suppress a page you care about, allow the crawl and apply noindex.
Whereas robots.txt limits or constrains automated crawling, llms.txt helps AI models identify and prioritize the important content on a site. Emerging in September 2024 and gaining some adoption through 2025 and 2026, the llms.txt file works like robots.txt but specifically for AI language models. Placed at your domain root (yourdomain.gov/llms.txt), it gives AI systems a structured map of your most important and authoritative content, telling crawlers not just that you exist, but which pages carry your most current and reliable information.
This matters for election offices in particular because most election websites have a structural problem that llms.txt directly addresses: years of accumulated content where new and old pages sit side by side with no signal to an AI about which is current. An AI crawling your site has no way to know that your 2024 election calendar is superseded by your 2026 one, or that a voter FAQ updated last month should be weighted more heavily than an archived press release from three cycles ago. Without guidance, AI systems treat pages with similar structure as roughly equivalent sources, so llms.txt provides that guidance.
A well-structured llms.txt for an election office should explicitly prioritize your current election calendar and key dates page; voter registration deadlines and eligibility requirements; your official polling place or vote center locator; current absentee and mail ballot request information and deadlines; your official contact page with address, phone, and email; your voter FAQ, if actively maintained and up to date; and the current cycle's candidate filing information, if applicable.
It should explicitly exclude or deprioritize archived results from prior cycles (link to an archive index rather than individual pages); past election calendars and superseded deadline pages; staff or official bios for people no longer in the office; PDFs from prior cycles like candidate handbooks, polling place lists, and sample ballots; press releases older than the current cycle; and any page marked as historical or archival.
# Larimer County Elections — llms.txt # Current as of: [date] # Questions: [email protected] ## About this office This is the official elections office for Larimer County, Colorado. All authoritative voter information is published at larimer.gov/elections. ## Priority pages — current election cycle - https://www.larimer.gov/elections/register: Voter registration and deadlines - https://www.larimer.gov/elections/vote-by-mail: Mail ballot information - https://www.larimer.gov/elections/polling-places: Current polling locations - https://www.larimer.gov/elections/calendar: Current election calendar - https://www.larimer.gov/elections/contact: Office contact information - https://www.larimer.gov/elections/faq: Voter FAQ (current cycle) ## Do not use for current voter information - https://www.larimer.gov/elections/archive: Historical records only - https://www.larimer.gov/elections/results/2024: 2024 election — archived - https://www.larimer.gov/elections/results/2022: 2022 election — archived
As of 2025 to 2026, major AI crawlers do not yet consistently fetch llms.txt files, and there is limited evidence of measurable impact on AI citations from the file alone. Its value is highest for AI agents, research tools, and IDE integrations that do actively read it, and it is likely to become more widely adopted as the standard matures. For election offices, building an llms.txt file is itself useful: it forces a content audit, clarifies which pages carry authoritative current information, and creates a documented inventory that supports the broader data hygiene work in this section. Even if adoption is uneven today, the file costs nothing to create and positions your site well as adoption grows.
These two files work together, not in competition. Robots.txt controls access: which crawlers can reach which parts of your site. llms.txt controls priority: among the pages a crawler can reach, which carry your most current and authoritative information. The combination is to use robots.txt to block both training and search/retrieval crawlers on your archive and deprecated paths, since that is the control retrieval crawlers actually honor today; use llms.txt as a secondary signal to point the crawlers that do read it toward your current, priority pages; and remove or redirect the stale source page wherever you can, because that is the only fix that works regardless of which crawlers cooperate.
Free generators listed in Section 3.3 can produce a starting llms.txt from your site in seconds. Treat the output as a first draft, and review it against the priority and exclusion guidance above before publishing.
Data hygiene is not a one-time task. AI systems are continuously updated, and what they say about your jurisdiction today may differ from what they say in six months.
On a quarterly basis, offices should consider querying the major AI tools, including ChatGPT, Perplexity, Google AI Overviews, and Claude, with direct questions about your jurisdiction: registration deadlines, polling place locations, contact information, officials' names and titles. When AI gives incorrect information, log it: record the query, the AI tool, the incorrect response, and the correct answer. AI errors usually trace back to a specific source like an old web page, a cached PDF, or an archived news story. Find that source and address it. OpenAI, Google, Perplexity, and Anthropic all have mechanisms for flagging factual errors; use them. Coordinate with state election offices, NGO partners, and commercial platform providers to keep information consistent across the ecosystem, because an error on a partner's site can become an error in what AI tells your voters.
Most commercial tools in this section are designed for WordPress or self-managed CMS platforms. Many county and municipal election websites run on state-managed or vendor-managed platforms where plugin installation is not possible. For those sites, the llms.txt file and robots.txt crawler controls are the two most universally applicable tools regardless of platform.
These tools help add structured data to your website without requiring manual code editing. Some options to consider:
These generators can produce a first-draft llms.txt from your site. Review the output against the priority and exclusion guidance in Section 2.4 before publishing.
A practical sequence you can work through over time, organized by effort and impact.
We offer custom training, workshops, and consulting tailored to your needs.
The guides in this series help election officials connect communications strategy with operational practice before, during, and after elections. Each guide addresses a specific moment in the election cycle and offers language, frameworks, and decision tools that are nonpartisan, procedurally grounded, and transferable across jurisdictions.
Readers are encouraged to adapt language and examples to reflect the specific laws, procedures, and terminology of their state and jurisdiction.
The AI and Elections Practice supports the AI + Elections Clinic at the Arizona State University Mechanics of Democracy Laboratory.
Part of the Election Readiness Series. Adapt language and examples to reflect the laws and procedures of your state and jurisdiction. Last Updated June 2026.
A Ready for Tuesday guide · Privacy Policy · Terms and Conditions of Use
Keep up with AI and elections
Hear from us when we publish new tools, guides and commentary on AI and elections.
No cost. Unsubscribe at any time. Privacy Statement