Skip to content
https://hadoco.netlify.app/articles/

Infrastructure

· 17 checks — DNS, redirects, IPv6, crawlability, URL variants, and domain intelligence rolled into one auditable list.
SCORE
87
GRADE
B
FIX
1
REVIEW
7
PASS
8
INFO
1
Probed from Madrid, Spain
200 OK
Checks
17
8 PASS 7 REVIEW 1 FIX
D
Crawlability
Action
robots.txt present, sitemap with 0 URLs
FIX
robots.txt present, sitemap with 0 URLs
Info::
robots.txt is present
Got: 27 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::
sitemap.xml is present
Info::
sitemap.xml is valid XML
Warning::
sitemap.xml is empty — no URLs found
An empty sitemap provides no value. Add <url> entries for your pages.
Info::
robots.txt does not reference a sitemap
Add a 'Sitemap:' directive to robots.txt so search engines can discover your 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

An empty sitemap provides no value. Add <url> entries for your pages.

Why this matters

An empty sitemap signals 'no content to index' to Google — actively harmful versus having no sitemap at all.

Learn more ▾

Google compares URLs in the sitemap against URLs it has crawled. An empty sitemap on a site with thousands of pages signals abandonment. Either populate it correctly (most CMSes auto-generate) or delete the file and let Google crawl normally.

Source: Google Search Central / sitemaps.org

Add a 'Sitemap:' directive to robots.txt so search engines can discover your sitemap.

Why this matters

robots.txt omits Sitemap: directive — crawlers must fetch /sitemap.xml by convention; reliable but missing the explicit hint.

Source: sitemaps.org

robots.txt 200 OK
Size 27 B Sitemaps referenced 0 User-agents * Blocking Yes — all crawlers blocked
User-agent: *
Disallow: /


sitemap.xml 200 OK
Type URL Set URLs 0 entries Valid XML Yes
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.
B
Reverse DNS
0/4 IPs match cert SAN
REVIEW
0/4 IPs match cert SAN
Info::
PTR for 63.176.8.218 does not match any cert SAN: ec2-63-176-8-218.eu-central-1.compute.amazonaws.com
Common when behind a CDN or shared hosting (PTR points at the provider's hostname). Mismatch can also affect mail deliverability if this IP sends email -- many MTAs reject mail when forward+reverse DNS disagree.
Info::
PTR for 35.157.26.135 does not match any cert SAN: ec2-35-157-26-135.eu-central-1.compute.amazonaws.com
Common when behind a CDN or shared hosting (PTR points at the provider's hostname). Mismatch can also affect mail deliverability if this IP sends email -- many MTAs reject mail when forward+reverse DNS disagree.
Info::
PTR lookup failed for 2a05:d014:58f:6200::259: lookup 2a05:d014:58f:6200::259: 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 2a05:d014:58f:6200::258: lookup 2a05:d014:58f:6200::258: 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
HTTP Probe Timing
Total 1066 ms — DNS, TCP, TLS, TTFB, content transfer breakdown
REVIEW
DNS Lookup DNS Lookup — time to resolve the domain name to an IP address.
31 ms
TCP Connect TCP Connect — time to establish a TCP connection to the server.
25 ms
TLS Handshake TLS Handshake — time to complete the HTTPS encryption handshake.
25 ms
Time to First Byte Time to First Byte — how long the server takes to respond with the first byte of data.
1.02 s
Total Time Total request time from DNS lookup through full response.
1.07 s

Connection waterfall

DNS Lookup 31 ms TCP Connect 25 ms TLS Handshake 25 ms Server Processing 936 ms Content Transfer 50 ms
B
TLS Certificate Expiry & Recommendations
130 days until leaf cert expires — 2 issues to address
REVIEW

Certificate validity

130
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
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.
B
Health Check Endpoint
No conventional health endpoint found
REVIEW
No conventional health endpoint found
Info::
No conventional health endpoint found
Health endpoints (/health, /healthz, /status, /ping, /api/health) let uptime monitors, load balancers, and orchestration systems (Kubernetes, ECS, Fly.io) verify the service is alive. Marketing sites and small services often skip them legitimately; flagged as Info, not a failure. Probe results: /api/health: 404, /health: 404, /healthz: 404, /ping: 404, /status: 404.
A
DNS Records
2 A records, 32 ms lookup
PASS
2 A records, 32 ms lookup
Info::
Resolves to 2 IPv4 address(es)
Got: 63.176.8.218, 35.157.26.135
Info::
Has 2 IPv6 (AAAA) record(s)
Got: 2a05:d014:58f:6200::259, 2a05:d014:58f:6200::258
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: 32 ms
Got: 32 ms
A63.176.8.218, 35.157.26.135
AAAA2a05:d014:58f:6200::259, 2a05:d014:58f:6200::258
CNAME—
NS—
MX—
TXT—
CAALookup not available with standard resolver
Resolved in 32 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 13ms across 3 resolvers (spread 19ms)
PASS
Mean 13ms across 3 resolvers (spread 19ms)
Info::
Quad9: 1ms
Got: 1ms via 9.9.9.9:53
Info::
Google: 20ms
Got: 20ms via 8.8.8.8:53
Info::
Cloudflare: 20ms
Got: 20ms via 1.1.1.1:53
A+
Redirect Chain
No redirects — direct access
PASS
No redirects — direct access
Info::
No redirects — direct access
Got: https://hadoco.netlify.app/articles/

https://hadoco.netlify.app/articles/

374 ms · HTTP/1.1 FINAL

#URLStatusTimeProtocolServer
1https://hadoco.netlify.app/articles/200374 msHTTP/1.1Netlify
A+
IPv6 Readiness
IPv6 reachable (26 ms)
PASS
IPv6 reachable (26 ms)
Info::
IPv6 is configured and reachable at 2a05:d014:58f:6200::259, 2a05:d014:58f:6200::258
Got: 26 ms connect
IPv6 Ready
AAAA Records 2a05:d014:58f:6200::259, 2a05:d014:58f:6200::258 Connection Reachable (26 ms)
A+
URL Variants
www/non-www, trailing slash, HTTP→HTTPS
PASS
www/non-www, trailing slash, HTTP→HTTPS
Info::
HTTP correctly redirects to HTTPS permanently
Got: HTTP 301

www / non-www

https://www.hadoco.netlify.app/articles/
200https://hadoco.netlify.app/articles/

Trailing Slash

200https://hadoco.netlify.app/articles/
301https://hadoco.netlify.app/articles

HTTP → HTTPS

301http://hadoco.netlify.app/articles/ → https://hadoco.netlify.app/articles/

Consistent

A
CDN & Delivery
Netlify ("Netlify Edge"; fwd=miss; fwd-status=200; stored)
PASS
Netlify ("Netlify Edge"; fwd=miss; fwd-status=200; stored)
Info::
Document is served via Netlify CDN
Got: delegation hadoco.netlify.app
Info::
CDN cache status: "Netlify Edge"; fwd=miss; fwd-status=200; stored
Document served via CDN: Netlify
Provider Netlify Cache Status "Netlify Edge"; fwd=miss; fwd-status=200; stored Evidence delegation hadoco.netlify.app
A+
CDN Cache Observability
Cache state: Age=2s
PASS
Cache state: Age=2s
Info::
CDN cache state observable via 1 header(s)
Got: age=2
Domain Intelligence
Domain intelligence data not available
INFO
Domain intelligence data not available

RDAP and WHOIS lookup both failed

All checks on this page are automated. Results are estimates - run targeted manual reviews when the score affects a release decision.

Send Feedback