Skip to content
https://courtlistener.com

Infrastructure

· 9 checks — DNS, redirects, IPv6, crawlability, URL variants, and domain intelligence rolled into one auditable list.
SCORE
82
GRADE
B
FIX
1
REVIEW
2
PASS
6
INFO
0
Probed from Madrid, Spain
301 Moved Permanently
Checks
9
6 PASS 2 REVIEW 1 FIX
D
Crawlability
Action
robots.txt present, no sitemap
FIX
robots.txt present, no sitemap
Info::
robots.txt is present
Got: 3148 bytes
Critical::
robots.txt blocks all crawlers
Disallow: / for all user-agents prevents search engines from indexing any page. This will remove the site from search results.
Info::
No sitemap.xml found
A sitemap helps search engines discover and index your pages more efficiently.
Info::
robots.txt references sitemap

Disallow: / for all user-agents prevents search engines from indexing any page. This will remove the site from search results.

Why this matters

Disallow: / in robots.txt blocks every search crawler — the site becomes invisible in organic search.

Learn more

Common deployment mistake: a staging robots.txt with `User-agent: * / Disallow: /` ships to prod. The site falls out of search results within days. Verify your robots.txt is the production-intended version. If this is intentional (private site), no action needed.

Source: Google Search Central

A sitemap helps search engines discover and index your pages more efficiently.

Why this matters

No sitemap.xml — Google relies on crawl-graph discovery alone, slowing indexing of deep or fresh URLs.

Learn more

A sitemap accelerates Google's discovery of new and updated content. Most CMSes auto-generate one; static-site frameworks need a build-step plugin. Reference it from robots.txt and submit in Search Console to confirm Google can fetch it.

Source: sitemaps.org / Google Search Central

robots.txt 200 OK
Size 3148 B Sitemaps referenced 1 User-agents Amazonbot, ChatGPT-User, MistralAI-User, *, Googlebot, Slurp, MojeekBot, PerplexityBot, Gemini-Deep-Research, Perplexity-User, bingbot, DuckDuckBot, twitterbot, YandexBot, ia_archiver, ClaudeBot, GPTBot, Google-Extended, facebookexternalhit, Applebot-Extended, meta-externalagent, Bytespider, Claude-User, teoma, CCBot, Claude-SearchBot, OAI-SearchBot Blocking Yes — all crawlers blocked
# If you would like to crawl CourtListener, please contact us. We also have an
# extensive REST API and provide bulk data.

# Google, AOL, Bing, Yahoo!, DuckDuckGo
# These support meta robots and x-robots-tag or are otherwise harmless (DDG)
# Crawl everything except a few explicit blocks
User-agent: Googlebot
# Blocking robots.txt makes it not get a search snippet in Google results.
Disallow: /robots.txt
Disallow: /assets/
Disallow: /api/rest/v1/
Disallow: /api/rest/v2/
Disallow: /api/rest/v3/

User-agent: bingbot
Disallow: /robots.txt
Disallow: /assets/
Disallow: /api/rest/v1/
Disallow: /api/rest/v2/
Disallow: /api/rest/v3/

User-agent: Slurp
Disallow: /robots.txt
Disallow: /assets/
Disallow: /api/rest/v1/
Disallow: /api/rest/v2/
Disallow: /api/rest/v3/

User-agent: DuckDuckBot
Disallow: /robots.txt
Disallow: /assets/
Disallow: /api/rest/v1/
Disallow: /api/rest/v2/
Disallow: /api/rest/v3/

# Needed for open graph crawling
User-agent: twitterbot
Disallow: /robots.txt
Disallow: /assets/
Disallow: /api/rest/v1/
Disallow: /api/rest/v2/
Disallow: /api/rest/v3/

User-agent: facebookexternalhit
Disallow: /robots.txt
Disallow: /assets/
Disallow: /api/rest/v1/
Disallow: /api/rest/v2/
Disallow: /api/rest/v3/

# Yandex, Ask
# These support meta robots, but not x-robots-tag
# Crawl everything except real files
User-agent: YandexBot
Disallow: /robots.txt
Disallow: /assets/
Disallow: /api/rest/v1/
Disallow: /api/rest/v2/
Disallow: /api/rest/v3/
Disallow: /pdf/
Disallow: /wpd/
Disallow: /txt/
Disallow: /doc/

User-agent: teoma
Disallow: /robots.txt
Disallow: /assets/
Disallow: /api/rest/v1/
Disallow: /api/rest/v2/
Disallow: /api/rest/v3/
Disallow: /pdf/
Disallow: /wpd/
Disallow: /txt/
Disallow: /doc/

User-agent: ia_archiver
Disallow: /robots.txt
Disallow: /assets/
Disallow: /api/rest/v1/
Disallow: /api/rest/v2/
Disallow: /api/rest/v3/
Disallow: /pdf/
Disallow: /wpd/
Disallow: /txt/
Disallow: /doc/

User-agent: MojeekBot
Disallow: /robots.txt
Disallow: /assets/
Disallow: /api/rest/v1/
Disallow: /api/rest/v2/
Disallow: /api/rest/v3/
Disallow: /pdf/
Disallow: /wpd/
Disallow: /txt/
Disallow: /doc/

# AI Bots
# Training/Scraping bots — crawl to build datasets for model training
User-agent: ClaudeBot
User-agent: GPTBot
User-agent: Google-Extended
User-agent: Applebot-Extended
User-agent: meta-externalagent
User-agent: Bytespider
User-agent: CCBot
# Search/Indexing bots — crawl to power AI-assisted search results
User-agent: Claude-SearchBot
User-agent: OAI-SearchBot
User-agent: PerplexityBot
User-agent: Amazonbot
User-agent: Gemini-Deep-Research
# User-initiated agents — fetch pages on behalf of a real user in a conversation
User-agent: Claude-User
User-agent: ChatGPT-User
User-agent: Perplexity-User
User-agent: MistralAI-User
Allow: /robots.txt
Allow: /sitemap.xml
Allow: /help/
Allow: /faq/
Allow: /feeds/
Allow: /podcasts/
Allow: /contact/
Allow: /terms/
Allow: /privacy/
Allow: /removal/
Allow: /donate/
Disallow: /

# Baidu, Blekko, Others
# No support for robots meta tag nor x-robots-tag.
# Be conservative; Block everything.
User-agent: *
Disallow: /

Sitemap: https://www.courtlistener.com/sitemap.xml

sitemap.xml No sitemap found

No sitemap found

Adding a sitemap helps search engines discover your pages.

C
IPv6 Readiness
Action
No IPv6 support
REVIEW
No IPv6 support
Info::
No IPv6 (AAAA) records found
IPv6 support is increasingly important for global accessibility. About 40% of internet users have IPv6 connectivity.
No IPv6 Support
About 40% of internet users have IPv6. Consider adding AAAA records.

IPv6 support is increasingly important for global accessibility. About 40% of internet users have IPv6 connectivity.

Why this matters

No AAAA records — same impact as 'no IPv6 (AAAA) records'; IPv6-preferring clients pay extra latency falling back to IPv4.

Source: Google IPv6 stats

B
TLS Certificate Expiry & Recommendations
307 days until leaf cert expires — 3 issues to address
REVIEW

Certificate validity

307
days left
0d 30d 60d 90d+

Recommended actions

  • Enable HSTS: Strict-Transport-Security: max-age=31536000; includeSubDomains
  • Enable DNSSEC on your domain for DNS spoofing protection
  • Enable OCSP stapling on your TLS server to remove a CA roundtrip and protect user privacy
A+
DNS Records
4 A records, 45 ms lookup
PASS
4 A records, 45 ms lookup
Info::
Resolves to 4 IPv4 address(es)
Got: 108.157.98.22, 108.157.98.39, 108.157.98.55, 108.157.98.61
Info::
No IPv6 (AAAA) records
Info::
4 nameserver(s) configured
Got: ns-432.awsdns-54.com, ns-1405.awsdns-47.org, ns-791.awsdns-34.net, ns-2043.awsdns-63.co.uk
Info::
5 mail exchanger(s) configured
Info::
CAA records not checked
CAA record lookup requires a specialized DNS resolver. This check will be available in a future update.
Info::
SPF record present in TXT
Info::
DNS resolution time: 45 ms
Got: 45 ms
A108.157.98.22, 108.157.98.39, 108.157.98.55, 108.157.98.61
AAAA
CNAME
NSns-432.awsdns-54.com, ns-1405.awsdns-47.org, ns-791.awsdns-34.net, ns-2043.awsdns-63.co.uk
MX
1 aspmx.l.google.com
5 alt1.aspmx.l.google.com
5 alt2.aspmx.l.google.com
10 alt3.aspmx.l.google.com
10 alt4.aspmx.l.google.com
TXT
SPF v=spf1 a include:_spf.google.com ~all
brave-ledger-verification=c9a3bd30e22e16786ca2a3e4971a1b521577e2e956c846ff30aa37...
google-site-verification=E9l8i1T-eezoNaA3SRmfkIs8TflGMgaDDh6z5TokUno
CAALookup not available with standard resolver
Resolved in 45 ms

CAA record lookup requires a specialized DNS resolver. This check will be available in a future update.

Why this matters

Informational: CAA (Certification Authority Authorization) records weren't checked in this scan.

A
Redirect Chain
1 redirect(s), 869 ms total
PASS
1 redirect(s), 869 ms total
Info::
Single redirect
Got: https://courtlistener.com → https://www.courtlistener.com:443/ (301)
Info::
WWW normalization redirect
Info::
Redirect overhead: 869 ms total
Got: 869 ms

https://courtlistener.com

454 ms · HTTP/1.1

301

https://www.courtlistener.com:443/

416 ms · HTTP/1.1 FINAL

#URLStatusTimeProtocolServer
1https://courtlistener.com301454 msHTTP/1.1awselb/2.0
2https://www.courtlistener.com:443/200416 msHTTP/1.1uvicorn

See the visual redirect chain in the HTTP Probe tab →

A+
URL Variants
www/non-www, trailing slash, HTTP→HTTPS
PASS
www/non-www, trailing slash, HTTP→HTTPS
Info::
HTTP correctly 301-redirects to HTTPS

www / non-www

202https://www.courtlistener.com/
200https://courtlistener.com/

HTTP → HTTPS

301http://courtlistener.com/ https://courtlistener.com/

Consistent

A+
Domain Intelligence
courtlistener.com — via NameCheap, Inc., 16 years, 3 months old, hosted on AWS
PASS
courtlistener.com — via NameCheap, Inc., 16 years, 3 months old, hosted on AWS
Info::
Domain registered until Mar 23, 2032 (6 years remaining)
Info::
DNSSEC is not enabled
DNSSEC protects against DNS spoofing attacks. While not required, enabling DNSSEC adds an additional layer of security. Contact your DNS provider to enable it.
Info::
Registrar: NameCheap, Inc.
Warning::
Registrar lock is NOT enabled
The domain can be transferred without an unlock step. Enable registrar lock (clientTransferProhibited) in your registrar's control panel to protect against unauthorized or accidental transfers.
Info::
Hosting: AWS
Got: AS16509
Domain expiry

2046 days

March 23, 2032

SSL certificate

307 days

Issued by Amazon

Domain age

16 years, 3 months

Registered March 23, 2010

DNSSEC

Not enabled

Protects against DNS spoofing

Hosting

AWS

ASN AS16509

108.157.98.22

Registrar

NameCheap, Inc.

Unlocked 4 NS records
Expiry timeline
Today
+1 year
Domain expiry SSL expiry Danger zone (≤30 days)
Recommended actions
  • Enable DNSSEC to protect visitors from DNS spoofing
  • Enable registrar lock (clientTransferProhibited) to block unauthorized domain transfers
Registrar NameCheap, Inc.
Created March 23, 2010 (16 years, 3 months ago)
Expires March 23, 2032 (6 years)
Last Updated January 26, 2026
Name Servers ns-1405.awsdns-47.org, ns-2043.awsdns-63.co.uk, ns-432.awsdns-54.com, ns-791.awsdns-34.net
DNSSEC Not enabled
Hosting
IP Address 108.157.98.22
ASN AS16509 (AMAZON-02 - Amazon.com, Inc., US)
Provider AWS
Data source: rdap (0.3s)

DNSSEC protects against DNS spoofing attacks. While not required, enabling DNSSEC adds an additional layer of security. Contact your DNS provider to enable it.

Why this matters

Without DNSSEC, an attacker who can poison your DNS can hijack your domain — and SSL certs alone don't stop them.

Learn more

DNSSEC adds cryptographic signatures to DNS records, preventing forged responses from poisoning resolver caches. Without it, an attacker who controls the network path can redirect your domain to a malicious server before any HTTPS handshake happens. Most modern registrars (Cloudflare, Google Domains, Route 53) enable it with one toggle.

Source: ICANN / RFC 4033

The domain can be transferred without an unlock step. Enable registrar lock (clientTransferProhibited) in your registrar's control panel to protect against unauthorized or accidental transfers.

Why this matters

Without registrar lock, an attacker who phishes your registrar credentials can transfer the domain in minutes — total brand hijack.

Learn more

Registrar lock (clientTransferProhibited, clientUpdateProhibited, clientDeleteProhibited) requires extra verification before any transfer/update/delete. Every major registrar offers it free. Combined with 2FA on your registrar account, it's the strongest defense against domain hijacking.

Source: ICANN / domain-security best practice

A
HTTP Probe Timing
Total 489 ms — DNS, TCP, TLS, TTFB, content transfer breakdown
PASS
DNS Lookup DNS Lookup — time to resolve the domain name to an IP address.
37 ms
TCP Connect TCP Connect — time to establish a TCP connection to the server.
1 ms
TLS Handshake TLS Handshake — time to complete the HTTPS encryption handshake.
3 ms
Time to First Byte Time to First Byte — how long the server takes to respond with the first byte of data.
489 ms
Total Time Total request time from DNS lookup through full response.
489 ms

Connection waterfall

DNS Lookup 37 ms TCP Connect 1 ms TLS Handshake 3 ms Server Processing 447 ms Content Transfer 0 ms
A
CDN & Delivery
AWS CloudFront (Miss from cloudfront)
PASS
AWS CloudFront (Miss from cloudfront)
Info::
Site is served via AWS CloudFront CDN (edge: MAD56-P1)
Got: x-amz-cf-id: TQ6P5rjR1P9SsyP9eRK02691W2HjT7lRH5UXZLdj3IZPvcXqIdImeQ==
Info::
CDN cache status: Miss from cloudfront
CDN Detected: AWS CloudFront
Provider AWS CloudFront Cache Status Miss from cloudfront Evidence x-amz-cf-id: TQ6P5rjR1P9SsyP9eRK02691W2HjT7lRH5UXZLdj3IZPvcXqIdImeQ==
All checks on this page are automated. Results are estimates - run targeted manual reviews when the score affects a release decision.

Send Feedback