Skip to content
https://www.medium.com

Infrastructure

· 17 checks — DNS, redirects, IPv6, crawlability, URL variants, and domain intelligence rolled into one auditable list.
SCORE
89
GRADE
B
FIX
0
REVIEW
8
PASS
9
INFO
0
Probed from Madrid, Spain
403 Forbidden
Checks
17
9 PASS 8 REVIEW
B
DNSSEC
Unsigned (DNSSEC not deployed)
REVIEW
Unsigned (DNSSEC not deployed)
Info::
DNSSEC is not deployed
The zone is not DNSSEC-signed. Users on validating resolvers (Cloudflare 1.1.1.1, Quad9 9.9.9.9, growing default in mobile resolvers) get no protection against DNS spoofing for this domain. Most registrars now offer DNSSEC at a single click; consider enabling it for sites where authenticity matters (banking, healthcare, government).
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 162.159.152.4: lookup 162.159.152.4: 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 162.159.153.4: lookup 162.159.153.4: 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:7::a29f:9804: lookup 2606:4700:7::a29f:9804: 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:7::a29f:9904: lookup 2606:4700:7::a29f:9904: 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
URL Variants
www/non-www, trailing slash, HTTP→HTTPS
REVIEW
www/non-www, trailing slash, HTTP→HTTPS
Critical::
Both www and non-www versions serve content
Got: Both variants return 200 Expected: One variant 301-redirects to the other
Info::
HTTP correctly 301-redirects to HTTPS

www / non-www

200https://www.medium.com/
200https://medium.com/

Inconsistent — duplicate content risk

HTTP → HTTPS

301http://www.medium.com/ → https://www.medium.com/

Consistent

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

Certificate validity

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

Recommended actions

  • Enable DNSSEC on your domain for DNS spoofing protection
B
CDN & Delivery
Cloudflare
REVIEW
Cloudflare
Info::
Site is served via Cloudflare CDN (edge: CDG)
Got: cf-ray: 9f8fb890fee36ffc-CDG
Document served via CDN: Cloudflare
Provider Cloudflare Evidence cf-ray: 9f8fb890fee36ffc-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, 42 ms lookup
PASS
2 A records, 42 ms lookup
Info::
Resolves to 2 IPv4 address(es)
Got: 162.159.152.4, 162.159.153.4
Info::
Has 2 IPv6 (AAAA) record(s)
Got: 2606:4700:7::a29f:9804, 2606:4700:7::a29f:9904
Info::
No NS records found
Info::
No MX records — email not configured via DNS
Info::
No SPF record found in TXT records
SPF helps prevent email spoofing. Add a TXT record starting with 'v=spf1'.
Info::
DNS resolution time: 42 ms
Got: 42 ms
A162.159.152.4, 162.159.153.4
AAAA2606:4700:7::a29f:9804, 2606:4700:7::a29f:9904
CNAME—
NS—
MX—
TXT—
CAALookup not available with standard resolver
Resolved in 42 ms

SPF helps prevent email spoofing. Add a TXT record starting with 'v=spf1'.

Why this matters

Without SPF, receiving servers can't validate sending IPs — your domain is easier to spoof in phishing.

Learn more ▾

SPF complements DMARC. Both should be published. SPF records list authorized sending IPs (e.g., `v=spf1 include:_spf.google.com ~all` for Google Workspace). After publishing, verify in Google Postmaster Tools or mxtoolbox.

Source: RFC 7208 (SPF)

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 15ms across 3 resolvers (spread 27ms)
PASS
Mean 15ms across 3 resolvers (spread 27ms)
Info::
Quad9: 1ms
Got: 1ms via 9.9.9.9:53
Info::
Cloudflare: 18ms
Got: 18ms via 1.1.1.1:53
Info::
Google: 28ms
Got: 28ms via 8.8.8.8:53
A+
Redirect Chain
0 redirect(s), 59 ms total
PASS
0 redirect(s), 59 ms total

https://www.medium.com

59 ms · HTTP/1.1 FINAL

#URLStatusTimeProtocolServer
1https://www.medium.com40359 msHTTP/1.1cloudflare
A+
IPv6 Readiness
IPv6 reachable (17 ms)
PASS
IPv6 reachable (17 ms)
Info::
IPv6 is configured and reachable at 2606:4700:7::a29f:9804, 2606:4700:7::a29f:9904
Got: 17 ms connect
IPv6 Ready
AAAA Records 2606:4700:7::a29f:9804, 2606:4700:7::a29f:9904 Connection Reachable (17 ms)
A+
Crawlability
robots.txt present, sitemap with 27266 URLs
PASS
robots.txt present, sitemap with 27266 URLs
Info::
robots.txt is present
Got: 884 bytes
Info::
sitemap.xml is present
Info::
sitemap.xml is valid XML
Info::
sitemap.xml contains 27266 entries
Info::
Sitemap index with 27266 child sitemaps
Info::
robots.txt references sitemap
robots.txt 200 OK
Size 884 B Sitemaps referenced 1 User-agents *, Applebot-Extended, Bytespider, ClaudeBot, FacebookBot, GPTBot, meta-externalagent, Amazonbot, GoogleOther Blocking No — crawling allowed
User-Agent: *
Disallow: /m/
Disallow: /me/
Disallow: /@me$
Disallow: /@me/
Disallow: /*/edit$
Disallow: /*/*/edit$
Disallow: /media/
Disallow: /p/*/share
Disallow: /r/
Disallow: /trending
Disallow: /search?q$
Disallow: /search?q=
Disallow: /*/search?q=
Disallow: /*/search/*?q=
Disallow: /*/*source=
Allow: /_/api/users/*/meta
Allow: /_/api/users/*/profile/stream
Allow: /_/api/posts/*/responses
Allow: /_/api/posts/*/responsesStream
Allow: /_/api/posts/*/related
User-Agent: Amazonbot
User-Agent: Applebot-Extended
User-Agent: Bytespider
User-Agent: ClaudeBot
User-Agent: FacebookBot
User-Agent: GoogleOther
User-Agent: GPTBot
User-Agent: meta-externalagent
Disallow: /
Allow: /about
Allow: /business
Allow: /earn
Allow: /gift
Allow: /membership
Allow: /partner-program
Allow: /verified-authors
Sitemap: https://medium.com/sitemap/sitemap.xml
License: https://medium.com/license.xml

sitemap.xml 200 OK
Type Sitemap Index URLs 27266 entries Valid XML Yes
Child Sitemaps: