Skip to main content

⭐ OTTO Pixel Troubleshooting Guide

Fixing “OTTO Not Installed”, “OTTO Not Detected”, and missing crawl data on ANY CMS.

Updated this week

Installing the OTTO Pixel connects your site to Search Atlas’s AI engine — enabling scans, deployments, and automated SEO.


But even when the pixel is installed, OTTO may still show:

  • ❌ “OTTO Not Installed.”

  • ❌ “OTTO Not Detected.”

  • ❌ “Missing crawl data.”

  • ❌ Pixel not firing.

  • ❌ No deployments verified.

Almost always, the cause is:

  • ✅ Caching.

  • ✅ Script placement.

  • ✅ Duplicate installs.

  • ✅ A blocked crawler.

This guide is the master troubleshooting playbook, covering all platforms and all root causes, with the newly standardized UI paths.

Let’s fix it. ⚡

🧭 1. Universal Troubleshooting Steps (Run These First!)

These steps solve 80–90% of detection failures.

🛡️ 1.1 Whitelist the Search Atlas Crawler (Critical Step #1)

If your CDN/firewall blocks our user agent, OTTO cannot detect your pixel — even when installed perfectly.

✅ Cloudflare

Path: Cloudflare → Security → Bots
Disable:

  • Bot Fight Mode

  • Super Bot Fight Mode

✅ WordFence

WP Admin → WordFence → Firewall → Firewall Options
Set Web Application Firewall Status → Disabled → Save.

✅ Stop Bad Bots

WP Admin → Block Bad Bots → Settings → Settings tab
Disable Block All Bots


or add allowed user agent:


Search Atlas Bot (https://www.searchatlas.com/)

✅ Blackhole for Bad Bots

WP Admin → Blackhole → Settings → Whitelist User Agents


Add: Search Atlas Bot (https://www.searchatlas.com/)

✅ Shield Security

WP Admin → Shield Security → IP Rules → gear icon


Create New User Agent Rule → Whitelist:

Search Atlas Bot

➡️ Once whitelisted, continue to caching + pixel verification.

🔍 1.2 Check for Duplicate Pixel Installations

OTTO can only load once.

❌ Plugin + Manual Script = conflict
❌ GTM + Script = conflict
❌ Script installed twice = conflict

Duplicate OTTO Pixels break detection. OTTO cannot verify or enable if more than one pixel loads.

Use both checks below — they are the official double-validation process.

A) Manual check (HTML Source Method)

  1. Open your homepage

  2. Right-click → View Page Source

  3. Press Ctrl + F / Cmd + F

  4. Search for any of the following terms:

sa-dynamic-optimization data-uuid= searchatlas

You should see ONE instance only.

If you see 2, 3, or more → you have a duplicate.

B) Diagnostic check (Recommended, automated method)

OTTO Diagnostics automatically flags duplicates — even if you can’t see them in the source code.

Follow this path:

AI SEO → All Sites → select your site → Scan → Run Diagnostics

Possible results:

  • ⚠️ Duplicate Installation Detected


    OTTO found more than one script copy anywhere in your site (global headers, GTM, plugins, blocks, apps, templates).

  • 🟢 Deploys Verified — OK

  • You’re clean — only one pixel is active.

This method is required because:

✔ Some CMS inject scripts dynamically
✔ Apps/plugins can add their own loader
✔ GTM can fire a second copy you don’t see in HTML
✔ Minifiers/CDN inject combined scripts

If the diagnostic shows duplicates → proceed with platform-specific removal.

💡 1.3 Confirm Your Script Loads in the Network Tab

Open DevTools:

  • Right-click → Inspect

  • Go to Network

  • Reload page

  • Search for:

sa-dynamic-optimization

If FOUND → Pixel is firing

If NOT FOUND → Script is blocked or incorrectly placed

💾 1.4 Verify correct script placement

Correct placement:

<head>
<script id="sa-dynamic-optimization-loader" ...></script>
</head>

Incorrect placement causes failure:

  • ❌ bottom of <body>

  • ❌ footer injections

  • ❌ delayed by theme builder

  • ❌ added to a single page only

  • ❌ unpublished template or inactive theme

🔧 1.5 Disable Caching / Minification Interference

Plugins like:

  • WP Rocket

  • LiteSpeed Cache

  • Nitropack

  • SiteGround Optimizer

  • Cloudflare Auto-Minify

  • Flying Scripts

…can delay or rewrite the pixel.

Add to your script tag:

data-noptimize data-cfasync="false"

Or exclude the pixel URL entirely.

🛠️ 1.6 Clear ALL caches (normalized across CMS)

🔹 Browser Cache

Hard reload:

  • Windows: Ctrl + Shift + R

  • Mac: Cmd + Shift + R
    Or open an incognito window.

🔹 WordPress Cache

If using Search Atlas WordPress Plugin (recommended method):

WP Admin → Search Atlas → Settings
Top-right dropdown → Advanced
Scroll → Error Logs
Click: Clear All Cache Plugins

If no cache plugins exist, WP shows:


“No cache plugins detected.”

This clears:

  • WP Rocket

  • LiteSpeed

  • W3 Total Cache

  • SiteGround Optimizer

  • All detected cache plugins

If NOT using Search Atlas plugin → clear cache in each cache plugin or host panel.

🔹 CDN / Firewall Cache

Examples:

Cloudflare: Caching → Purge Everything
Sucuri: Performance → Clear Cache

🔹 Hosting Cache

Common hosts: WP Engine, Kinsta, SiteGround
Use their Purge Cache button.

🔹 CMS-native cache

These auto-refresh when saving:

  • Shopify (save theme.liquid)

  • Wix (click Publish)

  • Squarespace (Save)

  • Webflow (Publish to Selected Domains)

No extra steps needed.

🟢 1.7 Make Sure OTTO Is Engaged

Path:


AI SEO → All Sites → Your Site → Engage OTTO

Toggle MUST be 🟢 green.

🧩 2. Platform-Specific Troubleshooting

🟩 2.1 WordPress — Plugin Installation

🔥Most common causes

  1. Plugin + manual script + GTM = multiple OTTO loaders (duplicate installation)

  2. “Disable OTTO for logged-in users” = ON → Pixel never loads while logged in

  3. OTTO Server-Side Rendering (SSR) disabled → header not rendered for crawler

  4. Theme builders are failing to print <head> fully (Elementor, Divi, Oxygen, Bricks, Kadence)

  5. Cache/minifiers rewriting, delaying, or stripping the Pixel script

  6. Hard-coded scripts left over in header.php, functions.php, or child themes

1️⃣ Use ONLY ONE installation method

Recommended: Search Atlas WordPress Plugin

Do not combine:

  • plugin

  • GTM

  • manual <script> in theme

Use one source of truth → the plugin.

2️⃣ Verify plugin configuration

Path:


WP Admin → Search Atlas → Settings

Check that:

  • Search Atlas API Key is populated

  • Plugin Auth Token is active

  • OTTO Pixel UUID matches your project in Search Atlas

3️⃣ Activate OTTO Server-Side Rendering (SSR)

Path:


WP Admin → Search Atlas → Settings → Advanced Settings

Toggle ON:

Enable OTTO Server-Side Rendering

This ensures:

  • OTTO renders in the server-generated <head>

  • Search Atlas crawler sees the script instantly

  • All OTTO deployments (meta tags, titles, schema) appear in HTML source

Without SSR, many themes fail to render the <head> consistently.

4️⃣ Optional: Disable OTTO for logged-in users — only if needed

In General Settings:

If you want to preview raw content while editing:

  • Turn ON: Disable OTTO for logged-in users

Otherwise, leave it OFF.

If it's ON and you’re logged in → Pixel will not load for you.

5️⃣ Remove duplicate scripts

Search your theme files:

  • header.php

  • functions.php

  • theme settings

  • child themes

  • GTM tags

Remove any manual <script id="sa-dynamic-optimization-loader">…</script> that isn't injected by the plugin.

6️⃣ Clear ALL caches

Clear in this order:

  1. Plugin caches:

    • WP Rocket

    • LiteSpeed

    • W3 Total Cache

    • Nitropack

    • SiteGround Optimizer

  2. Theme builder caches:

    • Elementor

    • Divi

    • Kadence

  3. Server/hosting cache

  4. CDN cache (Cloudflare → Purge Everything)

  5. Browser hard reload (Ctrl+Shift+R / Cmd+Shift+R)

7️⃣ Log OUT of WordPress

This ensures:

  • OTTO Pixel loads for public users, not just admins

  • No role-based output suppression interferes

Visit:

  • homepage

  • 2–3 internal pages

  • View Source → search: sa-dynamic-optimization

There should be ONE instance.

8️⃣ Run Diagnostics in Search Atlas

Path:
AI SEO → All Sites → Select Site → Scan → Run Diagnostics

This will confirm:

  • Pixel detected

  • No duplicates

  • Correct UUID

  • SSR functional

  • OTTO Engaged

🟨 2.2 Google Tag Manager

Common Issues

  • Incorrect tag type

  • Trigger too slow (Page View instead of Initialization)

  • Container not published

  • Duplicate scripts installed manually

  • GTM blocked by CSP headers

Fix

  1. GTM → Tags → New → Custom HTML

  2. Paste the full OTTO script

  3. TriggerInitialization – All Pages (critical)

  4. Publish the container

  5. Remove any other OTTO scripts from the theme

  6. Run Diagnostic Scan

🟦 2.3 GoHighLevel (GHL / HLProTools)

Common Issues

  • Script added to a single page

  • Script added in Footer

  • Script not saved as Global

  • Script loads too late

Fix

  1. Use one Global Section

  2. Insert Pixel inside a Custom Code block

  3. Mark the section as Global

  4. Save → confirm “Apply to Global Section.”

  5. Publish

  6. Run Diagnostics

🟪 2.4 Wix

Common Issues

  • Script added only to the homepage

  • Script added to the footer

  • Changes not published

Fix

  1. Wix Editor → Settings → Custom Code

  2. Add Code → paste pixel

  3. Apply to All Pages

  4. Load Code: on Each Page Load

  5. Location: Head

  6. Save + Publish

  7. Run Diagnostic Scan

🟥 2.5 Shopify

Common Issues

  • Script placed too low in <head>

  • Script accidentally placed in <body>

  • Theme.liquid not saved

  • Shopify cache delays updates

Fix

  1. Shopify → Online Store → Themes → Edit Code

  2. Open theme.liquid

  3. Find <head>

  4. Paste the OTTO script immediately after <head>

  5. Remove any page-level duplicates

  6. Save and Publish

  7. Clear site + browser + CDN cache

  8. Run Diagnostic Scan

🟫 2.6 Other CMS (Webflow, Squarespace, Carrd, etc.)

Common Issues

  • Header injection limited

  • Script added only to partial pages

  • Script placed in body

Fix

  1. Site Settings → Custom Code → Head

  2. Paste OTTO Pixel

  3. Apply to All Pages

  4. Publish changes

  5. Run Diagnostic Scan

🟣 3. First-Time Installations (Initial Crawl Behavior)

OTTO’s first crawl can take up to 24 hour,s depending on site size.

You may see:

  • “Site processing is still in progress.”

  • “Waiting for data…”

  • “Pixel detected — awaiting first scan results.”

This is normal!

If past 24 hours:

AI SEOAll SitesScanRun DiagnosticsRe-run Crawl

Wait 10–15 min → Refresh.

🔍 4. Post-Installation Pixel Validation

Once everything is installed:

✔ Step 1 — Validate in DevTools

Network → search:

sa-dynamic-optimization

✔ Step 2 — Confirm Script in <head>

Elements → search:

sa-dynamic-optimization-loader

✔ Step 3 — Run Pixel Diagnostic Scan

Path:

AI SEO → All Sites → Scan → Run Diagnostics

Expect:

✔ Pixel Detected
✔ No duplicates
✔ Fixes deployed

You’ve now completed every essential and advanced step required to ensure the OTTO Pixel installs cleanly across any CMS. This wasn’t just an installation. This was you unlocking the foundation of automated, AI-powered SEO.

Whether your website runs on WordPress, Shopify, Wix, GTM, Webflow, or a custom stack, each adjustment you made allows OTTO to:

✨ Scan your pages
✨ Deploy intelligent optimizations
✨ Improve crawlability and visibility
✨ Strengthen your site’s search performance

If you’ve followed the full guide and OTTO still doesn’t detect your pixel, you’re rare, and we want to help. Our support team can take it from here. Otherwise, congratulations, your site is now ready for automated SEO at scale. 🚀

Did this answer your question?