Infrastructure
· 9 checks — DNS, redirects, IPv6, crawlability, URL variants, and domain intelligence rolled into one auditable list.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
CCrawlabilityActionrobots.txt present, sitemap with 0 URLsREVIEW
Search engines may not be able to parse the sitemap. Fix XML validation errors.
An unparseable sitemap is silently ignored by Google — the URLs it advertises are never queued for crawl.
Learn more ▾ ▴
Google's sitemap parser is strict about XML validity. A single unescaped `&` or unclosed tag invalidates the whole file. Run your sitemap through a validator (Search Console's Sitemaps report flags it) and fix the offending entry. Most generators escape correctly; mistakes usually come from manually-written entries.
Source: sitemaps.org / Google Search Central
An empty sitemap provides no value. Add <url> entries for your pages.
An empty sitemap signals 'no content to index' to Google — actively harmful versus having no sitemap at all.
Learn more ▾ ▴
Google compares URLs in the sitemap against URLs it has crawled. An empty sitemap on a site with thousands of pages signals abandonment. Either populate it correctly (most CMSes auto-generate) or delete the file and let Google crawl normally.
Source: Google Search Central / sitemaps.org
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><html lang="en"><head><meta charSet="utf-8"/><title>Terraform | HashiCorp Developer</title><meta http-equiv="x-ua-compatible" content="ie=edge"/><meta property="og:locale" content="en_US"/><meta property="og:type" content="website"/><meta property="article:publisher" content="https://www.facebook.com/HashiCorp/"/><meta name="twitter:site" content="@HashiCorp"/><meta name="twitter:card" content="summary_large_image"/><meta name="theme-color" content="#000"/><meta name="description" property="og:description" content="Explore Terraform product documentation, tutorials, and examples."/><meta name="twitter:description" content="Explore Terraform product documentation, tutorials, and examples."/><meta property="og:site_name" content="Terraform | HashiCorp Developer"/><meta property="og:title" content="Terraform | HashiCorp Developer"/><meta property="og:image" content="https://developer.hashicorp.com/og-image/terraform.jpg"/><link rel="canonical" href="https://developer.hashicorp.com/terraform"/><link rel="icon" href="/favicon.ico" sizes="48x48"/><link rel="icon" href="/favicon.svg" sizes="any" type="image/svg+xml"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="google-site-verification" content="zRQZqfAsOX-ypXfU0mzAIzb5rUvj5fA4Zw2jWJRN-JI"/><meta name="ahrefs-site-verification" content="9d739b21c466a84dae91df1c79396081a9072152e64f765c9390fed6f249fb84"/><meta name="zd-site-verification" content="xnvnvv1i0wl4tf0pzaymb" data-product="hcp"/><meta name="zd-site-verification" content="36fp2i1pj67d8cjtzf4fi9" data-product="terraform"/><meta name="zd-site-verification" content="nbe87kfyp1sck7b13vj1i" data-product="packer"/><meta name="zd-site-verification" content="wvsmmqa1cfb9am9zlwfj" data-product="consul"/><meta name="zd-site-verification" content="cw22oopfwr68ujj0n5pn9i" data-product="boundary"/><meta name="zd-site-verification" content="lkslvganwfgfqfwpdeicgh" data-product="vault"/><meta name="zd-site-verification" content="jl2wp2hoej9rz6c8rmqdns" data-product="nomad"/><meta name="zd-site-verification" content="2eb0cu6xceo73t0038m0tb" data-product="waypoint"/><meta name="zd-site-verification" content="n52xisxdf3higs2q9kuogd" data-product="vagrant"/><meta name="twitter:image" content="https://developer.hashicorp.com/og-image/terraform.jpg"/><link rel="prefetch" href="https://www.datadoghq-browser-agent.com/datadog-rum-v4.js"/><script type="application/ld+json">[{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Developer","item":"https://developer.hashicorp.com/"},{"@type":"ListItem","position":2,"name":"Terraform","item":"https://developer.hashicorp.com/terraform"}]}]</script><meta name="next-head-count" content="32"/><link rel="preload" href="/_next/static/media/d29050812a1756cf-s.p.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/><link rel="preload" href="/_next/static/media/d5a42912b4de4242-s.p.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/><link rel="preload" href="/_next/static/css/0f7893c21d343207.css?dpl=dpl_2xDkfLQGe1kBp7PUtgGua6RBZ8Sg" as="style"/><link rel="stylesheet" href="/_next/static/css/0f7893c21d343207.css?dpl=dpl_2xDkfLQGe1kBp7PUtgGua6RBZ8Sg" data-n-g=""/><link rel="preload" href="/_next/static/css/021c80741029f114.css?dpl=dpl_2xDkfLQGe1kBp7PUtgGua6RBZ8Sg" as="style"/><link rel="stylesheet" href="/_next/static/css/021c80741029f114.css?dpl=dpl_2xDkfLQGe1kBp7PUtgGua6RBZ8Sg" data-n-p=""/><link rel="preload" href="/_next/static/css/df9b855fba9826e0.css?dpl=dpl_2xDkfLQGe1kBp7PUtgGua6RBZ8Sg" as="style"/><link rel="stylesheet" href="/_next/static/css/df9b855fba9826e0.css?dpl=dpl_2xDkfLQGe1kBp7PUtgGua6RBZ8Sg" data-n-p=""/><link rel="preload" href="/_next/static/css/df8cb34c26374ea6.css?dpl=dpl_2xDkfLQGe1kBp7PUtgGua6RBZ8Sg" as="style"/><link rel="stylesheet" href="/_next/static/css/df8cb34c26374ea6.css?dpl=dpl_2xDkfLQGe1kBp7PUtgGua6RBZ8Sg" data-n-p=""/><link rel="preload" href="/_next/static/css/a2e577f7eb2408a7.css?dpl=dpl_2xDkfLQGe1kBp7PUtgGua6RBZ8Sg" as="style"/><link rel="stylesheet" href="/_next/static/css/a2e577f7eb2408a7.css?dpl=dpl_2xDkfLQGe1kBp7PUtgGua6RBZ8Sg" data-n-p=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js?dpl=dpl_2xDkfLQGe1kBp7PUtgGua6RBZ8Sg"></script><script src="/_next/static/chunks/webpack-3c159dff3b48b75b.js?dpl=dpl_2xDkfLQGe1kBp7PUtgGua6RBZ8Sg" defer=""></script><script src="/_next/static/chunks/framework-f2b655730fee1ac7.js?dpl=dpl_2xDkfLQGe1kBp7PUtgGua6RBZ8Sg" defer=""></script><script src="/_next/static/chunks/main-cebc8934c31d4c20.js?dpl=dpl_2xDkfLQGe1kBp7PUtgGua6RBZ8Sg" defer=""></script><script src="/_next/static/chunks/pages/_app-3316d340c7a05011.js?dpl=dpl_2xDkfLQGe1kBp7PUtgGua6RBZ8Sg" defer=""></script><script src="/_next/static/chunks/340-68337dc7a8534187.js?dpl=dpl_2xDkfLQGe1kBp7PUtgGua6RBZ8Sg" defer=""></script><script src="/_next/static/chunks/4288-d606fa1dbc509e4d.js?dpl=dpl_2xDkfLQGe1kBp7PUtgGua6RBZ8Sg" defer=""></script><script src="/_next/static/chunks/6181-03157fe2f6e7f4a5.js?dpl=dpl_2xDkfLQGe1kBp7PUtgGua6RBZ8Sg" defer=""></script><script src="/_next/static/chunks/8443-4079cf2a5ced37e1.js?dpl=dpl_2xDkfLQGe1kBp7PUtgGua6RBZ8Sg" defer=""></script><script src="/_next/static/chunks/4840-e9f31e35fd044dec.js?dpl=dpl_2xDkfLQGe1kBp7PUtgGua6RBZ8Sg" defer=""></script><script src="/_next/static/chunks/5225-9f49f33d1390d8e3.js?dpl=dpl_2xDkfLQGe1kBp7PUtgGua6RBZ8Sg" defer=""></script><script src="/_next/static/chunks/6722-442e6f1df661e0f2.js?dpl=dpl_2xDkfLQGe1kBp7PUtgGua6RBZ8Sg" defer=""></script><script src="/_next/static/chunks/2597-3285826af0c8d26b.js?dpl=dpl_2xDkfLQGe1kBp7PUtgGua6RBZ8Sg" defer=""></script><script src="/_next/static/chunks/2312-678648cb387fb10c.js?dpl=dpl_2xDkfLQGe1kBp7PUtgGua6RBZ8Sg" defer=""></script><script src="/_next/static/chunks/5587-936881c77829aad1.js?dpl=dpl_2xDkfLQGe1kBp7PUtgGua6RBZ8Sg" defer=""></script><script src="/_next/static/chunks/pages/terraform-b75c3606d50540b5.js?dpl=dpl_2xDkfLQGe1kBp7PUtgGua6RBZ8Sg" defer=""></script><script src="/_next/static/lunIobaSsAyJFteZUElsH/_buildManifest.js?dpl=dpl_2xDkfLQGe1kBp7PUtgGua6RBZ8Sg" defer=""></script><script src="/_next/static/lunIobaSsAyJFteZUElsH/_ssgManifest.js?dpl=dpl_2xDkfLQGe1kBp7PUtgGua6RBZ8Sg" defer=""></script></head><body class="mds-fonts"><div id="__next"><div class="style_root__dZhZu"><a href="https://www.hashicorp.com/conferences/hashiconf#livestream" class="style_linkElem__hCESK"><span class="style_textContainer__6CuI7"><span class="style_tag__jbHGz g-type-body-small-x-strong">HashiConf 2025<!-- --> </span><span class="style_text__rwS0u g-type-body-small">Don't miss the live stream of HashiConf Day 2 happening now<span class="style_link__6YYCB g-type-body-small-x-strong"><span class="style_linkText__E8GJf"> <!-- -->View live stream</span><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" aria-hidden="true"><path fill="currentColor" d="M8.235 4.045a.75.75 0 111.03-1.09l4.5 4.25a.75.75 0 010 1.09l-4.5 4.25a.75.75 0 01-1.03-1.09L11.364 8.5H2.75a.75.75 0 010-1.5h8.614L8.235 4.045z"></path></svg></span></span></span></a></div><script>!function(){try{var d=document.documentElement,n='data-theme',s='setAttribute';var e=localStorage.getItem('theme');if('system'===e||(!e&&true)){var t='(prefers-color-scheme: dark)',m=window.matchMedia(t);if(m.media!==t||m.matches){d.style.colorScheme = 'dark';d[s](n,'dark')}else{d.style.colorScheme = 'light';d[s](n,'light')}}else if(e){d[s](n,e|| '')}if(e==='light'||e==='dark')d.style.colorScheme=e}catch(e){}}()</script><div class="core-dev-dot-layout_root__MT1PZ"><div class="base-layout_root___qiZs" data-layout="base-new"><div class="base-layout_header__XhkxS"><header class="navigation-header_root__oE_HT"><div class="navigation-header_leftSide__V0xlc"><div class="product-page-content_productsDropdown__haUyw"><nav aria-label="Main" data-orientation="horizontal" dir="ltr"><div class="dropdown-menu_root__Hwy5S"><div class="dropdown-menu_activatorWrapper__LxPRt"><button aria-controls="navigation-header-menu-react-aria-1" aria-expanded="false" aria-label="Main menu" class="dropdown-menu_activator__xXb00 g-focus-ring-from-box-shadow-dark product-page-content_productsDropdownButton__bnKKs"><span class="dropdown-menu_activatorLeadingIcon__YQQlH"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24" aria-hidden="true" class="product-page-content_productsDropdownIcon__gXtly"><g fill="currentColor"><path d="M10.336 1.5L2 6.268v11.456l3.131 1.793V8.061l5.205-2.979V1.5z"></path><path d="M13.664 1.5v9.123h-3.328V7.219L7.203 9.012V20.7l3.133 1.796V13.4h3.328v3.381l3.131-1.793V3.293L13.664 1.5z"></path><path d="M22 17.732L13.664 22.5v-3.582l5.203-2.98V4.484L22 6.276v11.456z"></path></g></svg></span><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" aria-hidden="true" class="dropdown-menu_activatorTrailingIcon__r_cCd"><path fill="currentColor" fill-rule="evenodd" d="M3.235 5.205a.75.75 0 011.06.03L8 9.158l3.705-3.923a.75.75 0 011.09 1.03l-4.25 4.5a.75.75 0 01-1.09 0l-4.25-4.5a.75.75 0 01.03-1.06z" clip-rule="evenodd"></path></svg></button></div><div class="dropdown-menu_dropdownContainer__AZWxN" id="navigation-header-menu-react-aria-1" style="display:none"><div class="style_root__z3EwE style_productPanel__Z4UFi style_hasSide__15FV8 style_topPromo__SGVhk style_hasSide__ecwjD"><div class="style_mainPanel__MpQn1"><div class="style_promo__e6yXp style_hasSide__635Xt style_topPromo__vRc5s"><div class="style_icon__rYEcI"><svg class="style_flight-icon__rrFs8" aria-hidden="true" fill="currentColor" id=":Raqlkqcm:" width="24" height="24" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><use href="/_next/static/media/svg-sprite.8ce6dd4a.svg#flight-hashicorp-16"></use></svg></div><div class="style_rightContent__zvciM"><div><div class="style_title__eEtAF">HashiCorp Cloud Platform</div><div class="style_description__ATQzz">Get started in minutes with our cloud products</div></div><a class="style_link__U4Sfy" data-radix-c
BTLS Certificate Expiry & Recommendations38 days until leaf cert expires — 4 issues to addressREVIEW
Certificate validity
Recommended actions
- Add includeSubDomains to the HSTS directive
- Add the preload directive and submit to hstspreload.org once max-age + includeSubDomains are in place
- 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
BCDN & DeliveryVercelREVIEW
ADNS Records2 A records, 22 ms lookupPASS
| A | 66.33.60.66, 76.76.21.142 |
| AAAA | — |
| CNAME | cname.vercel-dns.com |
| NS | ns1.vercel-dns-3.com, ns3.vercel-dns-3.com, ns4.vercel-dns-3.com, ns2.vercel-dns-3.com |
| MX | — |
| TXT | — |
| CAA | Lookup not available with standard resolver |
A CNAME at the zone apex can break MX and NS records. Use ALIAS/ANAME or A records instead.
CNAME at the apex (example.com) breaks every other apex record (MX, TXT, NS) — DNS-protocol violation per RFC 1034.
Learn more ▾ ▴
RFC 1034 forbids CNAME alongside other records at the same name. Some DNS providers offer ALIAS / ANAME / flattened-CNAME records that work around this — use those instead. Otherwise apex-level CNAME breaks email (no MX), domain ownership verification (no TXT), and more.
Source: RFC 1034
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.
SPF helps prevent email spoofing. Add a TXT record starting with 'v=spf1'.
Without SPF, receiving servers can't validate sending IPs — your domain is easier to spoof in phishing.
Learn more ▾ ▴
SPF complements DMARC. Both should be published. SPF records list authorized sending IPs (e.g., `v=spf1 include:_spf.google.com ~all` for Google Workspace). After publishing, verify in Google Postmaster Tools or mxtoolbox.
Source: RFC 7208 (SPF)
ARedirect Chain1 redirect(s), 271 ms totalPASS
https://www.terraform.io
95 ms · HTTP/1.1
https://developer.hashicorp.com/terrafor...
176 ms · HTTP/1.1 FINAL
| # | URL | Status | Time | Protocol | Server |
|---|---|---|---|---|---|
| 1 | https://www.terraform.io | 308 | 95 ms | HTTP/1.1 | Vercel |
| 2 | https://developer.hashicorp.com/terrafor... | 200 | 176 ms | HTTP/1.1 | Vercel |
See the visual redirect chain in the HTTP Probe tab →
AURL Variantswww/non-www, trailing slash, HTTP→HTTPSPASS
www / non-www
HTTP → HTTPS
Use 301 (permanent) instead of 302 (temporary)
A+HTTP Probe TimingTotal 155 ms — DNS, TCP, TLS, TTFB, content transfer breakdownPASS
Connection waterfall
Domain IntelligenceDomain intelligence data not availableINFO
RDAP and WHOIS lookup both failed