Skip to content
https://www.deventer.nl

Infrastructure

· 17 checks — DNS, redirects, IPv6, crawlability, URL variants, and domain intelligence rolled into one auditable list.
SCORE
92
GRADE
A
FIX
1
REVIEW
7
PASS
9
INFO
0
Probed from Madrid, Spain
200 OK
Checks
17
9 PASS 7 REVIEW 1 FIX
D
TLS Certificate Expiry & Recommendations
Action
8 days until leaf cert expires — 3 issues to address
FIX

Certificate validity

8
days left
0d 30d 60d 90d+
Renew urgently — under 14 days remaining

Recommended actions

  • Renew certificate — 8 days remaining
  • Add includeSubDomains to the HSTS directive
  • Add the preload directive and submit to hstspreload.org once max-age + includeSubDomains are in place
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/2 IPs match cert SAN
REVIEW
0/2 IPs match cert SAN
Info::
PTR for 185.71.61.205 does not match any cert SAN: deventerprod02.cobytes.io
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 2a03:38a0:61:205::1 does not match any cert SAN: deventerprod02.cobytes.io
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.
C
CDN & Delivery
Action
Assets on AWS CloudFront (host app.tolkie.nl, 3 assets); document served directly from origin
REVIEW
Assets on AWS CloudFront (host app.tolkie.nl, 3 assets); document served directly from origin
Warning::
Document not behind existing CDN (AWS CloudFront serves the assets)
The page's subresources are delivered by AWS CloudFront (app.tolkie.nl, 3 assets), but the HTML document itself comes straight from the origin. Routing the document through the CDN already in use is the cheapest latency win available here -- the provider relationship, the certificate and the config already exist. A short edge TTL with stale-while-revalidate suits HTML that changes often; if the response is genuinely per-user, edge TLS termination alone still removes a full round trip from every visitor's first byte.
Got: x-amz-cf-id: _7FpcVsQJpuO0PkvMETPMQNl5RrMileJWDIc4FYI3I0sPCMoyK710g==
Info::
Assets on AWS CloudFront: app.tolkie.nl (assets: 3), cache Hit from cloudfront
Got: x-amz-cf-id: _7FpcVsQJpuO0PkvMETPMQNl5RrMileJWDIc4FYI3I0sPCMoyK710g==
Warning: Assets on a CDN, document is not: AWS CloudFront
Document origin not attributed

Asset hosts on a CDN

  • app.tolkie.nl — AWS CloudFront · assets: 3 · Cache Status: Hit from cloudfront

Other asset hosts

  • siteimproveanalytics.com — assets: 1 · below probe threshold

The heavy static files already ride an edge network, but every visitor still waits on the origin for the HTML itself. Routing the document through the same CDN is usually a config change rather than a migration: a short edge TTL with stale-while-revalidate for cacheable HTML, or edge TLS termination alone when the response is per-user.

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.
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: connection error, /health: 404, /healthz: 404, /ping: connection error, /status: connection error.
A
DNS Records
1 A records, 33 ms lookup
PASS
1 A records, 33 ms lookup
Info::
Resolves to 1 IPv4 address(es)
Got: 185.71.61.205
Info::
Single A record — no DNS redundancy
Multiple A records provide failover if one server goes down.
Info::
Has 1 IPv6 (AAAA) record(s)
Got: 2a03:38a0:61:205::1
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: 33 ms
Got: 33 ms
A185.71.61.205
AAAA2a03:38a0:61:205::1
CNAME—
NS—
MX—
TXT—
CAALookup not available with standard resolver
Resolved in 33 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

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 23ms across 3 resolvers (spread 13ms)
PASS
Mean 23ms across 3 resolvers (spread 13ms)
Info::
Cloudflare: 19ms
Got: 19ms via 1.1.1.1:53
Info::
Google: 19ms
Got: 19ms via 8.8.8.8:53
Info::
Quad9: 32ms
Got: 32ms via 9.9.9.9:53
A+
Redirect Chain
No redirects — direct access
PASS
No redirects — direct access
Info::
No redirects — direct access
Got: https://www.deventer.nl

https://www.deventer.nl

205 ms · HTTP/1.1 FINAL

#URLStatusTimeProtocolServer
1https://www.deventer.nl200205 msHTTP/1.1nginx
A+
IPv6 Readiness
IPv6 reachable (26 ms)
PASS
IPv6 reachable (26 ms)
Info::
IPv6 is configured and reachable at 2a03:38a0:61:205::1
Got: 26 ms connect
IPv6 Ready
AAAA Records 2a03:38a0:61:205::1 Connection Reachable (26 ms)
A+
Crawlability
robots.txt present, sitemap with 1009 URLs
PASS
robots.txt present, sitemap with 1009 URLs
Info::
robots.txt is present
Got: 1340 bytes
Info::
sitemap.xml is present
Info::
sitemap.xml is valid XML
Info::
sitemap.xml contains 1009 entries
Info::
robots.txt references sitemap
robots.txt 200 OK
Size 1340 B Sitemaps referenced 1 User-agents * Blocking No — crawling allowed
User-agent: *
Allow: /
Disallow: /verkeer-en-vervoer/werkzaamheden-aan-wegen-en-wijken
Disallow: /gemeente-deventer-via-instagram
Disallow: /vragenlijst-vroegsignalering
Disallow: /vragenlijst-geldfit
Disallow: /vragenlijst-schuldhulpverlening
Disallow: /bedankt-vragenlijst-beleid-schuldhulpverlening
Disallow: /evenementen-en-winkelen/een-evenement-organiseren/aanmelding-evenementenkalender-ontvangen
Disallow: /denk-en-doe-mee/participatie-denk-mee-over-deze-projecten/speelplekken-borgele-link-naar-webarchief
Disallow: /geld-en-inkomen/hulp-bij-geldzorgen-of-schulden/contact-schuldhulpverlening-en-budgetadvies/jouw-contactverzoek-is-ontvangen
Disallow: /een-vol-stroomnet/aanmelden-eerder-aanvragen-stroomaansluiting-woningbouwproject/aanmeldformulier-eerder-aanvragen-stroomaansluiting-woningbouwproject
Disallow: /duidelijke-taal/denk-mee/toegankelijk
Disallow: /projecten-woningbouw-en-wijkvernieuwing/ontwikkelingen-schalkhaar-en-omgeving/bedankt
Disallow: /geld-en-inkomen/regelingen-bij-weinig-geld/besparen-op-energiekosten/energiebespaarpakket-aanvragen-voor-je-huis/bedankt-voor-je-aanvraag
Disallow: /een-vol-stroomnet/aanmelden-eerder-aanvragen-stroomaansluiting-woningbouwproject/aanmeldformulier-eerder-aanvragen-stroomaansluiting-woningbouwproject/bedankt-voor-het-invullen
Sitemap: https://www.deventer.nl/sitemap.xml
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: www)
Info::
HTTP correctly redirects to HTTPS permanently
Got: HTTP 301

www / non-www

200https://www.deventer.nl/
301https://deventer.nl/

Preferred variant: www

HTTP → HTTPS

301http://www.deventer.nl/ → https://www.deventer.nl/

Consistent

A+
Domain Intelligence
deventer.nl — via Previder B.V., 30 years, 7 months old
PASS
deventer.nl — via Previder B.V., 30 years, 7 months old
Info::
DNSSEC is enabled
Info::
Registrar: Previder B.V.
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

Unknown

SSL certificate

8 days

Issued by Sectigo Limited

Domain age

30 years, 7 months

Registered September 4, 1996

DNSSEC

Enabled

Protects against DNS spoofing

Hosting

Unknown

2a03:38a0:61:205::1

Registrar

Previder B.V.

Unlocked 3 NS records
Expiry timeline
Today
+1 year
SSL expiry Danger zone (≤30 days)
Recommended actions
  • Renew the TLS certificate or verify auto-renewal is working
  • Enable registrar lock (clientTransferProhibited) to block unauthorized domain transfers
Registrar Previder B.V.
Created September 4, 1996 (30 years, 7 months ago)
Last Updated December 12, 2024
Name Servers nsauth3.introweb.net, nsauth1.introweb.nl, nsauth2.introweb.nl
DNSSEC Enabled
Registrant REDACTED FOR PRIVACY
Hosting
IP Address 2a03:38a0:61:205::1
Data source: rdap (0.6s)

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 254 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.
26 ms
TLS Handshake TLS Handshake — time to complete the HTTPS encryption handshake.
58 ms
Time to First Byte Time to First Byte — how long the server takes to respond with the first byte of data.
253 ms
Total Time Total request time from DNS lookup through full response.
254 ms

Connection waterfall

DNS Lookup 37 ms TCP Connect 26 ms TLS Handshake 58 ms Server Processing 133 ms Content Transfer 1 ms
All checks on this page are automated. Results are estimates - run targeted manual reviews when the score affects a release decision.

Send Feedback