Skip to content
GitHub
Get started →

Install on WordPress

The official WordPress plugin is the easiest path. It adds a Settings page and injects the widget script on every frontend page. Works with any theme, Elementor, Divi, Gutenberg, WP Engine, SiteGround, Bluehost, and WP.com Business.

  1. Download the plugin

    From the Spelo dashboard: InstallWordPressDownload .zip.

  2. Upload it to WordPress

    WP admin → PluginsAdd NewUpload Plugin → choose the .zipInstall Now.

  3. Activate

    Click Activate Plugin.

  4. Enter your site ID

    WP admin → SettingsSpelo. Paste your site_id (from the Spelo dashboard). Click Save.

  5. Verify

    Open your site in a new tab. You should see the orb at the bottom of the screen. Click it → grant mic → speak.

If you cannot install the plugin (e.g. wp-admin is locked down), paste the snippet in your theme’s header.

  1. Appearance → Theme File Editor

  2. Open header.php (or footer.php — either works)

  3. Paste just before </head> or </body>:

    <script src="https://spelo.ai/spelo.js" data-site-id="YOUR_SITE_ID" async></script>
  4. Update File

Option C — Google Tag Manager

If your site already runs GTM:

  1. GTM → TagsNewCustom HTML

  2. Paste:

    <script src="https://spelo.ai/spelo.js" data-site-id="YOUR_SITE_ID" async></script>
  3. Trigger → All Pages

  4. SaveSubmitPublish

WooCommerce

If you use WooCommerce, Spelo can search your products directly. After installing the widget, connect your store in the dashboard → DataWooCommerce. See the WooCommerce adapter guide.

Caching & CDN

  • WP Rocket, W3 Total Cache, LiteSpeed, Cloudflare — no changes needed. The widget loads via <script async>, so caches do not need to know about it.
  • If you minify or defer, make sure the <script> tag is not removed. Whitelist spelo.js in your minification exclusions.

Multisite

On a WP multisite network, install the plugin network-wide. Each subsite can have its own site_id (configured per-subsite in Settings → Spelo).

Verify the install

Open DevTools → Network tab → filter for spelo.js. You should see a 200 response from spelo.ai. Filter for spelo.ai/v1/ — you should see a GET .../config on page load.

Troubleshooting

  • Orb does not appear → Orb not appearing
  • CSP blocks the widget → add https://spelo.ai to script-src, https://api.spelo.ai and wss://* to connect-src. See CSS/JS conflicts.