Infrastructure
· 9 checks — DNS, redirects, IPv6, crawlability, URL variants, and domain intelligence rolled into one auditable list.DRedirect ChainAction2 redirect(s), 1717 ms totalFIX
https://agora.io
636 ms · HTTP/1.1
https://www.agora.io/
509 ms · HTTP/1.1
https://www.agora.io/en/
573 ms · HTTP/1.1 FINAL
| # | URL | Status | Time | Protocol | Server |
|---|---|---|---|---|---|
| 1 | https://agora.io | 301 | 636 ms | HTTP/1.1 | nginx |
| 2 | https://www.agora.io/ | 301 | 509 ms | HTTP/1.1 | nginx/1.14.0 (Ubuntu) |
| 3 | https://www.agora.io/en/ | 200 | 573 ms | HTTP/1.1 | nginx/1.14.0 (Ubuntu) |
See the visual redirect chain in the HTTP Probe tab →
Each redirect adds latency. Try to minimize the chain to 1 hop.
Redirect chain — each hop adds latency; combine into one redirect where possible.
Source: Google Search Central / web.dev
DCDN & DeliveryActionNo CDN detectedFIX
Consider using a CDN to improve global delivery speed and reduce origin load.
CIPv6 ReadinessActionNo IPv6 supportREVIEW
IPv6 support is increasingly important for global accessibility. About 40% of internet users have IPv6 connectivity.
No AAAA records — same impact as 'no IPv6 (AAAA) records'; IPv6-preferring clients pay extra latency falling back to IPv4.
Source: Google IPv6 stats
BTLS Certificate Expiry & Recommendations63 days until leaf cert expires — 4 issues to addressREVIEW
Certificate validity
Recommended actions
- Prefer TLS 1.3 — TLS 1.2 is acceptable but TLS 1.3 removes RSA key exchange and improves latency
- 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
A+DNS Records1 A records, 4 ms lookupPASS
| A | 52.8.151.151 |
| AAAA | — |
| CNAME | — |
| NS | ns-1027.awsdns-00.org, ns-1743.awsdns-25.co.uk, ns-271.awsdns-33.com, ns-984.awsdns-59.net |
| MX | 0 agora-io.mail.protection.outlook.com |
| TXT | SPF v=spf1 include:spf.protection.outlook.com include:mktomail.com include:spf-sigst... |
| CAA | Lookup not available with standard resolver |
Multiple A records provide failover if one server goes down.
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
CAA record lookup requires a specialized DNS resolver. This check will be available in a future update.
Informational: CAA (Certification Authority Authorization) records weren't checked in this scan.
A+Crawlabilityrobots.txt present, sitemap with 2725 URLsPASS
Add a 'Sitemap:' directive to robots.txt so search engines can discover your sitemap.
robots.txt omits Sitemap: directive — crawlers must fetch /sitemap.xml by convention; reliable but missing the explicit hint.
Source: sitemaps.org
<!DOCTYPE html><!-- Last Published: Fri Apr 17 2026 06:29:35 GMT+0000 (Coordinated Universal Time) --><html data-wf-domain="prod.agora.io" data-wf-page="660affa848e8af81bdd03910" data-wf-site="660affa848e8af81bdd03909" lang="en"><head><meta charset="utf-8"/><link href="https://cdn.prod.website-files.com" rel="preconnect" crossorigin="anonymous"/><title>Agora Real-Time Voice and Video Engagement</title><link rel="alternate" hrefLang="x-default" href="https://prod.agora.io/en"/><link rel="alternate" hrefLang="en" href="https://prod.agora.io/en"/><link rel="alternate" hrefLang="ko" href="https://prod.agora.io/kr"/><link rel="alternate" hrefLang="es" href="https://prod.agora.io/es"/><link rel="alternate" hrefLang="ja" href="https://prod.agora.io/jp"/><meta content="The Real-Time Engagement Platform for meaningful human connections. People engage longer when they see, hear, and interact with each other. With Agora, you can embed vivid voice and video in any application, on any device, anywhere." name="description"/><meta content="Agora Real-Time Voice and Video Engagement" property="og:title"/><meta content="The Real-Time Engagement Platform for meaningful human connections. People engage longer when they see, hear, and interact with each other. With Agora, you can embed vivid voice and video in any application, on any device, anywhere." property="og:description"/><meta content="https://cdn.prod.website-files.com/660affa848e8af81bdd03909/66ac1db9a7e8bbc9246a0570_homepage-featured.jpg" property="og:image"/><meta content="Agora Real-Time Voice and Video Engagement" property="twitter:title"/><meta content="The Real-Time Engagement Platform for meaningful human connections. People engage longer when they see, hear, and interact with each other. With Agora, you can embed vivid voice and video in any application, on any device, anywhere." property="twitter:description"/><meta content="https://cdn.prod.website-files.com/660affa848e8af81bdd03909/66ac1db9a7e8bbc9246a0570_homepage-featured.jpg" property="twitter:image"/><meta property="og:type" content="website"/><meta content="summary_large_image" name="twitter:card"/><meta content="width=device-width, initial-scale=1" name="viewport"/><link href="https://cdn.prod.website-files.com/660affa848e8af81bdd03909/css/agoras-website.shared.0f349b48b.min.css" rel="stylesheet" type="text/css" integrity="sha384-DzSbSLRjhqbPtLVAJnWPRlqLbUXK0gy8MXm97VmpJyekIh/NPJ3m3+ak4eMClltO" crossorigin="anonymous"/><link href="https://fonts.googleapis.com" rel="preconnect"/><link href="https://fonts.gstatic.com" rel="preconnect" crossorigin="anonymous"/><script src="https://ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js" type="text/javascript"></script><script type="text/javascript">WebFont.load({ google: { families: ["Fira Code:300,400,500,600,700","Inter:300,400,500,600,700"] }});</script><script type="text/javascript">!function(o,c){var n=c.documentElement,t=" w-mod-";n.className+=t+"js",("ontouchstart"in o||o.DocumentTouch&&c instanceof DocumentTouch)&&(n.className+=t+"touch")}(window,document);</script><link href="https://cdn.prod.website-files.com/660affa848e8af81bdd03909/66b3cd94a81a4b1b39300602_favicon-32x32.png" rel="shortcut icon" type="image/x-icon"/><link href="https://cdn.prod.website-files.com/660affa848e8af81bdd03909/66c71fa4c832213b24f804b9_webclip.png" rel="apple-touch-icon"/><meta name="google-site-verification" content="LUHTDnfQC8AVYsBexrq8P8zm1q17q8A9iGnnNEqCK-0" />
<link
rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css"
/>
<script defer src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js"></script>
<script>
(function () {
var s = document.createElement('script');
s.src = 'https://cdn-prod.securiti.ai/consent/cookie-consent-sdk-loader.js';
s.setAttribute('data-tenant-uuid', 'b373a629-85bf-440d-824a-a86fc32ae3e9');
s.setAttribute('data-domain-uuid', '7ba04bfc-c10b-4f3a-80d5-bf9ed910b46f');
s.setAttribute('data-backend-url', 'https://app.securiti.ai');
s.setAttribute('data-skip-css', 'false');
s.defer = true;
var parent_node = document.head || document.body;
parent_node.appendChild(s);
})()
</script>
<!-- Super AGI Script -->
<script defer src='https://script.superagi.com/public/script?id=8JQOBvP5Et-62def19c'></script>
<!-- End of Super AGI Script -->
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-TKTWGML');</script>
<!-- End Google Tag Manager -->
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=AW-11492041022"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'AW-11492041022');
</script>
<script type="text/javascript"> (function(c,l,a,r,i,t,y){ c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)}; t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i; y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y); })(window, document, "clarity", "script", "rwvip6pv2o"); </script>
<!-- Base Styles -->
<style>
html, body {
scrollbar-color: #626262 transparent;
font-family: 'Jokker', 'ui-sans-serif', 'system-ui', 'Segoe UI', 'Roboto', 'Ubuntu', 'sans-serif';
}
h1, h2, h3, strong {
font-weight: 600 !important;
}
a {
color: #00C2FF;
}
</style>
<style>
/** Github gists */
/* Limit width. Show scrollbars when exceeding width */
.gist {
overflow:auto;
}
/* Limit height. Show scrollbars when exceeding height */
.gist .blob-wrapper.data {
max-height:400px;
overflow:auto;
}
</style>
<style>
/* Button */
.button-primary-outline:hover .primary-btn-label-outline{
color: black;
}
.button-primary-outline:hover .btn-rounded-outline{
background: black;
}
</style>
<!-- Button hover animation styles + HOVERS-->
<style>
.button-primary:hover .primary-btn-label,
.button-primary:hover .primary-btn-label-medium{
color: white;
}
.button-primary:hover .rounded-circle{
background: white;
color: black;
}
.button-primary-outline:hover .rounded-circle-outline{
background: black;
color: white;
}
.button-primary:hover .rounded-circle{
background: white;
color: black;
}
.button-primary.btn-primary-outline:hover{
background: var(--color--black);
}
.button-primary.btn-primary-outline:hover .rounded-circle.no-circle-bg,
.button-primary.btn-primary-outline:hover .primary-btn-label-medium{
background: transparent;
color: var(--color--white);
}
.button-primary:hover .original-arrow,
.button-primary-outline:hover .original-arrow{
transform: translate(150%, -150%);
transition: transform 0.3s ease-in-out;
transition-delay: 100ms;
}
.button-primary:hover .slided-arrow,
.button-primary-outline:hover .slided-arrow{
transform: translate(0px, 0px);
transition: transform 0.3s ease-in-out 0.1S;
transition-delay: 100ms;
}
</style>
<!-- Custom Table for Rich Text Editors -->
<style>
.standard-rich-text-table {
border-collapse: separate;
border-spacing: 0;
margin-bottom: 44px;
}
.standard-rich-text-table th{
background: #333;
text-align: left;
padding: 16px 20px;
font-family: var(--font--font-sans);
font-size: 16px;
font-style: normal;
font-weight: 600;
line-height: 100%; /* 16px */
letter-spacing: -0.16px;
color: white;
}
.standard-rich-text-table th:first-child{
border-top-left-radius: 4px;
}
.standard-rich-text-table th:last-child{
border-top-right-radius: 4px;
}
.standard-rich-text-table tr td{
color: #080808;
padding: 16px 20px;
font-family: var(--font--font-sans);
font-size: 16px;
font-style: normal;
font-weight: 400;
line-height: 130%; /* 20.8px */
}
.standard-rich-text-table tr:last-child td:first-child{
border-bottom-left-radius: 4px;
}
.standard-rich-text-table tr:last-child td:last-child{
border-bottom-right-radius: 4px;
}
.standard-rich-text-table td{
vertical-align: top;
border-bottom: 1px solid var(--color--gray-500);
}
.standard-rich-text-table td * {
font-size: 16px;
font-weight: 400;
line-height: 130%;
}
.standard-rich-text-table.small-font td *{
font-size: 14px;
line-height: 140%;
}
.standard-rich-text-table tr td:first-child{
border-left: 1px solid var(--color--gray-500);
}
.standard-rich-text-table tr td:last-child{
border-right: 1px solid var(--color--gray-500);
}
</style>
<style type="text/css">
.underline-card:hover .underline{
text-decoration: underline !important;
}
</style>
<style>
.banner-close{
opacity:0;
transition:opacity .2s ease;
cursor:pointer;
}
.banner-wrapper:hover .banner-close{
opacity:1;
}
</style>
<!-- Wordpress/OneTrust/Marketo class overrides -->
<style type="text/css">
pre.w-code-block code {
all: unset;
padding: inherit;
color: inherit;
}
.ot-sdk-show-settings {
color: #84888b !important;
font-size: 14px !important;
font-weight: 500 !important;
text-decoration: none !important;
}
.ot-sdk-show-settings:hover {
color: #dee2e5 !important;
text-decoration: underline !important;
}
#onetrust-banner-sdk #onetrust-accept-btn-handler {
font-weight: 700 !important;
}
.footer-links-container.footerbottom-links span:last-child {
cursor: pointer !important;
}
form.mktoForm select option{
color: white;
background: #171717;
}
form.mktoForm select.mktoField {
background-position: center right 16px;
background-repeat: no-repeat;
background-image: url('data:image/svg+xml;utf8,<svg xmlns="http:
A+URL Variantswww/non-www, trailing slash, HTTP→HTTPSPASS
www / non-www
Preferred variant: non-www
HTTP → HTTPS
Consistent
A+Domain Intelligenceagora.io — via GoDaddy.com, LLC, 13 years old, hosted on AWSPASS
323 days
May 31, 2027
63 days
Issued by GoDaddy.com, Inc.
13 years
Registered May 31, 2013
Status unknown
Protects against DNS spoofing
AWS
ASN AS16509
52.8.151.151
GoDaddy.com, LLC
Expiry timeline
Domain cannot be transferred without explicit unlock from the registrar. This protects against unauthorized transfers.
Registrar lock (clientTransferProhibited et al.) prevents unauthorized domain transfers — strongest defense against domain hijacking.
Source: ICANN / domain-security best practice