Missing spf

Quick win

Add a DNS TXT record containing a valid SPF policy to your domain so email servers can verify that messages sent from your domain are legitimate.

What it is

SPF (Sender Policy Framework) is a DNS record — a single line of text published at your domain's root — that tells the world's email servers which mail-sending services are officially allowed to send email on behalf of your domain. Without it, there is no published list of authorized senders, so receiving mail servers have no way to confirm whether an email claiming to be "from yourstore.com" actually came from you or from an attacker. It is one of the three foundational email-authentication standards (SPF, DKIM, and DMARC) that major inbox providers now require.

Why it matters

Without an SPF record, cybercriminals can send convincing phishing and spoofing emails that appear to come from your store's domain — targeting your customers, suppliers, and staff. Beyond fraud risk, inbox providers like Google and Microsoft use SPF as a key trust signal: missing or broken SPF causes your legitimate order confirmations, shipping updates, and marketing emails to land in spam or be rejected outright, directly harming customer experience and revenue. Google and Yahoo's 2024 bulk-sender requirements made SPF mandatory for deliverability. Failing to publish one is classified as a Security Misconfiguration (OWASP A05:2021) because it leaves your domain's identity unprotected and exploitable.

How to fix it

  1. Identify every service that sends email from your domain — your ecommerce platform's transactional mail, your ESP (e.g. Klaviyo, Mailchimp), Google Workspace or Microsoft 365, and any helpdesk or CRM tools.
  2. Log in to your DNS provider (the registrar or nameserver host where your domain's DNS zone is managed — e.g. GoDaddy, Namecheap, Cloudflare, Route 53).
  3. Create a new DNS TXT record at the domain apex (the bare domain, e.g. yourstore.com — often represented as '@' in DNS UIs) with a TTL of 3600 (1 hour) or your provider's default.
  4. Set the record value to an SPF policy that includes all your authorized senders, for example: v=spf1 include:_spf.google.com include:servers.mcsv.net ~all — replace the include: directives with the exact ones published by each of your sending services, and end with -all (hard fail) for maximum security or ~all (soft fail) while testing.
  5. Verify the record has propagated using a free SPF lookup tool (search 'SPF record checker') and confirm it returns your new policy without errors such as 'too many DNS lookups' (the limit is 10).
  6. Once confirmed working, consider upgrading ~all to -all and then add DKIM and a DMARC policy to complete your email-authentication setup.
; DNS TXT record to add at your domain apex (e.g. yourstore.com)
; Replace the include: values with the ones published by YOUR sending services.

@ 3600 IN TXT "v=spf1 include:_spf.google.com include:sendgrid.net include:shops.shopify.com ~all"

; Key parts:
;   v=spf1               → SPF version (required, always this value)
;   include:…            → Delegate to another provider's SPF list (add one per sending service)
;   ip4:203.0.113.5      → Authorize a specific server IP directly (use only if needed)
;   -all                 → Hard fail: reject mail from any unlisted sender (most secure)
;   ~all                 → Soft fail: accept but mark unlisted senders (use during rollout)

Fix it on your platform

Pick your platform for the exact steps.

How to fix missing spf on Shopify
  1. Shopify does not manage your domain's DNS records directly — you must edit DNS at wherever your domain is registered or hosted (e.g. GoDaddy, Namecheap, Cloudflare).
  2. In your Shopify admin, go to Settings → Domains and note your custom domain and which nameservers it uses (Shopify-managed or external).
  3. If your domain uses Shopify-managed DNS: go to Settings → Domains → click your domain → 'DNS Settings' → click 'Add custom record' → choose TXT → Host: @ → Value: your SPF string (e.g. v=spf1 include:_spf.google.com include:shops.shopify.com ~all) → Save.
  4. If using external DNS (Cloudflare, GoDaddy, etc.), log in to that provider's DNS dashboard and add the TXT record at '@' with your SPF value there.
  5. Shopify's own transactional mail is sent through their infrastructure; if you use Shopify Email or rely on Shopify's default sending, add 'include:shops.shopify.com' to your SPF record.
  6. Verify propagation with an SPF checker tool.
How to fix missing spf on Shopify Plus
  1. Follow the same steps as Shopify above — DNS management location and Shopify-managed vs. external DNS apply identically to Plus merchants.
  2. Shopify Plus merchants using custom transactional email routing (e.g. via SendGrid or Postmark configured in the Plus admin) must also add the include: directive for that provider.
  3. For enterprise setups with a dedicated IP, confirm the exact SPF include string with your email delivery provider and add it to the record.
How to fix missing spf on WooCommerce
  1. WooCommerce runs on WordPress hosted at a provider of your choice; DNS is managed at your domain registrar or hosting control panel (cPanel, Cloudflare, etc.) — not inside WordPress itself.
  2. Log in to your hosting control panel (e.g. cPanel → Zone Editor, or your registrar's DNS manager).
  3. Add a TXT record: Name/Host = @ (or your bare domain), TTL = 3600, Value = your SPF string including your web host's mail server and any ESPs you use (e.g. v=spf1 include:_spf.google.com include:sendgrid.net ~all).
  4. WooCommerce transactional emails are sent by your web host's PHP mail or by a plugin like WP Mail SMTP / FluentSMTP — check which SMTP service that plugin is connected to and include that provider's SPF include: directive.
  5. In WordPress admin, go to the plugin settings (e.g. WP Mail SMTP → Settings → Email tab) to confirm which sending service is in use.
  6. Verify with an SPF checker after a few minutes.
How to fix missing spf on BigCommerce
  1. BigCommerce does not manage your domain's DNS — you manage it at your registrar or DNS host.
  2. Log in to your DNS provider and add a TXT record at '@' with your SPF value.
  3. BigCommerce sends transactional email through its own infrastructure; add 'include:_spf.bigcommerce.com' to your SPF record (verify the current include tag in BigCommerce's official documentation, as it may update).
  4. If you have connected an external ESP (e.g. Klaviyo, Mailchimp) via BigCommerce's marketing integrations, add that provider's include: directive as well.
  5. In BigCommerce admin, go to Settings → Email Templates to review which addresses send mail, then cross-reference with your sending services.
  6. Verify propagation with a free SPF lookup tool.
How to fix missing spf on Wix
  1. If your domain is registered through Wix: log in to your Wix account → go to Domains (in the left sidebar of your Wix dashboard) → click 'Manage DNS' next to your domain.
  2. In the DNS manager, scroll to the TXT Records section → click '+ Add Record'.
  3. Host/Name: @ | TTL: 3600 | Value: your full SPF string (e.g. v=spf1 include:_spf.google.com ~all).
  4. Click Save. Note: Wix's own transactional/marketing emails (Wix Ascend, Wix Stores order emails) are sent from Wix infrastructure — Wix automatically publishes SPF for mail sent through their servers, but you still need a record covering any external ESPs you use.
  5. If your domain is registered externally (pointed to Wix via nameservers), add the TXT record at your external DNS provider instead.
  6. Verify with an SPF checker after propagation.
How to fix missing spf on Squarespace
  1. If your domain is registered through Squarespace: go to your Squarespace account Home → Domains → click your domain → click 'DNS Settings'.
  2. Scroll to 'Custom Records' → click 'Add Record' → Type: TXT → Host: @ → Data: your SPF string → Save.
  3. If your domain is registered externally (you only pointed it to Squarespace), log in to your external registrar's DNS dashboard and add the TXT record there.
  4. Squarespace sends transactional store emails (order confirmations, etc.) via its own mail infrastructure; check Squarespace's current documentation for the correct SPF include tag to add for Squarespace-originated mail.
  5. If you use Google Workspace for your @yourdomain.com business email, add 'include:_spf.google.com' as well.
  6. Verify propagation with a free SPF lookup tool.
How to fix missing spf on Webflow
  1. Webflow hosts your site but does not send transactional ecommerce email directly — outbound order emails typically go through a connected ESP or Webflow's built-in system.
  2. DNS for your Webflow site is managed wherever your domain is registered (e.g. Namecheap, GoDaddy, Cloudflare) or via Webflow's Domain settings if you purchased the domain there.
  3. In Webflow Designer/Dashboard: go to Project Settings → Publishing → Custom Domain → 'Edit DNS settings' (if Webflow-registered domain) OR log in to your external DNS provider.
  4. Add a TXT record: Host = @, TTL = 3600, Value = your SPF string covering your email-sending services.
  5. For Webflow Ecommerce transactional emails, check your Webflow project's Ecommerce → Settings → Emails section to see the sending address and which service delivers it, then include that provider's SPF tag.
  6. Verify propagation using an SPF checker.
How to fix missing spf on Adobe Commerce (Magento)
  1. Adobe Commerce (cloud or on-premises) does not manage your DNS — edit records at your registrar or DNS provider (Cloudflare, Route 53, etc.).
  2. Log in to your DNS provider and add a TXT record: Name = @, TTL = 3600, Value = your SPF string.
  3. Adobe Commerce Cloud uses SendGrid for transactional email by default; add 'include:sendgrid.net' to your SPF record. Confirm the current include tag in Adobe Commerce Cloud's official documentation.
  4. For on-premises installations using a custom SMTP relay (configured in Admin → Stores → Configuration → Advanced → System → Mail Sending Settings), add the SPF include for whichever SMTP service you are using.
  5. If you use a third-party email extension (e.g. from Adobe Commerce Marketplace), check that extension's documentation for the correct SPF include directive.
  6. Verify propagation and record correctness with a free SPF lookup tool.
How to fix missing spf on Magento Open Source
  1. DNS is managed at your registrar or hosting provider — not inside Magento.
  2. Log in to your DNS provider and add a TXT record at '@' with your full SPF value.
  3. In Magento admin, go to Stores → Configuration → Advanced → System → Mail Sending Settings to confirm the SMTP host in use, then add that provider's SPF include: directive to your record.
  4. Common setups include a server-local sendmail (add your server's IP as 'ip4:x.x.x.x') or a third-party SMTP relay like SendGrid or Mailgun (use their published include: tag).
  5. Verify propagation with a free SPF lookup tool.
How to fix missing spf on PrestaShop
  1. DNS is managed at your registrar or hosting control panel, not inside PrestaShop.
  2. Add a TXT record at '@' with your SPF value at your DNS provider.
  3. In PrestaShop back office, go to Advanced Parameters → Email to see the outbound mail method (PHP mail vs. SMTP) and the SMTP server configured. Add that provider's SPF include: directive.
  4. Verify propagation with a free SPF lookup tool.
How to fix missing spf on BigCommerce for WP
  1. BigCommerce for WP is a headless/channel setup; email sending follows BigCommerce's infrastructure. Add 'include:_spf.bigcommerce.com' (verify current tag in BigCommerce docs) to your domain's TXT record at your DNS provider.
  2. WordPress-side emails (admin notifications, password resets) are sent via your host's PHP mail or an SMTP plugin — add that provider's include: tag as well.
  3. Add the TXT record at '@' in your registrar or DNS host dashboard and verify propagation.
How to fix missing spf on WooCommerce REST API
  1. This is a headless WooCommerce setup; email is still sent by the WordPress/WooCommerce backend via your SMTP configuration.
  2. Identify your SMTP provider in your SMTP plugin settings (e.g. WP Mail SMTP → Settings) and add its SPF include: tag to a TXT record at '@' in your DNS provider.
  3. Verify propagation.

Does your site have this issue?

Run a free SEOLZ audit to find missing spf — and every other issue — across your whole site in minutes.

Scan my site free

Frequently asked questions

What is Missing spf?

SPF (Sender Policy Framework) is a DNS record — a single line of text published at your domain's root — that tells the world's email servers which mail-sending services are officially allowed to send email on behalf of your domain. Without it, there is no published list of authorized senders, so receiving mail servers have no way to confirm whether an email claiming to be "from yourstore.com" actually came from you or from an attacker. It is one of the three foundational email-authentication standards (SPF, DKIM, and DMARC) that major inbox providers now require.

Why does missing spf matter?

Without an SPF record, cybercriminals can send convincing phishing and spoofing emails that appear to come from your store's domain — targeting your customers, suppliers, and staff. Beyond fraud risk, inbox providers like Google and Microsoft use SPF as a key trust signal: missing or broken SPF causes your legitimate order confirmations, shipping updates, and marketing emails to land in spam or be rejected outright, directly harming customer experience and revenue. Google and Yahoo's 2024 bulk-sender requirements made SPF mandatory for deliverability. Failing to publish one is classified as a Security Misconfiguration (OWASP A05:2021) because it leaves your domain's identity unprotected and exploitable.

How do I fix missing spf?

Add a DNS TXT record containing a valid SPF policy to your domain so email servers can verify that messages sent from your domain are legitimate.

Authoritative references

Related Security (OWASP) issues