The symptom is always the same. The canonical in the page source is not the one the SEO plugin is configured to output, and nobody can say which piece of code won.
What I do is stop reading settings screens and start reading the output. Fetch the page with the SEO plugin active, then again with it disabled, and compare. If the canonical survives the plugin being off, something else is writing it. That something is usually a theme header, a page builder module, or a caching layer serving a version from before the last change.
The caching layer catches people out more than the others. A page cached last week carries last week's canonical no matter what the plugin says today. Clearing the plugin cache is not the same as clearing the page cache, and neither one clears the CDN.
Once I know which layer writes it, the fix is usually removing a duplicate rather than adding a filter. Two systems writing the same tag will disagree again the next time either one updates.
On a client site with a short maintenance window, the toggling is the part I would like back. Is there a faster way to identify the writer?
Swiss Knife SEO ModeratorAdministrator