Skip to content
https://chatgpt.com

Infrastructure

· 17 checks — DNS, redirects, IPv6, crawlability, URL variants, and domain intelligence rolled into one auditable list.
SCORE
84
GRADE
B
FIX
1
REVIEW
7
PASS
9
INFO
0
Probed from Madrid, Spain
403 Forbidden
Checks
17
9 PASS 7 REVIEW 1 FIX
D
Crawlability
Action
robots.txt present, no sitemap
FIX
robots.txt present, no sitemap
Info::
robots.txt is present
Got: 4390 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 4390 B Sitemaps referenced 6 User-agents CCBot, Google-Extended, Bytespider, img2dataset, AdsBot-Google, FacebookBot, magpie-crawler, PerplexityBot, *, Omgilibot, Omgili, Perplexity‑User, AdsBot-Google-Mobile, anthropic-ai, Claude-Web Blocking Yes — all crawlers blocked
# https://www.robotstxt.org/robotstxt.html

User-agent: CCBot
Disallow: /

User-agent: img2dataset
Disallow: /

User-agent: Google-Extended
Disallow: /

# Prevent shared pages and GPTs from being used as Google Ads destinations
User-agent: AdsBot-Google
User-agent: AdsBot-Google-Mobile
Disallow: /s/
Disallow: /g/

User-agent: anthropic-ai
Disallow: /

User-agent: Claude-Web
Disallow: /

User-agent: Omgilibot
Disallow: /

User-agent: Omgili
Disallow: /

User-agent: FacebookBot
Disallow: /

User-agent: Bytespider
Disallow: /

User-agent: magpie-crawler
Disallow: /

User-agent: PerplexityBot
Disallow: /

User-agent: Perplexity‑User
Disallow: /

# General rules for all other bots
User-agent: *

# Place allows first to avoid bots skipping after Disallow: /
# Allow exactly the homepage
Allow: /$
# Allow the homepage with any query parameters
Allow: /?*
Allow: /api/share/og/
Allow: /g/
Allow: /s/
Allow: /gg/v/
Allow: /m/
Allow: /share/
Allow: /maps$
Allow: /maps/
Allow: /*/maps$
Allow: /*/maps/
Allow: /canvas/shared/
Allow: /*/images
Allow: /images
Allow: /*/library
Allow: /library
Allow: /favicon.ico
Allow: /assets/favicon
Allow: /cdn/assets/favicon
Allow: /cdn/assets/
Allow: /auth/
Allow: /gpts$
Allow: /codex
Allow: /*/codex
Allow: /search$
Allow: /backend-anon/
Allow: /public-api/
Allow: /sitemap.xml
Allow: /marketing-sitemap.xml
Allow: /images-sitemap.xml
Allow: /writing-tools-sitemap.xml
Allow: /football-sitemap.xml
Allow: /acquisition-landing-pages-sitemap.xml
Allow: /100chats
Allow: /api/public_content/
Allow: /backend-api/public_content/
Allow: /?ref=dotcom
# Static Landing Pages
Allow: /overview
Allow: /*/overview
Allow: /features
Allow: /*/features
Allow: /health$
Allow: /health/$
Allow: /*/health$
Allow: /*/health/$
Allow: /voice$
Allow: /voice/$
Allow: /*/voice$
Allow: /*/voice/$
Allow: /apps
Allow: /*/apps
Allow: /finances
Allow: /*/finances
Allow: /shopping
Allow: /*/shopping
Allow: /use-cases
Allow: /*/use-cases
Allow: /learn
Allow: /*/learn
Allow: /business
Allow: /*/business
Allow: /pricing
Allow: /*/pricing
Allow: /download
Allow: /*/download
Allow: /students
Allow: /students/2026
Allow: /*/college-students
Allow: /college-students
Allow: /contact-sales
Allow: /*/contact-sales
Allow: /100chats-project
Allow: /*/100chats-project
Allow: /merchants
Allow: /*/merchants
Allow: /parent-resources
Allow: /*/parent-resources
Allow: /plans
Allow: /*/plans
Allow: /plugins
Allow: /translate
Allow: /*/translate
Allow: /writing
Allow: /*/writing
Allow: /ask/
Allow: /futures
Allow: /*/futures
Allow: /football
Allow: /*/football
Allow: /remote
Allow: /*/remote
Allow: /work
Allow: /*/work
Allow: /dots
Allow: /*/dots
Allow: /sites
Allow: /*/sites
Allow: /space
Allow: /*/space
Allow: /import-to-chatgpt
Allow: /*/import-to-chatgpt
# Exact locale specific homepages
Allow: /am/$
Allow: /ar/$
Allow: /bg-BG/$
Allow: /bn-BD/$
Allow: /bs-BA/$
Allow: /ca-ES/$
Allow: /cs-CZ/$
Allow: /da-DK/$
Allow: /de-DE/$
Allow: /el-GR/$
Allow: /es-ES/$
Allow: /es-419/$
Allow: /et-EE/$
Allow: /fi-FI/$
Allow: /fr-FR/$
Allow: /fr-CA/$
Allow: /gu-IN/$
Allow: /hi-IN/$
Allow: /hr-HR/$
Allow: /hu-HU/$
Allow: /hy-AM/$
Allow: /id-ID/$
Allow: /is-IS/$
Allow: /it-IT/$
Allow: /ja-JP/$
Allow: /ka-GE/$
Allow: /kk/$
Allow: /kn-IN/$
Allow: /ko-KR/$
Allow: /lt/$
Allow: /lv-LV/$
Allow: /mk-MK/$
Allow: /ml/$
Allow: /mn/$
Allow: /mr-IN/$
Allow: /ms-MY/$
Allow: /my-MM/$
Allow: /nb-NO/$
Allow: /nl-NL/$
Allow: /pa/$
Allow: /pl-PL/$
Allow: /pt-BR/$
Allow: /pt-PT/$
Allow: /ro-RO/$
Allow: /ru-RU/$
Allow: /sk-SK/$
Allow: /sl-SI/$
Allow: /so-SO/$
Allow: /sq-AL/$
Allow: /sr-RS/$
Allow: /sv-SE/$
Allow: /sw-TZ/$
Allow: /ta-IN/$
Allow: /te-IN/$
Allow: /th-TH/$
Allow: /tl/$
Allow: /tr-TR/$
Allow: /uk-UA/$
Allow: /ur/$
Allow: /vi-VN/$
Allow: /zh-CN/$
Allow: /zh-TW/$
Allow: /zh-HK/$

# Now block everything else
Disallow: /

# Specific disallows (redundant for some bots, but still useful for those that respect precedence)
Disallow: /auth/logout
Disallow: /auth/login?*
Disallow: /backend-anon/sentinel/*
Disallow: /backend-anon/conversation$
Disallow: /account-link/*

Sitemap: https://chatgpt.com/sitemap.xml
Sitemap: https://chatgpt.com/marketing-sitemap.xml
Sitemap: https://chatgpt.com/images-sitemap.xml
Sitemap: https://chatgpt.com/writing-tools-sitemap.xml
Sitemap: https://chatgpt.com/football-sitemap.xml
Sitemap: https://chatgpt.com/acquisition-landing-pages-sitemap.xml

sitemap.xml No sitemap found

No sitemap found

Adding a sitemap helps search engines discover your pages.

C
DNSSEC
Action
Zone signed but parent has no DS record
REVIEW
Zone signed but parent has no DS record
Warning::
DNSSEC keys published but parent zone has no DS record
The zone publishes DNSKEY records but the registry has not been updated with the corresponding DS record. From a validating resolver's perspective the domain is unsigned. Submit the DS record to your registrar to complete the delegation.
B
CAA Records
No CAA records (any CA may issue certificates)
REVIEW
No CAA records (any CA may issue certificates)
Info::
No CAA records published
Without CAA records, any publicly-trusted CA can issue certificates for this domain. Adding a CAA record (`yourdomain. IN CAA 0 issue "letsencrypt.org"`) restricts issuance to CAs you authorize. Required by CAB Forum baseline since 2017; the default of 'any CA' is widely supported but is the broader attack surface for issuance fraud.
C
Reverse DNS
Action
0/4 IPs match cert SAN
REVIEW
0/4 IPs match cert SAN
Info::
PTR lookup failed for 104.18.32.47: lookup 104.18.32.47: no such host
No reverse DNS record set for this IP. Common on bare cloud-VM IPs without provider-side PTR; not a security issue.
Info::
PTR lookup failed for 172.64.155.209: lookup 172.64.155.209: no such host
No reverse DNS record set for this IP. Common on bare cloud-VM IPs without provider-side PTR; not a security issue.
Info::
PTR lookup failed for 2606:4700:4408::ac40:9bd1: lookup 2606:4700:4408::ac40:9bd1: no such host
No reverse DNS record set for this IP. Common on bare cloud-VM IPs without provider-side PTR; not a security issue.
Info::
PTR lookup failed for 2a06:98c1:3101::6812:202f: lookup 2a06:98c1:3101::6812:202f: no such host
No reverse DNS record set for this IP. Common on bare cloud-VM IPs without provider-side PTR; not a security issue.
B
TLS Certificate Expiry & Recommendations
63 days until leaf cert expires — 2 issues to address
REVIEW

Certificate validity

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

Recommended actions

  • 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
B
CDN & Delivery
Cloudflare
REVIEW
Cloudflare
Info::
Document is served via Cloudflare CDN (edge: CDG)
Got: cf-ray: a4bf956b6cdc698a-CDG
Document served via CDN: Cloudflare
Provider Cloudflare Evidence cf-ray: a4bf956b6cdc698a-CDG
B
CDN Cache Observability
No CDN cache-status headers in the response
REVIEW
No CDN cache-status headers in the response
Info::
No CDN cache-status headers in the response
Without an X-Cache / CF-Cache-Status / X-Vercel-Cache / Age header, you can't tell from outside whether a request hit the cache or went to origin. Operationally important: enables debugging stale-content reports and verifying cache rules. Most managed CDN platforms emit at least one of these by default; absence often means the platform's diagnostic headers are stripped at an upstream proxy.
B
Operational Status Page
No status page link detected
REVIEW
No status page link detected
Info::
No operational status page link detected
Status pages communicate planned maintenance and incidents to users -- a hallmark of operationally-mature services. Most SaaS teams publish one via Atlassian Statuspage, Instatus, BetterUptime, or a self-hosted Cachet. Smaller sites legitimately don't need one; flagged as Info, not a failure.
A+
DNS Records
2 A records, 52 ms lookup
PASS
2 A records, 52 ms lookup
Info::
Resolves to 2 IPv4 address(es)
Got: 104.18.32.47, 172.64.155.209
Info::
Has 2 IPv6 (AAAA) record(s)
Got: 2606:4700:4408::ac40:9bd1, 2a06:98c1:3101::6812:202f
Info::
2 nameserver(s) configured
Got: savanna.ns.cloudflare.com, hassan.ns.cloudflare.com
Info::
3 mail exchanger(s) configured
Info::
SPF record present in TXT
Info::
DNS resolution time: 52 ms
Got: 52 ms
A104.18.32.47, 172.64.155.209
AAAA2606:4700:4408::ac40:9bd1, 2a06:98c1:3101::6812:202f
CNAME—
NSsavanna.ns.cloudflare.com, hassan.ns.cloudflare.com
MX
23 route1.mx.cloudflare.net
38 route2.mx.cloudflare.net
82 route3.mx.cloudflare.net
TXT
google-site-verification=HJikIAHI_Z6zkRXg-TWAceem39v2AhOSwPwUWaTNt9E
google-site-verification=3p_zWfTXlQ4Mbxvq51ylW59LjgneYCB_vXpS-DLIEwM
google-site-verification=rZodbEw8Hlw3gg7Z7mxkmQUNPnO_1khlohRX5D6qeUo
google-site-verification=u3JFUrrlvyiaVlGsdIRMgmuvDluR6gC-TIPBEQLbl8c
google-site-verification=vHr-4wFDXLd3wze6i0YimpiGHC1u0Hy3x1dGAiyeHWs
SPF v=spf1 include:_spf.mx.cloudflare.net -all
cerner-client-id=ff69e1b6-5936-420e-92dd-f14f67869424
google-site-verification=qz8yKZH1f2h4Dl7S-nRAo0immoInmiosRhyjUxXuUOs
CAALookup not available with standard resolver
Resolved in 52 ms
A+
Subdomain Takeover
No subdomain takeover risk detected
PASS
No subdomain takeover risk detected
Info::
No CNAME record present
A+
Multi-Resolver DNS Speed
Mean 19ms across 3 resolvers (spread 38ms)
PASS
Mean 19ms across 3 resolvers (spread 38ms)
Info::
Quad9: 1ms
Got: 1ms via 9.9.9.9:53
Info::
Cloudflare: 17ms
Got: 17ms via 1.1.1.1:53
Info::
Google: 39ms
Got: 39ms via 8.8.8.8:53
A+
Redirect Chain
0 redirect(s), 62 ms total
PASS
0 redirect(s), 62 ms total

https://chatgpt.com

62 ms · HTTP/1.1 FINAL

#URLStatusTimeProtocolServer
1https://chatgpt.com40362 msHTTP/1.1cloudflare
A+
IPv6 Readiness
IPv6 reachable (17 ms)
PASS
IPv6 reachable (17 ms)
Info::
IPv6 is configured and reachable at 2606:4700:4408::ac40:9bd1, 2a06:98c1:3101::6812:202f
Got: 17 ms connect
IPv6 Ready
AAAA Records 2606:4700:4408::ac40:9bd1, 2a06:98c1:3101::6812:202f Connection Reachable (17 ms)
A+
URL Variants
www/non-www, trailing slash, HTTP→HTTPS
PASS
www/non-www, trailing slash, HTTP→HTTPS
Info::
www/non-www redirect configured correctly (preferred: non-www)
Info::
HTTP correctly redirects to HTTPS permanently
Got: HTTP 301

www / non-www

301https://www.chatgpt.com/
200https://chatgpt.com/

Preferred variant: non-www

HTTP → HTTPS

301http://chatgpt.com/ → https://chatgpt.com/

Consistent

A
Domain Intelligence
chatgpt.com — via MarkMonitor Inc., 3 years, 11 months old
PASS
chatgpt.com — via MarkMonitor Inc., 3 years, 11 months old
Warning::
Domain expires in 44 days
Consider enabling auto-renewal to prevent accidental expiration.
Got: Expires Nov 30, 2026
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: MarkMonitor 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.
Domain expiry

43 days

November 30, 2026

SSL certificate

63 days

Issued by Google Trust Services

Domain age

3 years, 11 months

Registered November 30, 2022

DNSSEC

Not enabled

Protects against DNS spoofing

Hosting

Unknown

2606:4700:4408::ac40:9bd1

Registrar

MarkMonitor Inc.

Unlocked 2 NS records
Expiry timeline
Today
+1 year
Domain expiry SSL expiry Danger zone (≤30 days)
Recommended actions
  • Renew the domain or enable auto-renewal to prevent accidental expiry
  • Enable DNSSEC to protect visitors from DNS spoofing
  • Enable registrar lock (clientTransferProhibited) to block unauthorized domain transfers
Registrar MarkMonitor Inc.
Created November 30, 2022 (3 years, 11 months ago)
Expires November 30, 2026 (1 months)
Last Updated October 17, 2024
Name Servers hassan.ns.cloudflare.com, savanna.ns.cloudflare.com
DNSSEC Not enabled
Hosting
IP Address 2606:4700:4408::ac40:9bd1
Data source: rdap (0.2s)

Consider enabling auto-renewal to prevent accidental expiration.

Why this matters

Domain expiry approaching — renew immediately and ensure auto-renew + alerting are configured.

Source: ICANN renewal policy

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 127 ms — DNS, TCP, TLS, TTFB, content transfer breakdown
PASS
DNS Lookup DNS Lookup — time to resolve the domain name to an IP address.
36 ms
TCP Connect TCP Connect — time to establish a TCP connection to the server.
17 ms
TLS Handshake TLS Handshake — time to complete the HTTPS encryption handshake.
41 ms
Time to First Byte Time to First Byte — how long the server takes to respond with the first byte of data.
127 ms
Total Time Total request time from DNS lookup through full response.
128 ms

Connection waterfall

DNS Lookup 36 ms TCP Connect 17 ms TLS Handshake 41 ms Server Processing 33 ms Content Transfer 1 ms
A+
Health Check Endpoint
Auth-protected health endpoint at https://chatgpt.com/health (HTTP 403)
PASS
Auth-protected health endpoint at https://chatgpt.com/health (HTTP 403)
Info::
Auth-protected health endpoint exposed at https://chatgpt.com/health
Got: https://chatgpt.com/health
All checks on this page are automated. Results are estimates - run targeted manual reviews when the score affects a release decision.

Send Feedback