Skip to content
https://sil.org

Infrastructure

· 9 checks — DNS, redirects, IPv6, crawlability, URL variants, and domain intelligence rolled into one auditable list.
SCORE
82
GRADE
B
FIX
1
REVIEW
3
PASS
5
INFO
0
Probed from Santa Clara, United States
301 Moved Permanently
Checks
9
5 PASS 3 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:10::ac42:95ef, 2606:4700:10::6814:1b88
Info::
IPv6 connection error
Got: dial tcp6 [2606:4700:10::ac42:95ef]:443: connect: network is unreachable
IPv6 Misconfigured
AAAA Records 2606:4700:10::ac42:95ef, 2606:4700:10::6814:1b88 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
Redirect Chain
2 redirect(s), 226 ms total
REVIEW
2 redirect(s), 226 ms total
Warning::
2 redirects before reaching final URL
Each redirect adds latency. Try to minimize the chain to 1 hop.
Info::
WWW normalization redirect
Info::
Cross-domain redirect detected

https://sil.org

44 ms · HTTP/1.1

301

https://www.sil.org/

117 ms · HTTP/1.1

301

https://global.sil.org/

66 ms · HTTP/1.1 FINAL

#URLStatusTimeProtocolServer
1https://sil.org30144 msHTTP/1.1cloudflare
2https://www.sil.org/301117 msHTTP/1.1cloudflare
3https://global.sil.org/20066 msHTTP/1.1cloudflare

See the visual redirect chain in the HTTP Probe tab →

Each redirect adds latency. Try to minimize the chain to 1 hop.

Why this matters

Redirect chain — each hop adds latency; combine into one redirect where possible.

Source: Google Search Central / web.dev

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

Certificate validity

31
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: SJC)
Got: cf-ray: 9f0767a35b647e0e-SJC
CDN Detected: Cloudflare
Provider Cloudflare Evidence cf-ray: 9f0767a35b647e0e-SJC
A+
DNS Records
2 A records, 27 ms lookup
PASS
2 A records, 27 ms lookup
Info::
Resolves to 2 IPv4 address(es)
Got: 104.20.27.136, 172.66.149.239
Info::
Has 2 IPv6 (AAAA) record(s)
Got: 2606:4700:10::ac42:95ef, 2606:4700:10::6814:1b88
Info::
2 nameserver(s) configured
Got: earl.ns.cloudflare.com, wanda.ns.cloudflare.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: 27 ms
Got: 27 ms
A104.20.27.136, 172.66.149.239
AAAA2606:4700:10::ac42:95ef, 2606:4700:10::6814:1b88
CNAME
NSearl.ns.cloudflare.com, wanda.ns.cloudflare.com
MX
10 aspmx.l.google.com
20 alt1.aspmx.l.google.com
30 alt2.aspmx.l.google.com
40 aspmx2.googlemail.com
50 aspmx3.googlemail.com
TXT
1password-site-verification=6SSFFTFH3FE2JJL3OH2V4T22BY
amazon-business-verification=7566b1e72a34af55af2142a25740cafdd3cb860817fe524a654...
atlassian-domain-verification=jF5bnWLuzEFanJp2ulsaVxwXXL4ZgbOUgNnpOEctz3OD2UL9hR...
google-site-verification=355FhUVUqIcTFzqfaU_J8g-FCCu2uTPnfcuZCFpGfBE
google-site-verification=EIh6fvVP3FMespEPcMXWM9stKR4xc-cwSTuDNkkYbX8
google-site-verification=NATkaHuBz_-W_eIjSuJGiuxEluyGNj4L1NK2p_-3wko
google-site-verification=lLf82PTEblTLltyVIdICjzdSF6PS-LpCWSl2-xtPZIc
SPF v=spf1 include:_spf.google.com include:servers.mcsv.net ip4:209.12.63.251 ip4:35...
CAALookup not available with standard resolver
Resolved in 27 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+
Crawlability
robots.txt present, sitemap with 2 URLs
PASS
robots.txt present, sitemap with 2 URLs
Info::
robots.txt is present
Got: 5409 bytes
Info::
sitemap.xml is present
Info::
sitemap.xml is valid XML
Info::
sitemap.xml contains 2 entries
Info::
Sitemap index with 2 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 5409 B Sitemaps referenced 0 User-agents YandexBot/3.0, AlphaSeoBot, crawler4j, Qwant-news, Qwantify, SemrushBot-SA, SputnikBot/2.3, The Knowledge AI, UCBrowser, YandexBot, AspiegelBot, MqqBrowser, AlphaSeoBot-SA, bingbot/2.0, BLEXBot, DataForSeoBot, LieBaoFast, SemrushBot, Yeti, YisouSpider, Blackboard Safeassign, Bytespider, DotBot, MauiBot, Timpibot/0.8, *, barkrowler, TinyTestBot, yacybot, A6-Indexer, Applebot, Gigabot, MauiBot (crawler.feedback+wc@gmail.com), MegaIndex.ru/2.0, Nimbostratus-Bot/v1.3.2, Seekport Crawler, SeznamBot Blocking No — crawling allowed
#
# robots.txt
#
# This file is to prevent the crawling and indexing of certain parts
# of your site by web crawlers and spiders run by sites like Yahoo!
# and Google. By telling these "robots" where not to go on your site,
# you save bandwidth and server resources.
#
# This file will be ignored unless it is at the root of your host:
# Used:    http://example.com/robots.txt
# Ignored: http://example.com/site/robots.txt
#
# For more information about the robots.txt standard, see:
# http://www.robotstxt.org/robotstxt.html

User-agent: *
Crawl-delay: 10
# CSS, JS, Images
Allow: /misc/*.css$
Allow: /misc/*.css?
Allow: /misc/*.js$
Allow: /misc/*.js?
Allow: /misc/*.gif
Allow: /misc/*.jpg
Allow: /misc/*.jpeg
Allow: /misc/*.png
Allow: /modules/*.css$
Allow: /modules/*.css?
Allow: /modules/*.js$
Allow: /modules/*.js?
Allow: /modules/*.gif
Allow: /modules/*.jpg
Allow: /modules/*.jpeg
Allow: /modules/*.png
Allow: /profiles/*.css$
Allow: /profiles/*.css?
Allow: /profiles/*.js$
Allow: /profiles/*.js?
Allow: /profiles/*.gif
Allow: /profiles/*.jpg
Allow: /profiles/*.jpeg
Allow: /profiles/*.png
Allow: /themes/*.css$
Allow: /themes/*.css?
Allow: /themes/*.js$
Allow: /themes/*.js?
Allow: /themes/*.gif
Allow: /themes/*.jpg
Allow: /themes/*.jpeg
Allow: /themes/*.png
# Directories
Disallow: /includes/
Disallow: /misc/
Disallow: /modules/
Disallow: /profiles/
Disallow: /scripts/
Disallow: /themes/
# Files
Disallow: /CHANGELOG.txt
Disallow: /cron.php
Disallow: /INSTALL.mysql.txt
Disallow: /INSTALL.pgsql.txt
Disallow: /INSTALL.sqlite.txt
Disallow: /install.php
Disallow: /INSTALL.txt
Disallow: /LICENSE.txt
Disallow: /MAINTAINERS.txt
Disallow: /update.php
Disallow: /UPGRADE.txt
Disallow: /xmlrpc.php
# RH, 06.30.21: these are files likely bad bots are requesting
Disallow: /wp-login.php
Disallow: ^.*\/wp-includes\/wlwmanifest.xml
# Paths (clean URLs)
Disallow: /admin/
Disallow: /comment/reply/
Disallow: /filter/tips/
Disallow: /node/add/
Disallow: /search/
Disallow: /user/register/
Disallow: /user/password/
Disallow: /user/login/
Disallow: /user/logout/
# RH, 06.30.21: these are files likely bad bots are requesting
Disallow: /wp-json/wp/v2/users/1
# Paths (no clean URLs)
Disallow: /?q=admin/
Disallow: /?q=comment/reply/
Disallow: /?q=filter/tips/
Disallow: /?q=node/add/
Disallow: /?q=search/
Disallow: /?q=user/password/
Disallow: /?q=user/register/
Disallow: /?q=user/login/
Disallow: /?q=user/logout/

# RH, 07.01.21: Views has URL parameters from exposed filters (Archives and Publications Search views); https://www.drupal.org/node/345620
# Disallow all URL variables except for page
Disallow: /*?
Allow: /*?page=
Disallow: /*?page=*&*
Disallow: /*?page=0*

# RH, 04.30.24: archives search URLs being crawled can kill the sites, espeically with multiple facets. It might be how bots discover Archives items, so allow single faceted browse and search URLs but block all after (/resources/search/domain/anthropology is allowed but not /resources/search/domain/anthropology/contributor/maranz-david-e). If bots find Archives items by crawling the site, then this should allow all items to be found via browse URLs and search URLs. If there continue to be issues, we can consider blocking all. Note that /*/resources/search is for multilingual URLs
# Disallow: /resources/browse/*
# Disallow: /resources/search/*
# RH, 02.04.26: Tighten up the level of search parameters allowed
# Disallow: /resources/search/*/*/*
# Disallow: /*/resources/search/*/*/*
Disallow: /resources/publications/search/*/*
Disallow: /resources/search/*/*
Disallow: /*/resources/search/*/*

#Block bots
User-agent: A6-Indexer
Disallow: /

User-agent: AlphaSeoBot
Disallow: /

User-agent: AlphaSeoBot-SA
Disallow: /

# RDH, 08.19.19: I really don't want to block Applebot, but for now, I am. It is crawling us too much
User-agent: Applebot
Disallow: /

User-agent: AspiegelBot
Disallow: /

User-agent: barkrowler
Disallow: /

# RDH, 05.13.20: I really don't want to block bing, but for now, I am. It is also already in htaccess rules
User-agent: bingbot/2.0
Disallow: /

User-agent: Blackboard Safeassign
Disallow: /

User-agent: BLEXBot
Disallow: /

User-agent: Bytespider
Disallow: /

User-agent: crawler4j
Disallow: /

User-agent: DataForSeoBot
Disallow: /

User-agent: DotBot
Disallow: /

# RDH, 06.30.21: Very temporary to get some relief.
# User-Agent: Googlebot
# Disallow: /

User-agent: Gigabot
Disallow: /

User-agent: LieBaoFast
Disallow: /

User-agent: MauiBot
Disallow:/

User-agent: MauiBot (crawler.feedback+wc@gmail.com) 
Disallow: /

User-agent: MegaIndex.ru/2.0
Disallow: /

User-agent: MqqBrowser
Disallow:/

User-agent: Nimbostratus-Bot/v1.3.2
Disallow: /

User-agent: Qwant-news
Disallow: /

User-agent: Qwantify
Disallow: /

User-agent: Seekport Crawler
Disallow: /

User-agent: SemrushBot
Disallow: /

User-agent: SemrushBot-SA
Disallow: / 

User-agent: SeznamBot
Disallow: /

User-agent: SputnikBot/2.3
Disallow:/

User-agent: The Knowledge AI 
Disallow:/

User-agent: Timpibot/0.8
Disallow: /

User-agent: TinyTestBot
Disallow: /

# RDH, 03/11/22:
# Comment this out for JOT, who applied for a Crossref Similiarty Check account with TurnitIn;
# User-agent: TurnitinBot
# Disallow: /

User-agent: UCBrowser
Disallow: / 

User-agent: yacybot
Disallow: / 

User-agent: YandexBot
Disallow: / 

User-agent: YandexBot/3.0
Disallow: / 

User-agent: Yeti
Disallow: / 

User-agent: YisouSpider
Disallow: / 

sitemap.xml 200 OK
Type Sitemap Index URLs 2 entries Valid XML Yes
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.sil.org/
200https://sil.org/

Preferred variant: non-www

HTTP → HTTPS

301http://sil.org/ https://www.sil.org/

Consistent

A+
Domain Intelligence
sil.org — via Cloudflare, Inc., 35 years, 6 months old, hosted on Cloudflare
PASS
sil.org — via Cloudflare, Inc., 35 years, 6 months old, hosted on Cloudflare
Info::
Domain registered until Apr 16, 2027 (11 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: Cloudflare, 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: Cloudflare
Got: AS13335
Domain expiry

273 days

April 16, 2027

SSL certificate

31 days

Issued by Google Trust Services

Domain age

35 years, 6 months

Registered April 15, 1991

DNSSEC

Not enabled

Protects against DNS spoofing

Hosting

Cloudflare

ASN AS13335

104.20.27.136

Registrar

Cloudflare, 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 Cloudflare, Inc.
Created April 15, 1991 (35 years, 6 months ago)
Expires April 16, 2027 (11 months)
Last Updated March 22, 2026
Name Servers earl.ns.cloudflare.com, wanda.ns.cloudflare.com
DNSSEC Not enabled
Hosting
IP Address 104.20.27.136
ASN AS13335 (CLOUDFLARENET - Cloudflare, Inc., US)
Provider Cloudflare
Data source: rdap (0.2s)

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

Connection waterfall

DNS Lookup 5 ms TCP Connect 4 ms TLS Handshake 10 ms Server Processing 7 ms Content Transfer 0 ms
All checks on this page are automated. Results are estimates - run targeted manual reviews when the score affects a release decision.

Send Feedback