state-portals
The primary web portal of each US state government.
26 of 50 portals block AI crawlers.
- Source
- Public .gov domain registry (current-full.csv), Cybersecurity and Infrastructure Security Agency (CISA) (2026-09-07)
- License
- A work of the United States federal government. Not subject to domestic copyright (17 U.S.C. § 105); the repository additionally dedicates it to the public domain.
- How we filtered it
- Rows the registry types as 'State or territory' whose domain follows the convention every state uses — its two-letter postal code, its name, or either with a 'my' or 'e' prefix. Each is fetched and its redirects followed; where they land is the portal. Where a state's domains land in more than one place the destination most of them lead to is taken, and the row says a tie was broken. See census/build_state_portals.py.
- Built
- 2026-09-08
The filtering is ours and is disclosed as ours. The source published a list; the decision about which rows of it belong in a cohort was a judgment call, and it is written down so somebody can disagree with it.
50 organizations ·
50 scanned (100.0% coverage) · scored as government
The mean share of each dimension's available points that this cohort earned. Low here means the whole sector is weak on it, not that one site dragged an average down — the per-site spread is in the dataset.
The cap is 32 URLs and it is a ceiling, not a promise. A portal whose every link points at a different host yields one page; a university yields the full sample. The median here is 18, the range 1–32 — published so that "we sampled 32 URLs per site" cannot become a claim the data does not support.
1 site in this cohort served a certificate we could not verify. They were read anyway and scored normally — reporting no response for a site every browser loads would describe our TLS stack rather than the site — and each one carries the finding in its row.
11 tests almost nobody in this cohort passes
AIR-1.4
Content Signals declared in robots.txt
50
3
AIR-3.4
FAQPage and QAPage on genuine question-and-answer content
14
2
AIR-4.4
Correct X-Robots-Tag on non-HTML resources
35
1
AIR-5.1
Author entity pages with credentials
50
2
AIR-5.2
Bylines linked to author entities
32
2
AIR-7.1
Markdown companion for every canonical page
39
2
AIR-7.3
Accept: text/markdown content negotiation
50
2
LI-1
HowTo on procedural content
14
0
LI-2
speakable on summaries and ledes
50
0
LI-3
IndexNow fires on publish and update
50
0
LI-4
Editorial policy page referenced via publishingPrinciples
50
0
AIR-1.10
/llms.txt exists and is generated from the content model
50
2
AIR-1.12
sameAs links to external authority records
50
2
AIR-3.3
Vertical-specific schema types
48
4
AIR-1.13
About, Contact, and organizational detail are complete
50
2
AIR-3.5
isAccessibleForFree, about, and mentions with entity references
50
1
AIR-2.2
Progressive disclosure content ships in the initial HTML
30
3
AIR-5.4
datePublished and dateModified are accurate
50
2
LI-5
NLWeb endpoint exposed as an MCP server with an ask method
50
0
Every 50, named
Whether or not it has been scanned. Rows with no published URL stay in the table with the reason on them: dropping them would shrink the population to the part that was easy to measure. A few points between two neighbors is noise — click a header to sort by band or by score.
| # | Organization | Site | Score | Grade | URLs | Detail |
|---|---|---|---|---|---|---|
| 1 | State of Alabama destination taken from the redirect rather than loaded (the certificate could not be verified) |
alabama.gov | 32 | Not ready | 1 | see the scan |
| 2 | State of Alaska Gated resolved from 3 registered domains (ak.gov, alaska.gov, myalaska.gov); registered to State of Alaska |
alaska.gov | 27 | Not ready | 32 | see the scan |
| 3 | State of Arizona Gated destination taken from the redirect rather than loaded (the edge returned 403 to AIRBot) |
az.gov | 26 | Not ready | 1 | see the scan |
| 4 | State of Arkansas Gated resolved from 3 registered domains (ar.gov, arkansas.gov, myarkansas.gov); registered to Office of State Technology, Arkansas |
portal.arkansas.gov | 35 | Not ready | 32 | see the scan |
| 5 | State of California Gated resolved from 2 registered domains (ca.gov, california.gov); registered to State of California |
ca.gov | 43 | Weak | 32 | see the scan |
| 6 | State of Colorado Gated registers domains serving 2 different sites; took the one most of them lead to, over colorado.gov |
mycolorado.gov | 31 | Not ready | 20 | see the scan |
| 7 | State of Connecticut | portal.ct.gov | 48 | Weak | 8 | see the scan |
| 8 | State of Delaware Gated registers domains serving 2 different sites; took the one most of them lead to, over delaware.gov |
de.gov | 32 | Not ready | 2 | see the scan |
| 9 | State of Florida the convention did not settle this one, so the URL is myflorida.gov, registered to State of Florida / Department of Management Services. fl.gov and florida.gov both serve certificates that do not cover their own hostnames. Original attempt: no registered domain answered — fl.gov: TLS certificate does not cover this hostname; florida.gov: TLS certificate does not cover this hostname; myflorida.gov: TLS certificate does not cover this hostname |
myflorida.gov | 38 | Not ready | 1 | see the scan |
| 10 | State of Georgia Gated resolved from 2 registered domains (ga.gov, georgia.gov); registered to Georgia Technology Authority |
georgia.gov | 37 | Not ready | 1 | see the scan |
| 11 | State of Hawaii Gated registers domains serving 4 different sites; took the one most of them lead to, over hi.gov, my.hawaii.gov, portal.ehawaii.gov |
hawaii.gov | 23 | Not ready | 1 | see the scan |
| 12 | State of Idaho resolved from 2 registered domains (id.gov, idaho.gov); registered to State of Idaho, Office of Information Technology Services |
idaho.gov | 47 | Weak | 32 | see the scan |
| 13 | State of Illinois resolved from 2 registered domains (il.gov, illinois.gov); registered to State of Ilinois, State of Illinois |
illinois.gov | 38 | Not ready | 7 | see the scan |
| 14 | State of Indiana Gated resolved from 4 registered domains (in.gov, indiana.gov, myin.gov, myindiana.gov); registered to State of Indiana |
in.gov | 36 | Not ready | 32 | see the scan |
| 15 | State of Iowa resolved from 2 registered domains (ia.gov, iowa.gov); registered to State of Iowa - OCIO |
iowa.gov | 41 | Weak | 32 | see the scan |
| 16 | State of Kansas Gated resolved from 2 registered domains (kansas.gov, ks.gov); registered to State of Kansas, DISC, State of Kansas, OITS |
portal.kansas.gov | 41 | Weak | 32 | see the scan |
| 17 | Commonwealth of Kentucky Gated resolved from 2 registered domains (kentucky.gov, ky.gov); registered to Commonwealth of Kentucky |
kentucky.gov | 33 | Not ready | 10 | see the scan |
| 18 | State of Louisiana resolved from 2 registered domains (la.gov, louisiana.gov); registered to State of Louisiana - Office of Technology Services, State of Louisiana - Office of Telecom Mgt |
louisiana.gov | 31 | Not ready | 6 | see the scan |
| 19 | State of Maine resolved from 3 registered domains (maine.gov, me.gov, mymaine.gov); registered to State of Maine, State of Maine - Office for Information Technology |
maine.gov | 41 | Weak | 1 | see the scan |
| 20 | State of Maryland resolved from 2 registered domains (maryland.gov, md.gov); registered to Department of Information Technology |
maryland.gov | 49 | Weak | 32 | see the scan |
| 21 | Commonwealth of Massachusetts Gated the convention did not settle this one, so the URL is mass.gov, registered to Commonwealth of Massachusetts. The convention generates ma.gov, whose certificate does not cover it. Original attempt: no registered domain answered — ma.gov: TLS certificate does not cover this hostname; massachusetts.gov: TLS certificate does not cover this hostname |
mass.gov | 33 | Not ready | 1 | see the scan |
| 22 | State of Michigan Gated registers domains serving 2 different sites; took the one most of them lead to, over michigan.gov; destination taken from the redirect rather than loaded (the edge returned 403 to AIRBot) |
mi.gov | 29 | Not ready | 1 | see the scan |
| 23 | State of Minnesota Gated registers domains serving 2 different sites; took the one most of them lead to, over minnesota.gov; destination taken from the redirect rather than loaded (redirected to a bot challenge at validate.perfdrive.com) |
mn.gov | 35 | Not ready | 1 | see the scan |
| 24 | State of Mississippi registers domains serving 2 different sites; took the one most of them lead to, over mississippi.gov |
ms.gov | 40 | Weak | 27 | see the scan |
| 25 | State of Missouri Gated registers domains serving 2 different sites; took the one most of them lead to, over redirect.mo.gov |
mo.gov | 39 | Not ready | 30 | see the scan |
| 26 | State of Montana registers domains serving 2 different sites; took the one most of them lead to, over montana.gov |
mt.gov | 37 | Not ready | 32 | see the scan |
| 27 | State of Nebraska registers domains serving 2 different sites; took the one most of them lead to, over nebraska.gov |
ne.gov | 39 | Not ready | 19 | see the scan |
| 28 | State of Nevada Gated resolved from 3 registered domains (mynevada.gov, nevada.gov, nv.gov); registered to Governor's Technology Office, State of Nevada, State of Nevada, Department of Information Technology |
nv.gov | 35 | Not ready | 13 | see the scan |
| 29 | State of New Hampshire Gated destination taken from the redirect rather than loaded (the edge returned 403 to AIRBot) |
nh.gov | 39 | Not ready | 1 | see the scan |
| 30 | State of New Jersey resolved from 2 registered domains (newjersey.gov, nj.gov); registered to State of New Jersey |
nj.gov | 34 | Not ready | 25 | see the scan |
| 31 | State of New Mexico resolved from 2 registered domains (newmexico.gov, nm.gov); registered to Dept. of Information Technology, State of New Mexico |
nm.gov | 48 | Weak | 16 | see the scan |
| 32 | State of New York Gated | ny.gov | 46 | Weak | 32 | see the scan |
| 33 | State of North Carolina Gated resolved from 2 registered domains (nc.gov, northcarolina.gov); registered to ITS, Executive Office of the State of North Carolina, State of North Carolina |
nc.gov | 47 | Weak | 32 | see the scan |
| 34 | State of North Dakota resolved from 2 registered domains (nd.gov, northdakota.gov); registered to State of ND, ITD |
nd.gov | 48 | Weak | 32 | see the scan |
| 35 | State of Ohio registers domains serving 2 different sites; took the one most of them lead to, over ohid.ohio.gov; destination taken from the redirect rather than loaded (returns 404 at the root) |
ohio.gov | 47 | Weak | 1 | see the scan |
| 36 | State of Oklahoma resolved from 2 registered domains (ok.gov, oklahoma.gov); registered to Oklahoma, Office of Management and Enterprise Services |
oklahoma.gov | 46 | Weak | 32 | see the scan |
| 37 | State of Oregon registers domains serving 2 different sites; took the one most of them lead to, over myoregon.gov |
oregon.gov | 34 | Not ready | 1 | see the scan |
| 38 | Commonwealth of Pennsylvania Gated resolved from 2 registered domains (pa.gov, pennsylvania.gov); registered to Commonwealth of Pennsylvania |
pa.gov | 38 | Not ready | 5 | see the scan |
| 39 | State of Rhode Island Gated | ri.gov | 25 | Not ready | 32 | see the scan |
| 40 | State of South Carolina Gated resolved from 3 registered domains (mysc.gov, sc.gov, southcarolina.gov); registered to State of South Carolina, The South Carolina Department of Administration, Chief Information Officer, State of South Carolina-The South Carolina Department of Administration, Chief Information Officer |
sc.gov | 39 | Not ready | 32 | see the scan |
| 41 | State of South Dakota | sd.gov | 31 | Not ready | 1 | see the scan |
| 42 | State of Tennessee registers domains serving 2 different sites; took the one most of them lead to, over tn.gov |
mytn.gov | 44 | Weak | 2 | see the scan |
| 43 | State of Texas Gated resolved from 2 registered domains (texas.gov, tx.gov); registered to Department of Information Resources, Texas Department of Information Resources |
texas.gov | 42 | Weak | 32 | see the scan |
| 44 | State of Utah registers domains serving 2 different sites; took the one most of them lead to, over my.utah.gov |
utah.gov | 41 | Weak | 32 | see the scan |
| 45 | State of Vermont Gated registers domains serving 2 different sites; took the one most of them lead to, over info.my.vermont.gov |
vermont.gov | 38 | Not ready | 1 | see the scan |
| 46 | Commonwealth of Virginia the convention did not settle this one, so the URL is virginia.gov, registered to Commonwealth of Virginia. It sends an incomplete certificate chain, which the scan now reads through and reports. Original attempt: no registered domain answered — virginia.gov: the certificate could not be verified |
virginia.gov | 44 | Weak | 24 | see the scan |
| 47 | State of Washington Gated resolved from 2 registered domains (wa.gov, washington.gov); registered to State of Washington - Consolidated Technology Services |
wa.gov | 41 | Weak | 32 | see the scan |
| 48 | State of West Virginia registers domains serving 2 different sites; took the one most of them lead to, over westvirginia.gov |
wv.gov | 44 | Weak | 24 | see the scan |
| 49 | State of Wisconsin Gated resolved from 2 registered domains (wi.gov, wisconsin.gov); registered to State of Wisconsin |
wisconsin.gov | 24 | Not ready | 1 | see the scan |
| 50 | State of Wyoming the convention did not settle this one, so the URL is wyo.gov, registered to State of Wyoming. The convention generates wy.gov and wyoming.gov, which both refuse connections. Original attempt: no registered domain answered — ewyoming.gov: connection timed out; wy.gov: ConnectError; wyoming.gov: ConnectError |
wyo.gov | 38 | Not ready | 17 | see the scan |
Scores are for the population, not for ranking two named sites against each other — a few points between neighbors is noise. See what these numbers can and cannot support. Data: sites.csv · checks.csv · summary.json
Is your site ready for AI?
Scan a page, get a number you can verify. Free.