The SOA refresh interval is outside the usual range
What this check looks for
The timer that tells your backup nameservers how often to check for changes is set unusually. ‹consequence›
Why it matters
Refresh only matters when the usual notification mechanism fails. It is the fallback that decides how long a secondary nameserver can serve an out-of-date copy of your zone before it notices on its own.
When the check passes, your report says: “The SOA refresh interval is within the usual range”.
What it costs your score
When this check fails it removes 2 points from your DNS score, before the status, confidence and repeat multipliers are applied. DNS carries a weight of 10 in the overall score.
It shares the dns.health.soa family ceiling of 20 points: however many findings that family produces, together they cannot remove more than that from DNS. One underlying problem showing up in several places is still one problem.
- Severity
- low
- Default confidence
- confirmed
- Status when triggered
- warn
- Deduction
- 2 points
- Family cap
- dns.health.soa · 20
- Category
- DNS
- Module
- Dns health
- Fix owned by
- dns host
- In the ruleset since
- 2026.09
How to fix it
Set the SOA refresh to a value between 20 minutes and 12 hours.
It bounds how long a secondary can serve an old copy when a change notification is lost.
Edit the SOA record at your DNS host — most control panels expose the fields individually.
Set refresh to 7200 (2 hours) unless you have a reason for another value.
Confirm secondaries have picked up the new SOA.
How to confirm it worked
dig +short SOA ‹domain› — check the fourth number (refresh)
{{domain}}. 3600 IN SOA ns1.{{domain}}. hostmaster.{{domain}}. 2026090901 7200 3600 1209600 3600A named slot like ‹domain› — and the braces left in the configuration below — is filled in with your own values when this rule appears on a report.
Technical detail
‹domain› publishes a refresh of ‹value› (‹seconds› seconds); the usual operating range is ‹recommended range› (RFC 1912 §2.2). Modern setups rely on NOTIFY rather than the refresh timer, so a value outside the range is rarely urgent — but a very long one still sets the ceiling on how stale a secondary can get if a NOTIFY is lost.
Standards and references
Test this on your domain
Run the check that produces this finding, on its own, against any domain.
Other dns health checks
- A name has a CNAME alongside other records
- A glue record's address does not match the nameserver's own
- A nameserver inside the domain has no glue record
- A nameserver you delegate to does not answer for the zone
- The domain has fewer than two nameservers
- A nameserver name is an alias rather than a host
- The registry and the zone disagree about the nameservers
- All nameservers resolve to one address
- All nameservers sit in one network block
- A nameserver name has no address
- The delegation could not be checked
- A nameserver answers queries for domains that are not yours