Skip to content
https://hackmd.io

Infrastructure

· 9 checks — DNS, redirects, IPv6, crawlability, URL variants, and domain intelligence rolled into one auditable list.
SCORE
99
GRADE
A+
FIX
1
REVIEW
2
PASS
6
INFO
0
Probed from Madrid, Spain
200 OK
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.

B
HTTP Probe Timing
Total 972 ms — DNS, TCP, TLS, TTFB, content transfer breakdown
REVIEW
DNS Lookup DNS Lookup — time to resolve the domain name to an IP address.
29 ms
TCP Connect TCP Connect — time to establish a TCP connection to the server.
1 ms
TLS Handshake TLS Handshake — time to complete the HTTPS encryption handshake.
660 ms
Time to First Byte Time to First Byte — how long the server takes to respond with the first byte of data.
965 ms
Total Time Total request time from DNS lookup through full response.
973 ms

Connection waterfall

DNS Lookup 29 ms TCP Connect 1 ms TLS Handshake 660 ms Server Processing 276 ms Content Transfer 8 ms
B
TLS Certificate Expiry & Recommendations
286 days until leaf cert expires — 4 issues to address
REVIEW

Certificate validity

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

Recommended actions

  • Prefer TLS 1.3 — TLS 1.2 is acceptable but TLS 1.3 removes RSA key exchange and improves latency
  • Submit your domain to hstspreload.org to be added to the Chrome preload list
  • 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
2 A records, 29 ms lookup
PASS
2 A records, 29 ms lookup
Info::
Resolves to 2 IPv4 address(es)
Got: 99.83.179.177, 75.2.77.152
Info::
Has 3 IPv6 (AAAA) record(s)
Got: 2406:da14:88d:a102:2226:ba9a:7be5:cedc, 2406:da14:88d:a101:c8d3:407a:7783:9dba, 2406:da14:88d:a100:de55:c641:f047:affa
Info::
4 nameserver(s) configured
Got: ns-845.awsdns-41.net, ns-1925.awsdns-48.co.uk, ns-1444.awsdns-52.org, ns-221.awsdns-27.com
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: 29 ms
Got: 29 ms
A99.83.179.177, 75.2.77.152
AAAA2406:da14:88d:a102:2226:ba9a:7be5:cedc, 2406:da14:88d:a101:c8d3:407a:7783:9dba, 2406:da14:88d:a100:de55:c641:f047:affa
CNAME
NSns-845.awsdns-41.net, ns-1925.awsdns-48.co.uk, ns-1444.awsdns-52.org, ns-221.awsdns-27.com
MX
1 aspmx.l.google.com
5 alt2.aspmx.l.google.com
5 alt1.aspmx.l.google.com
10 alt4.aspmx.l.google.com
10 alt3.aspmx.l.google.com
TXT
1password-site-verification=57QCQRGM55BBXPSVY7HZ2PLKJ4
SPF v=spf1 include:amazonses.com include:zoho.com include:servers.mcsv.net include:m...
google-site-verification=4C6HQbZYXANAOkpGxSjVMQ5Y2rnkxnDKI5foWeuv5tU
google-site-verification=Yr_Bo_yeVoZeSEPkuJe4pugd0xb7gNecEcm0VauL3Xc
apple-domain-verification=HnlQ3AxJK6XOBK37
MS=ms17207355
linkedin-site-verification=5d31432e-bc68-4ef3-9cee-139129f957b4
google-site-verification=d-uL-RwYIwGp2juReXK632sSBTtVCCKWghWmt2fC05s
cursor-domain-verification-2jk9c4=aMLb6LeKrCxC5zZDxaO6YViu0
bw=8qGCJqfuH16sCug6AQzGtfUnzPCoeYlw2CtDDqrVUlQE
CAALookup not available with standard resolver
Resolved in 29 ms

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
No redirects — direct access
PASS
No redirects — direct access
Info::
No redirects — direct access
Got: https://hackmd.io

https://hackmd.io

934 ms · HTTP/1.1 FINAL

#URLStatusTimeProtocolServer
1https://hackmd.io200934 msHTTP/1.1
A+
IPv6 Readiness
IPv6 reachable (224 ms)
PASS
IPv6 reachable (224 ms)
Info::
IPv6 is configured and reachable at 2406:da14:88d:a102:2226:ba9a:7be5:cedc, 2406:da14:88d:a101:c8d3:407a:7783:9dba, 2406:da14:88d:a100:de55:c641:f047:affa
Got: 224 ms connect
IPv6 Ready
AAAA Records 2406:da14:88d:a102:2226:ba9a:7be5:cedc, 2406:da14:88d:a101:c8d3:407a:7783:9dba, 2406:da14:88d:a100:de55:c641:f047:affa Connection Reachable (224 ms)
A+
Crawlability
robots.txt present, sitemap with 13 URLs
PASS
robots.txt present, sitemap with 13 URLs
Info::
robots.txt is present
Got: 10240 bytes
Info::
sitemap.xml is present
Info::
sitemap.xml is valid XML
Info::
sitemap.xml contains 13 entries
Info::
Sitemap index with 13 child sitemaps
Info::
robots.txt does not reference a sitemap
Add a 'Sitemap:' directive to robots.txt so search engines can discover your sitemap.

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 10240 B Sitemaps referenced 0 User-agents Blocking No — crawling allowed
<!DOCTYPE html><html class="scroll-smooth" lang="robots.txt"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="image" href="/logos/Arweave logomark.png"/><link rel="preload" as="image" href="/logos/Avalanche_Horizontal_White.png"/><link rel="preload" as="image" href="/logos/Base_Wordmark_White.png"/><link rel="preload" as="image" href="/logos/Blockfuse_L2.png"/><link rel="preload" as="image" href="/logos/Bokeh Logo Inverted.png"/><link rel="preload" as="image" href="/logos/Brown.png"/><link rel="preload" as="image" href="/logos/ContinuousFoundation_logo.png"/><link rel="preload" as="image" href="/logos/DevOpsDays.png"/><link rel="preload" as="image" href="/logos/ETH.png"/><link rel="preload" as="image" href="/logos/brightid.svg"/><link rel="stylesheet" href="/_next/static/chunks/a4d44b71c308de05.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/chunks/ab94802ba5ab4af4.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/chunks/786710bc80ba0dc8.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/d5c79332a1584318.js"/><script src="/_next/static/chunks/352249a356f41352.js" async=""></script><script src="/_next/static/chunks/bf9c1cba9711df19.js" async=""></script><script src="/_next/static/chunks/90dc6678905ee329.js" async=""></script><script src="/_next/static/chunks/turbopack-33cea5077725590e.js" async=""></script><script src="/_next/static/chunks/5f61266cc010ad33.js" async=""></script><script src="/_next/static/chunks/b53512c697a241ee.js" async=""></script><script src="/_next/static/chunks/79164d74d07c8aa2.js" async=""></script><script src="/_next/static/chunks/be1d781b53904caa.js" async=""></script><script src="/_next/static/chunks/c16b3dec3847a615.js" async=""></script><script src="/_next/static/chunks/41d714fa11a5f3a3.js" async=""></script><script src="/_next/static/chunks/77aa8de66231a6fb.js" async=""></script><link rel="preload" as="image" href="/logos/openjs-foundation-logo-horizontal-white.svg"/><link rel="preload" as="image" href="/logos/g0v.png"/><link rel="preload" as="image" href="/logos/GenerativeAI_logo.png"/><link rel="preload" as="image" href="/logos/Lido.png"/><link rel="preload" as="image" href="/logos/Rust_logo.png"/><link rel="preload" as="image" href="/logos/Scipy-logo.png"/><link rel="preload" as="image" href="/logos/Sitcon.png"/><link rel="preload" as="image" href="/logos/Slice Wordmark.png"/><link rel="preload" as="image" href="/logos/SN-Linear-Flat colour.png"/><link rel="preload" as="image" href="/logos/TheMeeFoundation_logo.png"/><link rel="preload" as="image" href="/logos/Updraft.png"/><meta name="next-size-adjust" content=""/><link rel="icon" href="/favicon.svg"/><title>HackMD: Your Collaborative Markdown Workspace for Knowledge Sharing</title><meta name="description" content="HackMD gives you a real-time Markdown editor for collaborative work. Working with Markdown files in HackMD is simple, straightforward, and fun."/><link rel="canonical" href="https://hackmd.io/robots.txt"/><meta property="og:title" content="HackMD: Your Collaborative Markdown Workspace for Knowledge Sharing"/><meta property="og:description" content="HackMD gives you a real-time Markdown editor for collaborative work. Working with Markdown files in HackMD is simple, straightforward, and fun."/><meta property="og:image" content="https://hackmd.io/cover.png"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="HackMD: Your Collaborative Markdown Workspace for Knowledge Sharing"/><meta name="twitter:description" content="HackMD gives you a real-time Markdown editor for collaborative work. Working with Markdown files in HackMD is simple, straightforward, and fun."/><meta name="twitter:image" content="https://hackmd.io/cover.png"/><script type="application/ld+json">{"@context":"https://schema.org","@type":"Organization","url":"https://hackmd.io","name":"HackMD","description":"A collaborative Markdown editor for you and your team to create, share, and edit documents in real-time. Sign up for free today.","publishingPrinciples":"https://hackmd.io/s/terms","logo":{"@type":"ImageObject","url":"https://hackmd.io/hackmd-icon-1024.png"},"sameAs":["https://www.facebook.com/hackmdio","https://twitter.com/hackmdio","https://www.linkedin.com/company/hackmd/","https://www.producthunt.com/products/hackmd","https://www.g2.com/products/hackmd"]}</script><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body class="inter_1b545fac-module__b8QJrq__variable readex_pro_8e0ef3f9-module__FZgEYG__variable roboto_mono_6c47b916-module__wl38kG__variable montserrat_5dda6b3b-module__rCOIyW__variable zen_dots_a42a89e0-module__pyg46a__variable cc--darkmode"><div hidden=""><!--$--><!--/$--></div><main class="flex min-h-screen flex-col bg-zinc-900 text-white"><nav class="flex w-full flex-row items-center justify-between px-4 py-3 text-white md:px-6 before:absolute before:left-0 before:top-0 before:z-[-1] before:h-[var(--blur-before-height)] before:w-full before:bg-[#18181B80] before:backdrop-blur-[12px] before:transition-[max-height,background-color] before:duration-200 fixed top-0 z-50" style="--blur-before-height:100%"><a class="flex" href="/home?utm_source=home&amp;utm_medium=nav-bar"><span class="inline-flex h-[20px] gap-1 md:h-[30px]"><img alt="HackMD Logo" loading="lazy" width="0" height="0" decoding="async" data-nimg="1" class="inline h-full w-auto" style="color:transparent" src="/logo-full.svg"/></span></a><section class="flex flex-col gap-7 absolute left-0 top-[100%] h-auto max-h-0 w-full overflow-hidden md:static md:max-h-fit md:w-fit transition-[max-height] duration-200 bg-inherit z-10"><form class="flex flex-col gap-6 overflow-hidden px-[30px] pb-[26px] pt-7 md:flex-row md:gap-7 md:p-0" method="post"><input type="hidden" class="hidden" name="_csrf" value="9X0SslM2-8ekGiPv7CJyIqfcZNHBOL1mRf2A"/><a href="/solutions?utm_source=home&amp;utm_medium=nav-bar"><span class="flex flex-row gap-1.5 items-center relative font-inter text-white underline decoration-transparent hocus:decoration-white transition-colors duration-100 ease-in-out justify-start md:justify-center">Solutions</span></a><a href="/pricing?utm_source=home&amp;utm_medium=nav-bar"><span class="flex flex-row gap-1.5 items-center relative font-inter text-white underline decoration-transparent hocus:decoration-white transition-colors duration-100 ease-in-out justify-start md:justify-center">Pricing</span></a><a href="/enterprise?utm_source=home&amp;utm_medium=nav-bar"><span class="flex flex-row gap-1.5 items-center relative font-inter text-white underline decoration-transparent hocus:decoration-white transition-colors duration-100 ease-in-out justify-start md:justify-center">Enterprise</span></a><a href="/developers?utm_source=home&amp;utm_medium=nav-bar"><span class="flex flex-row gap-1.5 items-center relative font-inter text-white underline decoration-transparent hocus:decoration-white transition-colors duration-100 ease-in-out justify-start md:justify-center">Developers</span></a><a href="/about?utm_source=home&amp;utm_medium=nav-bar"><span class="flex flex-row gap-1.5 items-center relative font-inter text-white underline decoration-transparent hocus:decoration-white transition-colors duration-100 ease-in-out justify-start md:justify-center">About</span></a><a href="https://hackmd.io/c/tutorials?utm_source=home&amp;utm_medium=nav-bar"><span class="flex flex-row gap-1.5 items-center relative font-inter text-white underline decoration-transparent hocus:decoration-white transition-colors duration-100 ease-in-out justify-start md:justify-center">Learn</span></a><a href="/blog?utm_source=home&amp;utm_medium=nav-bar"><span class="flex flex-row gap-1.5 items-center relative font-inter text-white underline decoration-transparent hocus:decoration-white transition-colors duration-100 ease-in-out justify-start md:justify-center">Blog</span></a><a class="flex-row gap-1.5 justify-center items-center relative font-inter rounded px-2.5 py-2 text-normal font-normal leading-normal flex bg-transparent text-text-default border border-solid border-border-default hocus:bg-element-bg-hover hocus:border-element-border-hover hocus:text-text-emphasize focus:shadow-[0_0_0_2px_#77777733] disabled:bg-element-bg-disabled disabled:border-element-border-disabled disabled:text-element-text-disabled disabled:hocus:bg-element-bg-disabled disabled:hocus:border-element-border-disabled disabled:hocus:text-element-text-disabled disabled:border disabled:border-solid disabled:hocus:border disabled:hocus:border-solid mt-1 md:hidden plausible-event-name=HomeHeaderSignin" href="https://hackmd.io/login">Sign in</a></form></section><form class="flex flex-row items-center justify-center gap-2.5 md:gap-2" method="post"><input type="hidden" class="hidden" name="_csrf" value="9X0SslM2-8ekGiPv7CJyIqfcZNHBOL1mRf2A"/><a class="flex-row gap-1.5 justify-center items-center relative font-inter rounded px-2.5 text-normal font-normal leading-normal bg-transparent text-text-default border border-solid border-border-default hocus:bg-element-bg-hover hocus:border-element-border-hover hocus:text-text-emphasize focus:shadow-[0_0_0_2px_#77777733] disabled:bg-element-bg-disabled disabled:border-element-border-disabled disabled:text-element-text-disabled disabled:hocus:bg-element-bg-disabled disabled:hocus:border-element-border-disabled disabled:hocus:text-element-text-disabled disabled:border disabled:border-solid disabled:hocus:border disabled:hocus:border-solid hidden h-fit py-1.5 md:flex plausible-event-name=HomeHeaderSignin" href="https://hackmd.io/login">Sign in</a><a class="flex flex-row gap-1.5 justify-center items-center relative font-inter text-white text-body leading-body py-[7px] px-4 rounded group plausible-event-name=HomeSignupHeader" href="https://hackmd.io/join?signup-event=HomeSignupCompleted" type="button"><div class="pointer-events-none absolute h-full w-full overflow-hidden opacity-100 group-hover:opacity-0 group-focus:opacity-0" style="border-radius:4px"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" 
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: non-www)
Info::
HTTP correctly 301-redirects to HTTPS

www / non-www

301https://www.hackmd.io/
200https://hackmd.io/

Preferred variant: non-www

HTTP → HTTPS

301http://hackmd.io/ https://hackmd.io:443/

Consistent

A+
Domain Intelligence
hackmd.io — via Gandi SAS, 11 years, 1 months old
PASS
hackmd.io — via Gandi SAS, 11 years, 1 months old
Info::
Domain registered until Apr 20, 2027 (1 years remaining)
Info::
Registrar: Gandi SAS
Info::
Registrar lock is enabled
Domain cannot be transferred without explicit unlock from the registrar. This protects against unauthorized transfers.
Domain expiry

276 days

April 20, 2027

SSL certificate

286 days

Issued by Amazon

Domain age

11 years, 1 months

Registered April 20, 2015

DNSSEC

Status unknown

Protects against DNS spoofing

Hosting

Unknown

2406:da14:88d:a101:c8d3:407a:7783:9dba

Registrar

Gandi SAS

Locked 4 NS records
Expiry timeline
Today
+1 year
Domain expiry SSL expiry Danger zone (≤30 days)
Registrar Gandi SAS
Created April 20, 2015 (11 years, 1 months ago)
Expires April 20, 2027 (1 years)
Last Updated March 21, 2026
Name Servers ns-1925.awsdns-48.co.uk, ns-221.awsdns-27.com, ns-845.awsdns-41.net, ns-1444.awsdns-52.org
Registrant HackMD
Hosting
IP Address 2406:da14:88d:a101:c8d3:407a:7783:9dba
Data source: whois (1.1s)

Domain cannot be transferred without explicit unlock from the registrar. This protects against unauthorized transfers.

Why this matters

Registrar lock (clientTransferProhibited et al.) prevents unauthorized domain transfers — strongest defense against domain hijacking.

Source: ICANN / domain-security best practice

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

Send Feedback