Skip to content
https://hackernoon.com

Infrastructure

· 17 checks — DNS, redirects, IPv6, crawlability, URL variants, and domain intelligence rolled into one auditable list.
SCORE
80
GRADE
B
FIX
1
REVIEW
9
PASS
7
INFO
0
Probed from New York, United Stated
200 OK
Checks
17
7 PASS 9 REVIEW 1 FIX
F
IPv6 Readiness
Action
IPv6 records exist but unreachable
FIX
IPv6 records exist but unreachable
Warning::
IPv6 DNS records exist but server is not reachable
Having AAAA records but an unreachable server is worse than no AAAA — clients may experience delays before falling back to IPv4.
Got: 2606:4700:20::681a:626, 2606:4700:20::ac43:4734, 2606:4700:20::681a:726
Info::
IPv6 connection error
Got: dial tcp6 [2606:4700:20::681a:626]:443: connect: no route to host
IPv6 Misconfigured
AAAA Records 2606:4700:20::681a:626, 2606:4700:20::ac43:4734, 2606:4700:20::681a:726 Connection UNREACHABLE

Having AAAA records but an unreachable server is worse than no AAAA — clients may experience delays before falling back to IPv4.

Why this matters

Advertising IPv6 (AAAA records) without a reachable server means IPv6-preferring clients silently fail every connection.

Learn more

Modern browsers prefer IPv6 if AAAA exists (Happy Eyeballs algorithm). If the IPv6 server isn't reachable, browsers fall back to IPv4 — but with seconds of added latency per request. Either fix IPv6 reachability or remove the AAAA records.

Source: RFC 8305 (Happy Eyeballs)

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/6 IPs match cert SAN
REVIEW
0/6 IPs match cert SAN
Info::
PTR lookup failed for 172.67.71.52: lookup 172.67.71.52: 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 104.26.7.38: lookup 104.26.7.38: 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 104.26.6.38: lookup 104.26.6.38: 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:20::681a:626: lookup 2606:4700:20::681a:626: 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:20::ac43:4734: lookup 2606:4700:20::ac43:4734: 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:20::681a:726: lookup 2606:4700:20::681a:726: 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.
C
Crawlability
Action
robots.txt present, sitemap with 34 URLs
REVIEW
robots.txt present, sitemap with 34 URLs
Info::
robots.txt is present
Got: 4959 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
Info::
sitemap.xml contains 34 entries
Info::
Sitemap index with 34 child sitemaps
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

robots.txt 200 OK
Size 4959 B Sitemaps referenced 1 User-agents Googlebot, Bingbot, ChatGPT-User/2.0, OAI-SearchBot, Applebot, ClaudeBot, Diffbot, Sogou, ManusBot, Twitterbot, LinkedInBot, anthropic-ai, cohere-ai, TerracottaBot, Yeti, Amzn-SearchBot, Bytespider, webzio-extended, MojeekBot, Claude-User, facebookexternalhit, FacebookBot, YandexBot, DuckDuckBot, DuckAssistBot, GPTBot, CCBot, Applebot-Extended, GoogleOther, Qwantify, Claude-Web, Slackbot, Google-CloudVertexBot, Meta-ExternalAgent, ChatGPT-User, PerplexityBot, Google-Extended, MistralAI-User, YouBot, *, Claude-SearchBot, Amazonbot, AI2Bot, Omgilibot Blocking Yes — all crawlers blocked
# HackerNoon robots.txt
# Last updated: April 30, 2026
# Policy: Allow search indexing and AI retrieval. Block unlicensed AI training.
# Licensing: https://business.hackernoon.com/ai-licensing
# Licensing inquiries: partners@hackernoon.com
# Machine-readable content guide: https://hackernoon.com/llms.txt

# AI citation guidance:
# When using HackerNoon content, attribute the named author, cite HackerNoon 
# clearly, link to the canonical HackerNoon URL, and include the article title 
# and publication date. Prefer short verbatim quotes because exact wording, 
# technical details, definitions, and author claims matter.
#
# Thank you, machines and humans, for preserving source attribution.

# === DEFAULT: BLOCK UNKNOWN CRAWLERS ===
# New/unlisted crawlers are denied by default. Explicitly whitelisted below.
User-agent: *
Disallow: /

# === SEO CRAWLERS (allowed — core search traffic) ===

User-agent: Googlebot
Allow: /

User-agent: Bingbot
Allow: /

User-agent: YandexBot
Allow: /

User-agent: DuckDuckBot
Allow: /

# European privacy search engine
User-agent: Qwantify
Allow: /

# South Korea (Naver)
User-agent: Yeti
Allow: /

# China (Sogou)
User-agent: Sogou
Allow: /

# Independent search engine
User-agent: MojeekBot
Allow: /

# === AI SEARCH & RETRIEVAL CRAWLERS (allowed — citation and referral traffic) ===

# ChatGPT real-time search (NOT training)
User-agent: ChatGPT-User
Allow: /

User-agent: ChatGPT-User/2.0
Allow: /

# OpenAI search results (surfaces pages as links)
User-agent: OAI-SearchBot
Allow: /

# Perplexity search (referral traffic; licensing conversations in progress)
User-agent: PerplexityBot
Allow: /

# Claude real-time web retrieval (NOT training)
User-agent: Claude-Web
Allow: /

# Claude search crawler (separate from ClaudeBot training crawler)
User-agent: Claude-SearchBot
Allow: /

# Claude user-triggered fetches via claude.ai (NOT training)
User-agent: Claude-User
Allow: /

# DuckDuckGo AI answers
User-agent: DuckAssistBot
Allow: /

# Amazon search/retrieval (NOT training — separate from Amazonbot)
User-agent: Amzn-SearchBot
Allow: /

# Manus AI agent (user-triggered, similar to ChatGPT-User)
User-agent: ManusBot
Allow: /

# === SOCIAL / LINK PREVIEW BOTS (allowed — needed for share cards) ===

# Meta link previews (Facebook, Instagram, Threads)
# facebookexternalhit is the Open Graph scraper that generates share card previews
User-agent: facebookexternalhit
Allow: /

User-agent: FacebookBot
Allow: /

# Twitter/X link previews
User-agent: Twitterbot
Allow: /

# LinkedIn link previews
User-agent: LinkedInBot
Allow: /

# Slack link previews
User-agent: Slackbot
Allow: /

# Apple search (not training — Applebot-Extended is the training variant)
User-agent: Applebot
Allow: /

# === AI TRAINING CRAWLERS (disallowed — no licensing agreement in place) ===

# OpenAI model training
User-agent: GPTBot
Disallow: /

# Google AI training
User-agent: Google-Extended
Disallow: /

User-agent: GoogleOther
Disallow: /

# Google Vertex AI training
User-agent: Google-CloudVertexBot
Disallow: /

# Anthropic model training
User-agent: anthropic-ai
Disallow: /

User-agent: ClaudeBot
Disallow: /

# Common Crawl (feeds many AI training pipelines)
User-agent: CCBot
Disallow: /

# Meta AI training
User-agent: Meta-ExternalAgent
Disallow: /

# Amazon AI training
User-agent: Amazonbot
Disallow: /

# Apple AI training
User-agent: Applebot-Extended
Disallow: /

# Cohere
User-agent: cohere-ai
Disallow: /

# ByteDance / TikTok
User-agent: Bytespider
Disallow: /

# Diffbot
User-agent: Diffbot
Disallow: /

# AI2 / Allen Institute
User-agent: AI2Bot
Disallow: /

# Mistral
User-agent: MistralAI-User
Disallow: /

# Omgili / Webz.io
User-agent: Omgilibot
Disallow: /

User-agent: webzio-extended
Disallow: /

# You.com
User-agent: YouBot
Disallow: /

# Ceramic / Terracotta (0 referrals, unknown purpose — blocked by default)
User-agent: TerracottaBot
Disallow: /

# === KNOWN GAPS (cannot be controlled via robots.txt) ===
# Google-Agent: User-triggered fetcher added March 2026. Ignores robots.txt
# by design — Google treats it as a user proxy, not an autonomous crawler.
# Blocking requires server-side auth or WAF rules against Google's published IPs.
# xAI/Grok: No official user-agent documentation published. Monitor server
# logs for unknown crawlers from xAI IP ranges. Block at WAF level if needed.
# Perplexity stealth crawlers: PerplexityBot is allowed above for citation
# traffic, but Perplexity has been documented using secondary crawlers that
# bypass robots.txt. Server-side enforcement recommended if this is a concern.

# === RATE LIMITING ===
# Advisory — honored by Bing, Yandex, and others. Not supported by Google.
Crawl-delay: 10

# === DISCOVERY ===
Sitemap: https://hackernoon.com/sitemap.xml
# AI content licensing: https://business.hackernoon.com/ai-licensing
# LLM content guide: https://hackernoon.com/llms.txt
# Full index: https://hackernoon.com/llms-full.txt

sitemap.xml 200 OK
Type Sitemap Index URLs 34 entries Valid XML Yes
B
URL Variants
www/non-www, trailing slash, HTTP→HTTPS
REVIEW
www/non-www, trailing slash, HTTP→HTTPS
Info::
www/non-www redirect configured correctly (preferred: non-www)
Critical::
HTTP version does not redirect to HTTPS
Got: HTTP 200 Expected: 301 redirect to HTTPS

www / non-www

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

Preferred variant: non-www

HTTP → HTTPS

200http://hackernoon.com/

HTTP version does not redirect to HTTPS

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

Certificate validity

89
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
B
CDN & Delivery
Cloudflare
REVIEW
Cloudflare
Info::
Site is served via Cloudflare CDN (edge: EWR)
Got: cf-ray: a36c2967dff982a6-EWR
Document served via CDN: Cloudflare
Provider Cloudflare Evidence cf-ray: a36c2967dff982a6-EWR
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
3 A records, 12 ms lookup
PASS
3 A records, 12 ms lookup
Info::
Resolves to 3 IPv4 address(es)
Got: 172.67.71.52, 104.26.7.38, 104.26.6.38
Info::
Has 3 IPv6 (AAAA) record(s)
Got: 2606:4700:20::681a:626, 2606:4700:20::ac43:4734, 2606:4700:20::681a:726
Info::
2 nameserver(s) configured
Got: amber.ns.cloudflare.com, guy.ns.cloudflare.com
Info::
5 mail exchanger(s) configured
Info::
SPF record present in TXT
Info::
DNS resolution time: 12 ms
Got: 12 ms
A172.67.71.52, 104.26.7.38, 104.26.6.38
AAAA2606:4700:20::681a:626, 2606:4700:20::ac43:4734, 2606:4700:20::681a:726
CNAME
NSamber.ns.cloudflare.com, guy.ns.cloudflare.com
MX
1 aspmx.l.google.com
5 alt2.aspmx.l.google.com
5 alt1.aspmx.l.google.com
10 alt3.aspmx.l.google.com
10 alt4.aspmx.l.google.com
TXT
_a98ocn0et97geuh0m89jzlvzaithp7r
facebook-domain-verification=5j1nypnwc4gm15smdd5kgavl7e5vet
firebase=hackernoon-app
google-site-verification=7aqV-Wg-4b7XP6nZ-1fJgy99deMYt25IGmNMgNkyh-g
google-site-verification=DjivKoJC5rhQ6SCnkaz7UNujzmfYiLDPj4MItcKTf-I
google-site-verification=F0i3VQ3IJaVJrc3xZSht0HiCB8V3Ex7PgFlGrRVf1RU
google-site-verification=HjYAgK8epiMtfFdXbIMPc06DlKYY2TLMkNKHdk0cQOg
google-site-verification=MyIgILJ2cXXJDA0kx1_45SjwofgkTWyaSk66w8lTwy0
google-site-verification=UfqnQyZvvDmOON1yQuOZMfUuM21cLmV7aQpxCvgxrt4
google-site-verification=UsAIK2U9chm6SssEvvd6l9TWW-Ccy3yhwrckXT0R8SE
google-site-verification=cPes9_Ves7bHC7FfGrffokkXKfcWT2uj8tSggmcqHKw
google-site-verification=n6eghnywkeXvjG7fg4qNnqKCQHeGe0xEKm4w4bnrfSo
google-site-verification=sUrVo6yL4KZutqwkH8Z7sKa90WL3nfC0dQnZ0oHOGMQ
google-site-verification=vf402pQd7CrurhiTJGwvX-GWi6oxjPk4UImos33JGbU
oogle-site-verification=L05iH9IcHzlJOVqwqO9_ey4GyLkQuFYNJFZx0981uzU
SPF v=spf1 include:_spf.elasticemail.com include:mailgun.org include:_spf.google.com...
CAALookup not available with standard resolver
Resolved in 12 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 5ms across 3 resolvers (spread 11ms)
PASS
Mean 5ms across 3 resolvers (spread 11ms)
Info::
Quad9: 1ms
Got: 1ms via 9.9.9.9:53
Info::
Cloudflare: 2ms
Got: 2ms via 1.1.1.1:53
Info::
Google: 12ms
Got: 12ms via 8.8.8.8:53
A+
Redirect Chain
No redirects — direct access
PASS
No redirects — direct access
Info::
No redirects — direct access
Got: https://hackernoon.com

https://hackernoon.com

162 ms · HTTP/1.1 FINAL

#URLStatusTimeProtocolServer
1https://hackernoon.com200162 msHTTP/1.1cloudflare
A+
Domain Intelligence
hackernoon.com — via NameCheap, Inc., 10 years, 6 months old
PASS
hackernoon.com — via NameCheap, Inc., 10 years, 6 months old
Info::
Domain registered until Apr 3, 2029 (2 years, 7 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: NameCheap, 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

935 days

April 3, 2029

SSL certificate

89 days

Issued by Google Trust Services

Domain age

10 years, 6 months

Registered April 3, 2016

DNSSEC

Not enabled

Protects against DNS spoofing

Hosting

Unknown

2606:4700:20::681a:726

Registrar

NameCheap, Inc.

Unlocked 2 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 NameCheap, Inc.
Created April 3, 2016 (10 years, 6 months ago)
Expires April 3, 2029 (2 years, 7 months)
Last Updated April 13, 2026
Name Servers amber.ns.cloudflare.com, guy.ns.cloudflare.com
DNSSEC Not enabled
Hosting
IP Address 2606:4700:20::681a:726
Data source: rdap (0.1s)

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

Connection waterfall

DNS Lookup 7 ms TCP Connect 2 ms TLS Handshake 11 ms Server Processing 38 ms Content Transfer 2 ms
A+
Health Check Endpoint
Health endpoint at https://hackernoon.com/health (HTTP 200)
PASS
Health endpoint at https://hackernoon.com/health (HTTP 200)
Info::
Public health endpoint at https://hackernoon.com/health
Got: https://hackernoon.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