How can I monitor a page's canonical tag for changes?
Monitor a canonical tag by saving the page URL, recording the canonical returned on each scheduled fetch, and comparing it with the previous successful reading. stillindexed checks each monitored URL every 30 minutes on Starter or 15 minutes on Agency. A changed target is a warning and alerts only if it remains on the next scheduled check.
What does the canonical monitor actually read?
Each successful URL check reads the first canonical link with a non-empty href in the HTML head. A parseable relative target is resolved against the final page URL before it is stored. That value is compared with the canonical from the previous successful snapshot for the same monitored URL.
What counts as a canonical change?
A canonical appearing, disappearing, or moving to a different normalized URL produces canonical_changed. Host case, a trailing slash, and differences limited to the query string or fragment are treated as the same target. A path, scheme, or host change remains a real difference.
What do Before and After contain?
Before carries the previous canonical value and After carries the new value, with whitespace collapsed in both. Parseable relative targets have already been resolved to absolute URLs. If the tag appeared or disappeared, one side is empty. The record shows what changed, but it does not decide which target is correct.
Is a canonical change critical or warning?
canonical_changed is warning severity. The dedicated recheck about 60 seconds later is reserved for newly pending critical changes, so a canonical warning does not receive it. The warning stays pending until the next scheduled URL check, then confirms and enters the alert pipeline if the same new canonical still holds.
How often is the canonical checked?
Canonical is part of each monitored URL snapshot, not the daily site-level run. The scheduler reads the account cadence from user_entitlements: Starter URLs are checked every 30 minutes and Agency URLs every 15 minutes. A warning therefore waits for the next plan-scheduled URL check before it can confirm.
What if the first observation already has the wrong canonical?
The first canonical is stored as the baseline and does not create a canonical incident. InitialFindings checks first-look noindex and broken HTTP status, but it has no approved canonical target to compare against. Validate the starting canonical separately, because monitoring can prove that the value changed, not that the first value was correct.
What happens if a scheduled fetch fails?
An errored fetch writes an errored snapshot but produces no canonical diff. It also cannot confirm, suppress, or resolve a pending canonical change, because the page directives were not observed. When a later fetch succeeds, the comparison still uses the latest good snapshot rather than treating the failed reading as an empty canonical.
Can I check the current canonical without monitoring it?
Yes. The canonical checker reads the live canonical, compares it with the final page URL, and reports whether its target was a redirecting hop already seen in that request chain. It answers the current-state question and does not schedule another check. A separate canonical target outside that chain is not fetched.
Which plan includes canonical monitoring?
Starter is $39 a month for up to 15 sites, with monitored URLs checked every 30 minutes. Agency is $79 a month for up to 50 sites, with monitored URLs checked every 15 minutes. Canonical monitoring uses those URL-level schedules.