## **🧭 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**

1. Go to **OTTO SEO → Site Audit** in the left sidebar of your Search Atlas dashboard.
2. Open your most recent crawl report and navigate to the **Indexability** section.
3. Click on the affected page (for example, your homepage) to open its detail panel.
4. 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).
5. 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**

1. In the left sidebar, select **OTTO SEO → Site Audit**.
2. Open your project and click **Re-crawl** or **Start New Crawl**.
3. Once the crawl completes, return to the **Indexability** section.
4. Confirm the previously flagged page no longer appears in the non-indexable list.
5. 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.