🧭 Overview
If your homepage or any other page shows as non-indexable in Site Audit despite having no noindex tag, being listed in your XML sitemap, and appearing unblocked in your robots.txt file, the root cause is often a canonical URL mismatch. This is one of the most frequently missed causes of false non-indexable flags, and it can be resolved quickly once identified.
🤔 What Is a Canonical URL Mismatch?
A canonical tag tells search engines which version of a URL is the authoritative, preferred version of a page. When the canonical URL declared on a page does not exactly match the URL that Site Audit is crawling, the tool correctly flags the crawled version as non-indexable — because it is effectively deferring indexing authority to a different URL.
Common mismatches include:
- Trailing slash differences: The page is crawled as example.com/ but the canonical tag points to example.com (or vice versa).
- HTTP vs. HTTPS: The canonical specifies http:// while the live page serves over https://.
- WWW vs. non-WWW: The canonical uses www.example.com but the crawled URL is example.com.
- URL parameter inconsistencies: The canonical omits or includes query parameters that appear in the crawled URL.
- Uppercase vs. lowercase characters: A mismatch in letter casing between the canonical and the crawled URL.
Even a single character difference between the crawled URL and the declared canonical is enough to trigger a non-indexable flag in Site Audit.
🔎 How to Identify a Canonical Mismatch in Site Audit
- Go to OTTO SEO → Site Audit in the left sidebar of your Search Atlas dashboard.
- Open your most recent crawl report and navigate to the Indexability section.
- Click on the affected page (for example, your homepage) to open its detail panel.
- Look for the Canonical URL field in the page details. Compare the value shown there against the exact URL that was crawled (displayed at the top of the detail panel).
- Check whether the two URLs are identical, character for character, including protocol, subdomain, trailing slash, and casing.
If the canonical URL and the crawled URL do not match exactly, you have found your issue.
🛠️ How to Fix a Canonical URL Mismatch
Once you have identified the mismatch, choose the fix that applies to your situation:
- Trailing slash: Decide on one consistent format (with or without trailing slash) and update either your canonical tag or your server redirect so both URLs resolve to and declare the same preferred version.
- HTTP vs. HTTPS: Update your canonical tags to use https:// on all pages and ensure your server redirects all HTTP traffic to HTTPS.
- WWW vs. non-WWW: Pick one version as your canonical domain, set up a 301 redirect from the other, and make sure all canonical tags reflect your chosen version.
- URL parameters: If parameters are irrelevant to page content, strip them from your canonical tags or configure parameter handling in Google Search Console.
- Casing issues: Update your canonical tags or configure server-level redirects so all URLs are consistently lowercase.
After making changes, re-crawl your site in Site Audit to confirm the mismatch has been resolved and the page is now flagged as indexable.
✅ How to Re-Crawl and Verify the Fix
- In the left sidebar, select OTTO SEO → Site Audit.
- Open your project and click Re-crawl or Start New Crawl.
- Once the crawl completes, return to the Indexability section.
- Confirm the previously flagged page no longer appears in the non-indexable list.
- In the page detail panel, verify the Canonical URL field now matches the crawled URL exactly.
⚠️ Other Common Causes of Non-Indexable Flags
If fixing your canonical tag does not resolve the issue, also check for these additional causes:
- A noindex directive in the page's
<meta robots>tag or HTTP response header. - The page being blocked in your robots.txt file.
- JavaScript-rendered content that prevents the crawler from reading the page's canonical tag correctly.
- The page returning a non-200 HTTP status code such as a redirect chain or server error.
💬 Need More Help?
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.