Weak spf
Quick winAdd a hard-fail (-all) or soft-fail (~all) mechanism to your SPF DNS record so that mail servers are explicitly told to reject or flag email from senders not listed in your record.
What it is
SPF (Sender Policy Framework) is a DNS record on your domain that tells the world's email servers which computers are allowed to send email on your behalf. It works like a guest list at the door — but right now your record has no "turn away everyone not on the list" instruction at the end. That final instruction is called an "all mechanism" and it must end with either `-all` (hardfail: reject unlisted senders outright) or `~all` (softfail: accept but mark as suspicious). Without it, the record is incomplete and receiving mail servers may treat any server in the world as a valid sender for your domain.
Why it matters
An SPF record without a closing `-all` or `~all` gives spammers and phishers a green light to send email that appears to come from your store's domain. Customers receiving fake order confirmations, password resets, or "shipping delay" scams from your domain name will lose trust in your brand — and there is nothing more damaging to an ecommerce business than customers believing your email is fraudulent. Many large email providers (Gmail, Microsoft 365, Yahoo) use SPF alignment as a key spam-filtering signal, meaning your own legitimate marketing and transactional emails are more likely to land in spam if your SPF record is weak or incomplete. Under regulations like GDPR and CAN-SPAM, allowing domain spoofing can also create indirect legal exposure. Fixing this is one of the fastest, highest-impact security improvements you can make.
How to fix it
- Log in to your DNS provider (the registrar or DNS host where your domain's DNS records are managed — e.g. GoDaddy, Cloudflare, Namecheap, Route 53).
- Find the TXT record for your root domain (@) that starts with v=spf1. There should be exactly one SPF record per domain.
- Read the existing record carefully. If it uses a redirect= modifier (e.g. v=spf1 redirect=something._spf.example.com), check whether the target record itself ends in -all or ~all — if it does, your record inherits that policy and may already be covered; if not, you need to add the all mechanism.
- If the record does NOT use redirect=, append -all (recommended for strictest protection) or ~all (softer option, better for domains in transition) to the very end of the record value, separated by a space. Example: v=spf1 include:_spf.google.com include:sendgrid.net -all
- Save the record and allow up to 48 hours for DNS propagation (usually much faster).
- Verify the fix using a free SPF-checking tool (search 'SPF record checker') by entering your domain and confirming the record ends with -all or ~all and returns a valid result.
; Correct SPF TXT record examples:
; Strict (recommended) — unlisted senders are rejected:
v=spf1 include:_spf.google.com include:sendgrid.net -all
; Soft-fail — unlisted senders are flagged but not hard-rejected:
v=spf1 include:_spf.google.com include:sendgrid.net ~all
; If your record uses redirect=, verify the TARGET record also ends in -all:
; v=spf1 redirect=cf3962es._spf._d.mim.ec
; → look up cf3962es._spf._d.mim.ec and confirm it ends in -all or ~allFix it on your platform
Pick your platform for the exact steps.
How to fix weak spf on Shopify
- SPF is a DNS record — it is NOT set inside Shopify's admin. You must edit it at the DNS provider where your domain's nameservers are hosted.
- If you bought your domain through Shopify: go to Shopify Admin → Settings → Domains → click your domain → click 'Manage' → 'DNS Settings'. Find the TXT record starting with v=spf1 and edit it to end with -all or ~all.
- If your domain is hosted elsewhere (GoDaddy, Namecheap, Cloudflare, etc.): log in to that provider's DNS management panel, find the TXT record for @ (root domain) starting with v=spf1, and add -all or ~all at the end.
- Shopify's email sending (order confirmations, etc.) uses its own SPF infrastructure — confirm you have 'include:shops.shopify.com' or 'include:myshopify.com' in your record before closing with -all.
How to fix weak spf on WooCommerce
- SPF is a DNS record controlled at your domain registrar or DNS host, not inside WordPress or WooCommerce.
- Log in to your hosting control panel (cPanel, Plesk) or DNS provider. Look for a 'DNS Zone Editor' or 'DNS Management' section.
- Find the TXT record for your root domain (@) starting with v=spf1.
- If you send transactional email via an SMTP plugin (e.g. WP Mail SMTP with SendGrid, Mailgun, Brevo), ensure that provider's include: statement is present, then add -all at the end.
- Example final record: v=spf1 include:sendgrid.net include:_spf.google.com -all
How to fix weak spf on BigCommerce
- SPF is managed at your DNS provider, not inside BigCommerce's control panel.
- Log in to your domain registrar or DNS host (e.g. Cloudflare, GoDaddy).
- Locate the TXT record for @ starting with v=spf1.
- BigCommerce sends transactional email through its own infrastructure — check BigCommerce's official documentation for the current SPF include value to add, then close the record with -all.
- Save and verify propagation with an SPF checker tool.
How to fix weak spf on Wix
- If your domain is connected through Wix: go to Wix Dashboard → Domains → click your domain → 'Advanced' → 'Manage DNS Records'.
- Find the TXT record with v=spf1 (Wix may have auto-generated one for Wix Email/Google Workspace).
- Edit the record to add -all or ~all at the end of the value. If Wix created a redirect= record, check whether the target record ends in -all; if not, you may need to replace it with a full inline record.
- If your domain is pointed to Wix but DNS is managed externally (e.g. Cloudflare), log in there instead and edit the TXT record.
- Save and allow up to 48 hours for propagation.
How to fix weak spf on Squarespace
- Go to Squarespace Dashboard → Settings (or Domains panel) → Domains → click your domain → 'DNS Settings'.
- Scroll to the TXT records section. Find the record starting with v=spf1.
- Click the edit (pencil) icon and append -all or ~all to the end of the record value.
- If you use Google Workspace through Squarespace, ensure 'include:_spf.google.com' is present before the closing -all.
- Click Save. Verify with an external SPF checker.
How to fix weak spf on Webflow
- Webflow hosts sites but does not manage email sending infrastructure, so SPF must be set at your DNS provider.
- If your DNS is managed inside Webflow: go to Webflow Dashboard → your project → Publishing → Custom Domain → DNS Settings. Add or edit the TXT record for @ with v=spf1 ... -all.
- If you use an external DNS provider (Cloudflare, Route 53, GoDaddy), log in there and edit the TXT record for your root domain.
- Include any transactional email services you use (e.g. Postmark, SendGrid) before closing with -all.
How to fix weak spf on Adobe Commerce (Magento)
- SPF is a DNS record — it is managed at your DNS/registrar provider, not inside Adobe Commerce's admin panel.
- Log in to your DNS provider or hosting control panel (cPanel/Plesk DNS Zone Editor).
- Find the TXT record for @ (root domain) starting with v=spf1.
- Adobe Commerce typically sends email via your server's mail agent (Sendmail/Postfix) or a third-party SMTP service configured under Stores → Configuration → Advanced → System → Mail Sending Settings. Ensure the sending IP/service is included in the SPF record before appending -all.
- Example: v=spf1 ip4:YOUR.SERVER.IP include:sendgrid.net -all
- Save the record and confirm with an SPF lookup tool.
How to fix weak spf on WordPress.org
- SPF is set at your DNS/registrar, not in WordPress itself.
- Log in to your hosting control panel (cPanel → 'Zone Editor' or 'Email Deliverability') or your external DNS provider.
- Find the TXT record for @ starting with v=spf1.
- If you use an SMTP plugin (WP Mail SMTP, Fluent SMTP, Easy WP SMTP) connected to SendGrid, Mailgun, Brevo, etc., include that provider's SPF include value before adding -all.
- Save and test with an SPF checker.
How to fix weak spf on PrestaShop
- PrestaShop does not manage DNS. Log in to your domain registrar or hosting DNS panel.
- Find the TXT record for your root domain (@) starting with v=spf1.
- If you send email via your server's native PHP mail or a configured SMTP (set in PrestaShop Back Office → Advanced Parameters → Email), ensure the sending server IP or SMTP relay's include: entry is present.
- Append -all to the end of the record and save.
How to fix weak spf on OpenCart
- OpenCart does not manage DNS. Edit SPF at your registrar or hosting DNS panel (e.g. cPanel Zone Editor).
- Identify what mail service OpenCart is configured to use: Admin → System → Settings → Mail tab. Include that service's SPF include value in your record.
- Append -all at the end and save.
Does your site have this issue?
Run a free SEOLZ audit to find weak spf — and every other issue — across your whole site in minutes.
Scan my site freeFrequently asked questions
What is Weak spf?
SPF (Sender Policy Framework) is a DNS record on your domain that tells the world's email servers which computers are allowed to send email on your behalf. It works like a guest list at the door — but right now your record has no "turn away everyone not on the list" instruction at the end. That final instruction is called an "all mechanism" and it must end with either `-all` (hardfail: reject unlisted senders outright) or `~all` (softfail: accept but mark as suspicious). Without it, the record is incomplete and receiving mail servers may treat any server in the world as a valid sender for your domain.
Why does weak spf matter?
An SPF record without a closing `-all` or `~all` gives spammers and phishers a green light to send email that appears to come from your store's domain. Customers receiving fake order confirmations, password resets, or "shipping delay" scams from your domain name will lose trust in your brand — and there is nothing more damaging to an ecommerce business than customers believing your email is fraudulent. Many large email providers (Gmail, Microsoft 365, Yahoo) use SPF alignment as a key spam-filtering signal, meaning your own legitimate marketing and transactional emails are more likely to land in spam if your SPF record is weak or incomplete. Under regulations like GDPR and CAN-SPAM, allowing domain spoofing can also create indirect legal exposure. Fixing this is one of the fastest, highest-impact security improvements you can make.
How do I fix weak spf?
Add a hard-fail (-all) or soft-fail (~all) mechanism to your SPF DNS record so that mail servers are explicitly told to reject or flag email from senders not listed in your record.
Authoritative references
- OWASP Top Ten — OWASP
- OWASP Cheat Sheet Series — OWASP