🧭 Overview
When OTTO is installed using the WordPress plugin method, it can append an is_otto_page_fetch=1 query parameter to paginated blog URLs (for example, /blog/page/2/?is_otto_page_fetch=1). This changes the perceived canonical URL of those pages, which can create duplicate content signals and confuse search engine crawlers. Switching to the custom script installation method removes this parameter entirely and restores correct canonicalization.
⚙️ Understanding the Two OTTO Installation Methods
OTTO can be installed on your site in two ways. Each method works differently and has different implications for how OTTO fetches and processes your pages.
- Plugin method: A WordPress plugin is installed directly on your site. OTTO uses internal WordPress hooks to fetch page content, and this process appends the
is_otto_page_fetch=1parameter to URLs during pagination crawls. This parameter can be picked up by your CMS or SEO plugin and treated as a unique URL, altering the canonical tag. - Custom script method: A lightweight JavaScript snippet is added to your site's
<head>section manually or via a tag manager. This method does not interact with WordPress URL routing, so it never appends theis_otto_page_fetch=1parameter. Canonicalization remains unaffected.
🔍 How to Confirm You Have the Canonicalization Issue
- Navigate to any paginated page on your blog (for example,
yoursite.com/blog/page/2/). - Open your browser's developer tools, go to the Network tab, and reload the page.
- Check whether the request URL or the canonical tag in the page
<head>includesis_otto_page_fetch=1. - Alternatively, crawl your site with a tool like the Search Atlas Site Auditor and filter for URLs containing
is_otto_page_fetch.
If that parameter appears in your canonical tags or is being indexed, you are affected and should migrate to the custom script method.
🔄 How to Migrate From the Plugin to the Custom Script
Follow these steps in order. The process takes fewer than ten minutes and does not require downtime.
- Retrieve your OTTO custom script. Log in to Search Atlas, go to OTTO SEO in the left sidebar, and open All Sites (SEO Automation). Locate the Installation or Connect Site section and copy the custom JavaScript snippet provided for your website.
- Add the script to your site's . Paste the snippet into your site's
<head>section. You can do this by editing your theme'sheader.phpfile directly, using a plugin such as Insert Headers and Footers, or publishing it through Google Tag Manager. - Verify the script is firing correctly. Open your site in a browser, view the page source, and confirm the OTTO script appears inside the
<head>tag. Then return to the OTTO dashboard in Search Atlas and confirm the site shows a connected status. - Deactivate and delete the OTTO WordPress plugin. In your WordPress admin panel, go to Plugins, locate the OTTO plugin, click Deactivate, and then click Delete. Removing the plugin stops it from appending the
is_otto_page_fetch=1parameter immediately. - Check your paginated URLs again. Visit your paginated blog pages and confirm the parameter no longer appears in the URL or the canonical tag.
🛡️ When to Use Each Installation Method
- Use the custom script method for all WordPress sites, especially those with blogs, archives, or any paginated content. This is the recommended default for most users.
- Use the plugin method only if your hosting environment restricts access to the
<head>section and you have no tag manager available. Be aware of the pagination canonicalization limitation and monitor your site for the issue described in this article.
❓ Frequently Asked Questions
Will migrating to the custom script break any existing OTTO automations? No. Your OTTO settings, optimizations, and connected data remain intact. Only the method by which the pixel fires on your site changes.
Do I need to re-authorize or reconnect my site after migrating? Not usually. As long as the custom script includes the correct site token and your site shows as connected in the OTTO dashboard, no re-authorization is needed.
The parameter still appears after I deleted the plugin. What should I do? Clear your site's server-side cache, CDN cache, and any WordPress caching plugin cache. If the parameter persists after a full cache purge, contact support using the instructions below.
Will search engines un-index the incorrect canonical URLs automatically? Once the parameter is gone from your canonical tags, search engines will gradually recrawl and correct the indexed versions. You can speed this up by submitting your sitemap in Google Search Console.
💬 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.