# **🔍 Why OTTO Scans Get Stuck on SiteGround**

SiteGround uses aggressive server-side caching and security rules that can interrupt the crawling requests OTTO sends during a Site Audit scan. When OTTO is installed on a WordPress site hosted on SiteGround, its automated scan requests may be rate-limited, blocked, or silently dropped by SiteGround's Dynamic Cache or security firewall — causing the scan to appear stuck at a processing state indefinitely, sometimes for 3 hours or more.

This is one of the most common reasons an OTTO scan stalls shortly after the initial WordPress installation. The good news is that a few targeted configuration changes on SiteGround will resolve the issue quickly.

# **✅ Before You Begin**

- Make sure OTTO is installed and activated on your WordPress site.
- You should have access to your **SiteGround Site Tools** dashboard.
- You will also need to be logged into **Search Atlas** and able to navigate to **OTTO SEO → All Sites** (SEO Automation) in the left sidebar (URL: `/seo-automation-v3`).

# **⚙️ Step 1 — Disable SiteGround Dynamic Cache for Your Site**

1. Log in to your **SiteGround Site Tools**.
2. Go to **Speed → Caching**.
3. Under **Dynamic Cache**, toggle the setting to **Off**.
4. Click **Confirm** to save the change.

Dynamic Cache caches PHP-generated responses and can cause OTTO's crawl requests to receive stale or incomplete page data, stalling the audit queue.

# **🛡️ Step 2 — Whitelist OTTO's Crawl User-Agent in SiteGround Security**

1. In **SiteGround Site Tools**, navigate to **Security → IP Manager**.
2. Check whether any IP block rules or rate-limit rules could affect automated crawlers.
3. If your site uses the **SiteGround Security plugin** in WordPress, open it and go to **Activity Log → Blocked Requests** to check if OTTO's requests are being blocked.
4. If OTTO's user-agent or IP addresses appear in blocked requests, add them to the **Whitelist** within the plugin settings.

If you are unsure which IP addresses OTTO uses, reach out via the chat widget (details at the end of this article) and a teammate can provide the current list.

# **🔌 Step 3 — Deactivate Conflicting WordPress Cache Plugins**

SiteGround sites often have additional WordPress caching plugins installed, such as **SG Optimizer**. These can layer additional caching on top of server-level caching and further interfere with OTTO's scan requests.

1. Log in to your **WordPress Admin Dashboard**.
2. Go to **Plugins → Installed Plugins**.
3. Temporarily **Deactivate** any active cache plugins (e.g., SG Optimizer, W3 Total Cache, WP Super Cache).
4. Once the OTTO scan completes successfully, you can reactivate these plugins.

# **🔄 Step 4 — Restart the OTTO Scan**

1. Log in to **Search Atlas** and navigate to **OTTO SEO → All Sites** (SEO Automation) in the left sidebar (URL: `/seo-automation-v3`).
2. Locate your website in the OTTO dashboard.
3. If the scan shows a stuck or processing state, click the **Restart Scan** option (or disconnect and reconnect OTTO to trigger a fresh scan).
4. Monitor the scan progress — it should now advance through the audit stages without stalling.

# **💡 Additional Tips for SiteGround Users**

- **Use a staging environment first:** If you are testing OTTO on a new WordPress install, run your initial scan on a SiteGround staging site where caching is typically less aggressive.
- **Re-enable caching after scanning:** Dynamic Cache and other caching tools improve your site's performance — only disable them temporarily to unblock the scan, then re-enable them once the audit finishes.
- **Keep OTTO updated:** Always use the latest version of the OTTO WordPress plugin to ensure compatibility with SiteGround's latest server configurations.

# **🆘 Still Stuck?**

If you have followed all the steps above and your OTTO scan is still not progressing, there may be a server-level firewall rule or a hosting configuration specific to your SiteGround plan that requires deeper investigation. 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.