Buyer's Guides· 5 min read· By The SpideyChat Team

WordPress Chatbot: Plugin or Header and Footer Snippet?

Plugin or header and footer snippet for a WordPress chatbot? Compare license keys, caching, page rules and theme updates, and see when a snippet still wins.


For a SpideyChat chatbot on WordPress, use the plugin unless you have a specific reason not to. It loads the same chat as the snippet, but it activates the license from inside WordPress, marks the script so caching plugins don't delay it, and lets you hide the chat on chosen pages. A header and footer snippet is the better fit when you already manage every third-party script in one tool, or when your host won't let you upload plugins.

Our general piece on whether you need a plugin at all covers plugins versus script tags across vendors. This one is specific to SpideyChat on WordPress, where the two routes behave differently in a few ways that matter.

What each route puts on your page

Both end with the same thing in your page's HTML: one script tag that loads widget.js from SpideyChat with your bot ID. The chat window, the answers, the leads and the conversations are all managed in the SpideyChat dashboard either way.

The difference is how the tag gets there.

  • The snippet is the line you copy from your chatbot's page and paste into a header and footer tool (such as WPCode's Footer box) or your theme's footer.
  • The plugin prints that tag for you. It loads the script in the footer with defer, so it doesn't block your page, and adds a few extra attributes covered below.

At the time of writing (October 2026), the plugin is a zip download, not yet listed on WordPress.org. You upload it under Plugins > Add New > Upload Plugin.

License key or bot ID

This is the biggest practical difference.

With the snippet, your bot ID is in the tag. A SpideyChat chatbot registers the first website it loads on automatically. Any website after that has to be added on purpose under License & websites on the chatbot's page.

With the plugin, you paste the license key instead, which starts with sc_lic_. The plugin knows the difference. Paste a bot ID by mistake and it tells you to use the license key. Saving the key activates the license for that website, and the settings page then shows how many of your plan's websites are in use. After that:

  • The plugin rechecks the license once a day, so a cancelled or suspended license switches the chat off. A network blip during the check never switches a working chat off.
  • Deactivate license on this site removes the website from the license and frees its slot, which is useful before you move to a new domain. Uninstalling the plugin also tries to free the slot.
  • Activating on a subdomain of a website that's already licensed, such as a staging copy, doesn't use a new slot.

For agencies and anyone running several sites, that's the deciding factor. Slots are limited by plan (Free 1 website per chatbot, Starter 3, Pro 10), and the plugin makes moving a slot a one-click job. There's more on how sites are counted in chatbot licenses and website limits.

Caching and delayed scripts

Many WordPress speed plugins hold JavaScript back until the visitor scrolls, taps or moves the mouse. For a chat button that means it only appears after interaction, and visitors who read without scrolling never see it.

The plugin adds attributes to its script tag that the common optimisers recognise as "leave this alone": data-cfasync="false" for Cloudflare Rocket Loader, nowprocket for WP Rocket's delay feature, and data-no-optimize, data-no-minify and data-no-defer for others. A pasted snippet has none of these unless you add them. You'll usually need to exclude widget.js in your cache plugin's settings yourself. Our guide to cache plugin fixes has the exact setting for each popular plugin.

Control from inside WordPress

The plugin's settings page (Settings > SpideyChat) has three controls a snippet doesn't:

  • Show chatbot. A tick box that switches the chat off on this site without touching the license.
  • Hide on. One path per line. The chat button is hidden on that page and everything under it, for example /checkout. On those pages the script isn't printed at all.
  • Launcher label. The short text beside the chat button.

The label is also possible with a snippet: add a data-help-text attribute to the script tag. Page hiding isn't, unless your header and footer tool has its own page rules. If you're deciding whether to show chat on checkout pages, see should your chat widget show on WooCommerce checkout.

Where a snippet still makes sense

Situation Better route
One business site, you want the simplest setup Plugin
Several sites, or you move domains Plugin
A caching plugin that delays JavaScript Plugin
You keep every script in WPCode or a similar tool, by policy Snippet
You load all third-party scripts through Google Tag Manager Snippet, as a tag in GTM
Your host doesn't allow uploading plugins Snippet, if the host allows scripts
You want to test for a day before committing Either; the snippet is quicker to remove

If you do use the snippet, put it somewhere that survives updates. WPCode's Footer box is fine. Your theme's footer.php is only safe in a child theme, because a parent theme update can overwrite the file and remove your line.

Don't run both

Install one or the other. If you switch from the snippet to the plugin, remove the snippet. Two copies of the same bot won't show two buttons, because the widget mounts once per bot and ignores the second copy. You will, though, have two places to look when something changes, and only one of them respects the plugin's Hide on rules.

The short version

Most WordPress sites should use the plugin: license key in, Show chatbot ticked, done, with caching and page rules handled. Choose the snippet when a tool you already rely on manages your scripts. The WordPress integration page has the plugin download, and our step-by-step WordPress install guide covers both routes in detail.

Frequently asked questions

Is the SpideyChat plugin different from pasting the snippet?
The chat your visitors see is the same either way. The plugin adds license activation inside WordPress, attributes that stop caching plugins delaying the script, and a Hide on box for page paths.
Do I use my license key or my bot ID?
The plugin takes the license key, which starts with sc_lic_ and is under License & websites on your chatbot's page. A pasted snippet uses the bot ID in its data-bot-id attribute.
Is the SpideyChat plugin on WordPress.org?
Not yet. At the time of writing it is a zip you download and upload under Plugins > Add New > Upload Plugin.
Will a theme update remove my chatbot snippet?
If you pasted it into your theme's footer.php, a theme update can overwrite it. A child theme or a header and footer plugin such as WPCode keeps it safe. The SpideyChat plugin isn't affected by theme changes.

Want a 24/7 AI Employee for Your Website?

See how SpideyChat can answer customer questions, capture leads and handle enquiries while your team is offline.

No obligation. We will review your website and show you how SpideyChat could work for your business.

Keep reading