Skip to content
https://github.com

Infrastructure

· 17 checks — DNS, redirects, IPv6, crawlability, URL variants, and domain intelligence rolled into one auditable list.
SCORE
89
GRADE
B
FIX
1
REVIEW
6
PASS
10
INFO
0
Probed from Santa Clara, United States
200 OK
Checks
17
10 PASS 6 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
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
Reverse DNS
0/1 IPs match cert SAN
REVIEW
0/1 IPs match cert SAN
Info::
PTR for 140.82.116.3 does not match any cert SAN: lb-140-82-116-3-sea.github.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.
C
IPv6 Readiness
Action
No IPv6 support
REVIEW
No IPv6 support
Info::
No IPv6 (AAAA) records found
IPv6 support is increasingly important for global accessibility. About 40% of internet users have IPv6 connectivity.
No IPv6 Support
About 40% of internet users have IPv6. Consider adding AAAA records.

IPv6 support is increasingly important for global accessibility. About 40% of internet users have IPv6 connectivity.

Why this matters

No AAAA records — same impact as 'no IPv6 (AAAA) records'; IPv6-preferring clients pay extra latency falling back to IPv4.

Source: Google IPv6 stats

B
Crawlability
robots.txt present, no sitemap
REVIEW
robots.txt present, no sitemap
Info::
robots.txt is present
Got: 2274 bytes
Info::
No sitemap.xml found
A sitemap helps search engines discover and index your pages more efficiently.
Info::
robots.txt does not reference a sitemap
Add a 'Sitemap:' directive to robots.txt so search engines can discover your sitemap.

A sitemap helps search engines discover and index your pages more efficiently.

Why this matters

No sitemap.xml — Google relies on crawl-graph discovery alone, slowing indexing of deep or fresh URLs.

Learn more

A sitemap accelerates Google's discovery of new and updated content. Most CMSes auto-generate one; static-site frameworks need a build-step plugin. Reference it from robots.txt and submit in Search Console to confirm Google can fetch it.

Source: sitemaps.org / Google Search Central

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 2274 B Sitemaps referenced 0 User-agents bingbot, adidxbot, BingPreview, baidu, * Blocking No — crawling allowed
# If you would like to crawl GitHub contact us via https://support.github.com?tags=dotcom-robots
# We also provide an extensive API: https://docs.github.com
User-agent: bingbot
Disallow: /ekansa/Open-Context-Data
Disallow: /ekansa/opencontext-*
Disallow: /account-login
Disallow: */tarball/
Disallow: */zipball/
Disallow: /Explodingstuff/
Disallow: /copilot/
Disallow: /copilot/c/

User-agent: adidxbot
Disallow: /ekansa/Open-Context-Data
Disallow: /ekansa/opencontext-*
Disallow: /account-login
Disallow: */tarball/
Disallow: */zipball/
Disallow: /Explodingstuff/
Disallow: /copilot/
Disallow: /copilot/c/

User-agent: BingPreview
Disallow: /ekansa/Open-Context-Data
Disallow: /ekansa/opencontext-*
Disallow: /account-login
Disallow: */tarball/
Disallow: */zipball/
Disallow: /Explodingstuff/
Disallow: /copilot/
Disallow: /copilot/c/

User-agent: baidu
crawl-delay: 1


User-agent: *

Disallow: /*/*/pulse
Disallow: /*/*/projects
Disallow: /*/*/forks
Disallow: /*/*/issues/new
Disallow: /*/*/milestones/new
Disallow: /*/*/issues/search
Disallow: /*/*/commits/
Disallow: /*/*/branches
Disallow: /*/*/contributors
Disallow: /*/*/tags
Disallow: /*/*/stargazers
Disallow: /*/*/watchers
Disallow: /*/*/network
Disallow: /*/*/graphs
Disallow: /*/*/compare

Disallow: /*/tree/
Disallow: /gist/
Disallow: /*/download
Disallow: /*/revisions
Disallow: /*/commits/*?author
Disallow: /*/commits/*?path
Disallow: /*/comments
Disallow: /*/archive/
Disallow: /*/blame/
Disallow: /*/raw/
Disallow: /*/cache/
Disallow: /.git/
Disallow: */.git/
Disallow: /*.git$
Disallow: /search/advanced
Disallow: /search$
Disallow: /*q=
Disallow: /*.atom$

Disallow: /ekansa/Open-Context-Data
Disallow: /ekansa/opencontext-*
Disallow: */tarball/
Disallow: */zipball/

Disallow: /*source=*
Disallow: /*ref_cta=*
Disallow: /*plan=*
Disallow: /*return_to=*
Disallow: /*ref_loc=*
Disallow: /*setup_organization=*
Disallow: /*source_repo=*
Disallow: /*ref_page=*
Disallow: /*source=*
Disallow: /*referrer=*
Disallow: /*report=*
Disallow: /*author=*
Disallow: /*since=*
Disallow: /*until=*
Disallow: /*commits?author=*
Disallow: /*report-abuse?report=*
Disallow: /*tab=*
Allow: /*?tab=achievements&achievement=*

Disallow: /account-login
Disallow: /Explodingstuff/

Disallow: /copilot/
Disallow: /copilot/c/


sitemap.xml No sitemap found

No sitemap found

Adding a sitemap helps search engines discover your pages.

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

Certificate validity

84
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
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.
A+
DNS Records
1 A records, 157 ms lookup
PASS
1 A records, 157 ms lookup
Info::
Resolves to 1 IPv4 address(es)
Got: 140.82.116.3
Info::
Single A record — no DNS redundancy
Multiple A records provide failover if one server goes down.
Info::
No IPv6 (AAAA) records
Info::
8 nameserver(s) configured
Got: dns1.p08.nsone.net, dns2.p08.nsone.net, dns3.p08.nsone.net, dns4.p08.nsone.net, ns-1283.awsdns-32.org, ns-1707.awsdns-21.co.uk, ns-421.awsdns-52.com, ns-520.awsdns-01.net
Info::
1 mail exchanger(s) configured
Info::
SPF record present in TXT
Info::
DNS resolution time: 157 ms
Got: 157 ms
A140.82.116.3
AAAA
CNAME
NSdns1.p08.nsone.net, dns2.p08.nsone.net, dns3.p08.nsone.net, dns4.p08.nsone.net, ns-1283.awsdns-32.org, ns-1707.awsdns-21.co.uk, ns-421.awsdns-52.com, ns-520.awsdns-01.net
MX
0 github-com.mail.protection.outlook.com
TXT
00Dd0000000hHE0=1TBKg000000TN2r
MS=6BF03E6AF5CB689E315FB6199603BABF2C88D805
MS=ms44452932
MS=ms58704441
TAILSCALE-xOzoDvFUzZr5YYVCQFuD
adobe-idp-site-verification=b92c9e999aef825edc36e0a3d847d2dbad5b2fc0e05c79ddd7a1...
apple-domain-verification=RyQhdzTl6Z6x8ZP4
atlassian-domain-verification=jjgw98AKv2aeoYFxiL/VFaoyPkn3undEssTRuMg6C/3Fp/iqhk...
calendly-site-verification=at0DQARi7IZvJtXQAWhMqpmIzpvoBNF7aam5VKKxP
docusign=087098e3-3d46-47b7-9b4e-8a23028154cd
facebook-domain-verification=39xu4jzl7roi7x0n93ldkxjiaarx50
google-site-verification=82Le34Flgtd15ojYhHlGF_6g72muSjamlMVThBOJpks
google-site-verification=UTM-3akMgubp6tQtgEuAkYNYLyYAvpTnnSrDMWoDR3o
jamf-site-verification=XtaPNIYghF_e_xRDI8CjgQ
krisp-domain-verification=ZlyiK7XLhnaoUQb2hpak1PLY7dFkl1WE
loom-site-verification=f3787154f1154b7880e720a511ea664d
miro-verification=d2e174fdb00c71e0bcf58f8e58c3da2dd80dcfa9
shopify-verification-code=t1YPwcmvnxZyBycaCpk1MPyWoFs72o
stripe-verification=f88ef17321660a01bab1660454192e014defa29ba7b8de9633c69d6b4912...
SPF v=spf1 ip4:192.30.252.0/22 include:spf.protection.outlook.com include:_netblocks...
CAALookup not available with standard resolver
Resolved in 157 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

A+
Subdomain Takeover
No subdomain takeover risk detected
PASS
No subdomain takeover risk detected
Info::
No CNAME record present
A
CAA Records
issue: digicert.com, globalsign.com, letsencrypt.org, sectigo.com | issuewild: digicert.com, letsencrypt.org, sectigo.com
PASS
issue: digicert.com, globalsign.com, letsencrypt.org, sectigo.com | issuewild: digicert.com, letsencrypt.org, sectigo.com
Info::
CAA issue tag present — authorized CA(s): digicert.com, globalsign.com, letsencrypt.org, sectigo.com
Info::
No CAA iodef tag — won't be notified of failed issuance attempts
Add `0 iodef "mailto:security@example.com"` to receive notifications when a CA refuses issuance because it doesn't match your CAA policy. Useful signal for detecting issuance attempts by unauthorized CAs.
A+
Multi-Resolver DNS Speed
Mean 7ms across 3 resolvers (spread 12ms)
PASS
Mean 7ms across 3 resolvers (spread 12ms)
Info::
Quad9: 3ms
Got: 3ms via 9.9.9.9:53
Info::
Cloudflare: 5ms
Got: 5ms via 1.1.1.1:53
Info::
Google: 15ms
Got: 15ms 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://github.com

https://github.com

80 ms · HTTP/1.1 FINAL

#URLStatusTimeProtocolServer
1https://github.com20080 msHTTP/1.1github.com
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.github.com/
200https://github.com/

Preferred variant: non-www

HTTP → HTTPS

301http://github.com/ https://github.com/

Consistent

A+
Domain Intelligence
github.com — via MarkMonitor Inc., 18 years, 10 months old, hosted on GitHub Pages
PASS
github.com — via MarkMonitor Inc., 18 years, 10 months old, hosted on GitHub Pages
Info::
Domain registered until Oct 9, 2026 (5 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: MarkMonitor 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.
Info::
Hosting: GitHub Pages
Got: AS36459
Domain expiry

147 days

October 9, 2026

SSL certificate

84 days

Issued by Sectigo Limited

Domain age

18 years, 10 months

Registered October 9, 2007

DNSSEC

Not enabled

Protects against DNS spoofing

Hosting

GitHub Pages

ASN AS36459

140.82.116.4

Registrar

MarkMonitor Inc.

Unlocked 8 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 MarkMonitor Inc.
Created October 9, 2007 (18 years, 10 months ago)
Expires October 9, 2026 (5 months)
Last Updated September 7, 2024
Name Servers dns1.p08.nsone.net, dns2.p08.nsone.net, dns3.p08.nsone.net, dns4.p08.nsone.net, ns-1283.awsdns-32.org, ns-1707.awsdns-21.co.uk, ns-421.awsdns-52.com, ns-520.awsdns-01.net
DNSSEC Not enabled
Hosting
IP Address 140.82.116.4
ASN AS36459 (GITHUB - GitHub, Inc., US)
Provider GitHub Pages
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 155 ms — DNS, TCP, TLS, TTFB, content transfer breakdown
PASS
DNS Lookup DNS Lookup — time to resolve the domain name to an IP address.
6 ms
TCP Connect TCP Connect — time to establish a TCP connection to the server.
24 ms
TLS Handshake TLS Handshake — time to complete the HTTPS encryption handshake.
29 ms
Time to First Byte Time to First Byte — how long the server takes to respond with the first byte of data.
84 ms
Total Time Total request time from DNS lookup through full response.
156 ms

Connection waterfall

DNS Lookup 6 ms TCP Connect 24 ms TLS Handshake 29 ms Server Processing 25 ms Content Transfer 71 ms
A+
Operational Status Page
Status page detected via anchor text
PASS
Status page detected via anchor text
Info::
Status page link found: https://www.githubstatus.com
Got: https://www.githubstatus.com
A+
Health Check Endpoint
Health endpoint at https://github.com/health (HTTP 200)
PASS
Health endpoint at https://github.com/health (HTTP 200)
Info::
Public health endpoint at https://github.com/health
Got: https://github.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