Skip to content
https://oreilly.com

Infrastructure

· 9 checks — DNS, redirects, IPv6, crawlability, URL variants, and domain intelligence rolled into one auditable list.
SCORE
90
GRADE
A
FIX
1
REVIEW
2
PASS
6
INFO
0
Probed from Madrid, Spain
301 Moved Permanently
Checks
9
6 PASS 2 REVIEW 1 FIX
D
CDN & Delivery
Action
No CDN detected
FIX
No CDN detected
Warning::
No CDN detected
A CDN can significantly improve load times for users around the world by caching content at edge nodes closer to them.
No CDN detected

Consider using a CDN to improve global delivery speed and reduce origin load.

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
88 days until leaf cert expires — 3 issues to address
REVIEW

Certificate validity

88
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
1 A records, 101 ms lookup
PASS
1 A records, 101 ms lookup
Info::
Resolves to 1 IPv4 address(es)
Got: 34.169.83.167
Info::
Single A record — no DNS redundancy
Multiple A records provide failover if one server goes down.
Info::
No IPv6 (AAAA) records
Info::
6 nameserver(s) configured
Got: a13-64.akam.net, a3-67.akam.net, a20-66.akam.net, a1-225.akam.net, a4-64.akam.net, a16-65.akam.net
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: 101 ms
Got: 101 ms
A34.169.83.167
AAAA
CNAME
NSa13-64.akam.net, a3-67.akam.net, a20-66.akam.net, a1-225.akam.net, a4-64.akam.net, a16-65.akam.net
MX
1 aspmx.l.google.com
5 alt1.aspmx.l.google.com
5 alt2.aspmx.l.google.com
10 aspmx3.googlemail.com
10 aspmx2.googlemail.com
TXT
oci-domain-verification=mwjZ7A40UhcYmctnsvlpDQ4zebV3j9jVCIAqGBSkx
globalsign-domain-verification=aei6eSS-1p0PqmZ3x4jXFoJt_7l6MenGY6u2FV45qG
openai-domain-verification=dv-p9JzdykFvVDoSGxyY4Y6Y143
SPF v=spf1 include:_spf.google.com include:amazonses.com include:spf.mandrillapp.com...
logmein-verification-code=35fc191f-9043-4216-8bf4-88a05c9e8768
calendly-site-verification=KRdabjWvHMSpj0d7HZ7WgAZXIGkbywfZWqJCGrIYd
MS=ms43057904
google-site-verification=0QeIVzKsJaBLMuz3ZQ1rVpVCmumDKYRlvZ8fRExJ81Y
openai-domain-verification=dv-ZU9jzgezaEHhPW3jhinsYiGi
onetrust-domain-verification=ae63e0829f794f8eaa9d46794a8e6073
smartsheet-site-validation=fxm70bCfI2yjd4sAuYUP7eTOck334VGo
airtable-verification=1f9f5306621f76be14eb5cde11661c2d
BlueXPf24d34d4-6c8c-4419-b3be-53abc864b788
ZOOM_verify_t_KNmIKiQZKkyVMeJxpjnA
zapier-domain-verification-challenge=6257ac03-13a2-49f0-bf05-cff1cac20573
rzp-site-verification=a854b4a8b6cd7bfd0c5ebe4edcf00c18
_figma_sites_verify_customersuccess
OczFEA1OJs6vDuh7lvXFAcHDrCMg0Bgq35GaGBcrZqs
pardot1009792=4c05d6fbc27aa34baa25bd9d175c4f3be8941b4c77ce5fba6e78022fdfe194fb
stripe-verification=FA0A5DF1B861B5632D3B866D38C3327CB0C01D0591C3FAE956610D4BC68D...
cloudhealth=45f9c4a4-d1eb-4252-b4a1-7d7bb9004040
1password-site-verification=YL4MABUTMFAGTAOZTL6TFWZWBU
sophos-domain-verification=2ec763c10efd73f2c1dbceaad2983ea0093f02a5882445675f088...
anthropic-domain-verification-dnrkbn=q9EUze0gStRgj4wmYfJUGB6V2
MS=ms79198677
1g9d3pyyw5xdhpty461591rx8qtp6y6z
stripe-verification=f9c7baf61f54571ffe67b1c557dea5380c1afd51153b97ca71724438405f...
google-site-verification=neBJBV38v3xXAew00QEe1whxoBx-y0oo0-9840fBTek
docker-verification=993bde06-01c2-4c04-a1c6-d840bddb0611
onetrust-domain-verification=54ccc7392b084e48acfcbc164e2a0ba6
m7zd1crqvftqsgdf8v889l9zdqhk3p07
_c5xkp6qqlmxx3yajtdb4hqhz82rsazn
_yikoj59erdx9jd4sti8idhii7nvf9x2
d7kfp9gbnkkvp5vvphuv80s4oc
apple-domain-verification=CObFhoTOkqx87oIs
adobe-idp-site-verification=ad56f341-bb17-4470-8efa-9a9b9c121a4a
MS=E75517AC6D8C7C76D0C87E3CF6ABD5F68B91610C
CAALookup not available with standard resolver
Resolved in 101 ms

Multiple A records provide failover if one server goes down.

Why this matters

Single A record means a single point of failure — if that IP goes down, your site is unreachable until DNS TTL expires.

Learn more

Add multiple A records for round-robin failover, or use a managed DNS provider with health-checked failover (Route 53, Cloudflare, NS1). Short TTL (60-300s) lets clients recover faster on outages.

Source: SRE practice / DNS architecture

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), 584 ms total
PASS
1 redirect(s), 584 ms total
Info::
Single redirect
Got: https://oreilly.com → https://www.oreilly.com/ (301)
Info::
WWW normalization redirect
Info::
Redirect overhead: 584 ms total
Got: 584 ms

https://oreilly.com

482 ms · HTTP/1.1

301

https://www.oreilly.com/

102 ms · HTTP/1.1 FINAL

#URLStatusTimeProtocolServer
1https://oreilly.com301482 msHTTP/1.1Apache
2https://www.oreilly.com/200102 msHTTP/1.1Apache

See the visual redirect chain in the HTTP Probe tab →

A+
Crawlability
robots.txt present, sitemap with 5 URLs
PASS
robots.txt present, sitemap with 5 URLs
Info::
robots.txt is present
Got: 2373 bytes
Info::
sitemap.xml is present
Info::
sitemap.xml is valid XML
Info::
sitemap.xml contains 5 entries
Info::
Sitemap index with 5 child sitemaps
Info::
robots.txt references sitemap
robots.txt 200 OK
Size 2373 B Sitemaps referenced 1 User-agents PetalBot, yisouspider, claude-web, Pinterestbot, cohere-ai, Baiduspider, ChatGPT-User/2.0, DotBot, archive.org_bot, GPTBot, TimpiBot, ArchiveTeam ArchiveBot, OnPageBot, Applebot, kakaotalk-scrap, AI2Bot, Baiduspider-Render/2.0, DataForSeoBot, AliyunSecBot, DoCoMo, DuckAssistBot, TelegramBot, Amazonbot-Video, Exabot, Amazonbot, YisouSpider, Googlebot, Applebot-Extended, meta-webindexer, CCBot, ChatGPT-User, bingbot, Brave, AwarioBot, ali-implementer, Perplexity-User, Blueno, WorksOgCrawler, TA-Googlebot, SAMSUNG-SGH-E250, PerplexityBot, getstream.io/opengraph-bot, SeznamBot, 008, ClaudeBot, Claude-SearchBot, *, GoogleAgent-Mariner, MJ12bot, 360Spider, MistralAI-User, RamblerMail, anthropic-ai, OAI-SearchBot, Bytespider, YandexBot, ZoominfoBot, YouBot, Google-Extended, omgili, ArchiveTeam, BIGO-baiguoyuan, meta-externalagent, Diffbot, Sogou Blocking No — crawling allowed
User-agent: *
Disallow: /images/
Disallow: /graphics/
Disallow: /admin/
Disallow: /promos/
Disallow: /ddp/
Disallow: /dpp/
Disallow: /programming/free/files/
Disallow: /design/free/files/
Disallow: /iot/free/files/
Disallow: /data/free/files/
Disallow: /webops-perf/free/files/
Disallow: /web-platform/free/files/
Disallow: /cs/
Disallow: /test/
Disallow: /*/?ar
Disallow: /*/?orpq
Disallow: /*/?discount=learn
Disallow: /self-registration/*


User-agent: Baiduspider
User-agent: PetalBot
User-agent: yisouspider
User-agent: 008
Disallow: /


# Attribution bots - allow full access
User-agent: ChatGPT-User
User-agent: ChatGPT-User/2.0
User-agent: PerplexityBot
User-agent: Perplexity-User
User-agent: DuckAssistBot
User-agent: Applebot
User-agent: bingbot
User-agent: Googlebot
Allow: /

# Conditional - allow access, review quarterly
User-agent: ClaudeBot
User-agent: claude-web
User-agent: Claude-SearchBot
User-agent: YouBot
User-agent: Applebot-Extended
User-agent: MistralAI-User
User-agent: meta-webindexer
User-agent: GoogleAgent-Mariner
User-agent: DotBot
User-agent: archive.org_bot
User-agent: Pinterestbot
User-agent: TelegramBot
User-agent: kakaotalk-scrap
User-agent: getstream.io/opengraph-bot
User-agent: RamblerMail
User-agent: Brave
Allow: /

# AI training scrapers - no content access
User-agent: GPTBot
User-agent: anthropic-ai
User-agent: Google-Extended
User-agent: cohere-ai
User-agent: CCBot
User-agent: AI2Bot
User-agent: OAI-SearchBot
User-agent: Amazonbot
User-agent: Amazonbot-Video
User-agent: Bytespider
User-agent: meta-externalagent
User-agent: Diffbot
User-agent: omgili
User-agent: TimpiBot
User-agent: SeznamBot
User-agent: Exabot
User-agent: YandexBot
User-agent: Sogou
User-agent: 360Spider
User-agent: YisouSpider
User-agent: Baiduspider-Render/2.0
User-agent: MJ12bot
User-agent: DataForSeoBot
User-agent: AliyunSecBot
User-agent: ArchiveTeam
User-agent: ArchiveTeam ArchiveBot
User-agent: AwarioBot
User-agent: ZoominfoBot
User-agent: ali-implementer
User-agent: Blueno
User-agent: BIGO-baiguoyuan
User-agent: WorksOgCrawler
User-agent: OnPageBot
User-agent: DoCoMo
User-agent: SAMSUNG-SGH-E250
User-agent: TA-Googlebot
Disallow: /

# Note: Conditional bots should be reviewed quarterly. If crawl behavior
# or attribution quality changes, move affected agents to the block list.


Sitemap: https://www.oreilly.com/sitemap_index.xml

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

403https://www.oreilly.com/
200https://oreilly.com/

HTTP → HTTPS

301http://oreilly.com/ https://www.oreilly.com/

Consistent

A+
Domain Intelligence
oreilly.com — via GoDaddy.com, LLC, 29 years, 3 months old, hosted on Google Cloud
PASS
oreilly.com — via GoDaddy.com, LLC, 29 years, 3 months old, hosted on Google Cloud
Info::
Domain registered until May 26, 2027 (1 years, 1 months 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: GoDaddy.com, LLC
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: Google Cloud
Got: AS396982
Domain expiry

344 days

May 26, 2027

SSL certificate

88 days

Issued by Let's Encrypt

Domain age

29 years, 3 months

Registered May 27, 1997

DNSSEC

Not enabled

Protects against DNS spoofing

Hosting

Google Cloud

ASN AS396982

34.169.83.167

Registrar

GoDaddy.com, LLC

Unlocked 6 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 GoDaddy.com, LLC
Created May 27, 1997 (29 years, 3 months ago)
Expires May 26, 2027 (1 years, 1 months)
Last Updated April 16, 2026
Name Servers a1-225.akam.net, a13-64.akam.net, a16-65.akam.net, a20-66.akam.net, a3-67.akam.net, a4-64.akam.net
DNSSEC Not enabled
Hosting
IP Address 34.169.83.167
ASN AS396982 (GOOGLE-CLOUD-PLATFORM - Google LLC, US)
Provider Google Cloud
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 520 ms — DNS, TCP, TLS, TTFB, content transfer breakdown
PASS
DNS Lookup DNS Lookup — time to resolve the domain name to an IP address.
27 ms
TCP Connect TCP Connect — time to establish a TCP connection to the server.
164 ms
TLS Handshake TLS Handshake — time to complete the HTTPS encryption handshake.
166 ms
Time to First Byte Time to First Byte — how long the server takes to respond with the first byte of data.
521 ms
Total Time Total request time from DNS lookup through full response.
521 ms

Connection waterfall

DNS Lookup 27 ms TCP Connect 164 ms TLS Handshake 166 ms Server Processing 164 ms Content Transfer 0 ms
All checks on this page are automated. Results are estimates - run targeted manual reviews when the score affects a release decision.

Send Feedback