A chat widget is a third-party application running on your page. It has to download code, start running, connect to a server and draw itself, all while your visitor is trying to read your site. Done badly, it delays the content people came for, shifts the layout as it appears and adds weight on slow connections. Done well, it loads quietly after the page and is barely noticeable. Because search engines and visitors both care about speed, it is worth measuring what your widget costs and reducing it. This guide explains how widgets affect performance, what to measure, what your vendor should provide, what you can do on your site and a simple routine to check before and after installation.
How a chat widget can slow a page
| Hinta | What happens |
|---|---|
| Download size | The script and its assets compete with your content for bandwidth |
| Main-thread work | Running and drawing the widget can delay interaction |
| Network requests | Extra connections to fetch config, fonts, images or start a session |
| Layout shift | A widget that appears late can move content |
| Render blocking | A script loaded in the wrong place can delay the whole page |
| Repeat cost on every page | The widget loads on all pages unless limited |
Most of these are manageable with sensible loading.
The measures that matter
| Measure | What it tells you | Rule of thumb |
|---|---|---|
| Largest Contentful Paint (LCP) | How fast the main content appears | Should not get worse after the widget is added |
| Interaction to Next Paint (INP) | How responsive the page is to taps and clicks | Watch for delays when the widget starts |
| Cumulative Layout Shift (CLS) | How much content jumps | The widget should not move anything |
| Total blocking time and page weight | Extra work and bytes | Compare before and after |
| Time to interactive for the chat | How soon the chat works when tapped | Should feel instant when opened |
Google's Core Web Vitals, LCP, INP and CLS, are the standard measures, and you can check them with free tools such as PageSpeed Insights or the Lighthouse panel in your browser. See Google's guidance on Core Web Vitals.
What your vendor should do
- Load the script so it does not block the page, and keep it small.
- Load the heavy parts only when the visitor opens the chat.
- Reserve space or use a fixed launcher so nothing jumps.
- Compress and cache assets, and serve them from a fast network.
- Isolate the widget's styles so they do not affect your page; see why widgets use Shadow DOM.
- Avoid extra third-party calls on load.
Ask for details: how big is the script, when does it load and what does it request on page load? Crescelo's widget is added with one script tag from your dashboard; measure your own pages with and without it, because your theme, other scripts and connection all matter.
What you can do on your site
- Add the snippet in the footer, just before the closing body tag, so it does not sit ahead of your content.
- Load the chat only on pages where it helps; skip pages where it is not needed.
- Delay the load slightly, for example after the page is idle, if your tool supports it.
- Avoid stacking several chat or popup tools at once.
- Keep your own pages light: compress images, limit other scripts.
- Use a fast host and caching for the rest of the site.
Some optimisation plugins and tag managers can delay third-party scripts until the visitor interacts. Test carefully: delaying too aggressively can make the chat feel slow to appear. See the WordPress installation guide and the guide for Webflow, Squarespace and Wix.
A before-and-after test
- Pick five key pages: home, services, pricing, contact and a blog post.
- Run each through PageSpeed Insights on mobile and note LCP, INP, CLS and the overall score, before installing the widget.
- Install the widget.
- Run the same pages again, at the same time of day, three times each, because results vary.
- Compare the medians.
- If a metric is worse, investigate: which requests, what timing, which page.
| Tulos | Action |
|---|---|
| Little or no change | Fine; keep monitoring |
| LCP worse | Check whether the script loads before content; move to the footer |
| CLS worse | Check the launcher reserves space or has a fixed position |
| INP worse | Check for work at page load; delay if possible |
| Page weight much higher | Ask your vendor about size and lazy loading |
Mobile and slow connections
Test on a throttled mobile profile, as many visitors have slower connections than you do. A widget that adds a few hundred milliseconds on broadband can add seconds on weak data. Also test after the browser cache is cleared, because first visits are the slowest. See chat on a phone.
Performance and SEO
Page speed is one of many ranking signals, and it affects conversions directly: people abandon slow pages. A modest, well-loaded widget should not harm either. If measurements show a harm, address it rather than guessing. Note that the chat's content may not be indexed by search engines; it is an interaction layer, not page content. See SEO basics for service businesses.
Ongoing monitoring
- Re-test key pages after any change to your theme, plugins or widget.
- Watch your Core Web Vitals report in Search Console for changes.
- Check speed after big campaigns, when traffic patterns change.
- Ask your vendor to tell you about widget updates.
Worked example: a plumbing website
A plumbing company measured its home page at a mobile score of 72 before installing chat. After adding the widget in the footer, the score dropped to 66, mostly from extra work at load. The owner asked the developer to load the chat only on the home, services and contact pages, and to load it after the page became idle. The score returned to 71, with no visible delay in the chat opening for visitors who wanted it. The lesson: a small drop is often fixable by loading the widget later and only where useful.
| Vaihe | Mobile score (illustrative) |
|---|---|
| Before | 72 |
| After installing everywhere | 66 |
| After limiting pages and delaying load | 71 |
Questions to ask your chatbot vendor about performance
- How large is the script, compressed, and what does it load when the page loads?
- Is the heavier code loaded only when the visitor opens the chat?
- Does the launcher reserve its space so nothing moves?
- Which third-party services does the widget call?
- How is the script cached, and how often does it change?
- Can I limit the widget to selected pages?
- Do you publish any performance results?
A vendor who can answer these plainly has thought about performance. One who cannot may not have measured it.
A quick performance checklist
- Snippet in the footer, once.
- Chat limited to pages where it helps.
- Before-and-after speed tests recorded.
- No layout shift when the launcher appears.
- Heavy code loads only when the chat opens.
- Re-test after any theme, plugin or widget change.
Frequently asked questions
Do chat widgets slow down websites?
They can, by adding download size, script work and layout shifts. A well-built widget loaded after the page adds little. Measure your own pages before and after.
Where should I place the chat script?
In the footer, just before the closing body tag, so it does not delay your content.
Should I load the chat on every page?
Only where it helps. Skipping pages where it is not needed reduces cost.
Can I delay loading the widget?
Often yes, using your tag manager or optimisation plugin. Test that the chat still appears quickly enough.
How do I measure the impact?
Run PageSpeed Insights or Lighthouse on key pages before and after, on mobile, several times, and compare LCP, INP and CLS.
Does the chat affect SEO?
Only through speed and user experience. A well-loaded widget should not harm either.
See the website widget feature, read how to add an AI chatbot to your website and test your setup with the playground.
VASTAA JOKAISELLE KÄVIJÄLLE. VARAA AIKA NIILLE, JOTKA OVAT VALMIITA.
Ota Crescelo käyttöön verkkosivustollasi 15 minuutissa
Opeta avustajasi hinnastoillasi, asiakirjoillasi ja palveluehdoillasi. Ota käyttöön lähteisiin perustuvat vastaukset ympäri vuorokauden ja päällekkäisyydettömät ajanvaraukset suoraan chatissa.