πŸ” Stop OTTO Flagging Non-Canonical URL Duplicates

Camilo Aponte

Camilo Aponte

Last updated on Oct 19, 2026

πŸ€” What Is Happening?

When OTTO crawls your site, it may detect two versions of the same page as separate URLs β€” for example, /blog and /blog/ (with and without a trailing slash). Even if one version has a canonical tag pointing to the other, OTTO treats both URLs as crawlable pages and generates on-page suggestions β€” such as H1 length warnings or missing alt text β€” for each one independently.

This is not a canonical tag error. OTTO is working as designed: it crawls every URL it discovers and audits the content it finds at that address. The duplicate suggestions appear because both URL versions are being crawled and evaluated, not because your canonical tags are broken.

πŸ•·οΈ Why OTTO Crawls Both URL Versions

OTTO's crawler follows links found in your sitemap, internal links, and server responses. If your server returns a valid page at both /blog and /blog/ β€” even with a canonical tag on one β€” the crawler logs both as live URLs and audits both for content issues. The canonical tag tells search engines which version to index, but it does not prevent OTTO from reaching and auditing the non-canonical version.

Common reasons both versions are reachable include:

  • Your server does not redirect one version to the other (for example, /blog does not 301-redirect to /blog/).
  • Both versions appear in your XML sitemap.
  • Internal links on your site point to both variants.
  • A CDN or caching layer serves content at both paths without enforcing a redirect.

βœ… The Recommended Fix: Enforce a Server-Side Redirect

The most reliable way to stop OTTO β€” and search engines β€” from treating both versions as separate pages is to redirect one version permanently to the other at the server level.

  1. Decide on your preferred URL format: trailing slash (/blog/) or no trailing slash (/blog). Be consistent across your entire site.
  2. Configure a 301 redirect on your server or CDN so the non-preferred version automatically redirects to the preferred one. For example, redirect /blog β†’ /blog/.
  3. Remove the non-preferred version from your XML sitemap.
  4. Update any internal links that point to the non-preferred version.
  5. Re-run the OTTO crawl after changes are saved. Once the redirect is in place, OTTO will follow it and only audit the canonical version.

After the redirect is live, the duplicate suggestions for the non-canonical URL will no longer appear in future crawls.

🚫 Cannot Implement a Redirect Right Now?

If a server-side redirect is not immediately possible, you can tell OTTO to skip the non-canonical URL pattern during its crawl with a URL Exclusion condition:

  1. Go to OTTO SEO β†’ All Sites (SEO Automation) at /seo-automation-v3 and open your project.
  2. Click the Autopilot / Smart Crawl card at the top of the overview to open the OTTO SEO Settings modal.
  3. Scroll to URL Exclusion conditions and click + Add condition.
  4. Set it to Exclude all URLs that Contains or Start With a pattern that matches only the variant β€” for example Contains /blog? for a query-string variant. If the variant cannot be distinguished from the canonical URL by pattern (for example /blog vs /blog/), a server-side redirect remains the reliable fix.
  5. Click Update Settings and trigger a recrawl.

If you need further assistance, open the chat widget in the bottom-right corner of the platform and type human teammate to be connected with a member of our team.