How to train a chatbot on your website data
Five steps and about fifteen minutes, none of it code. Below that, what actually happens between pasting a URL and getting an answer — discover, extract, chunk, embed, index, retrieve — because knowing the mechanism is what lets you fix a bad answer instead of guessing at it.
Five steps, about fifteen minutes
Step four is the one everybody skips, and it is the one that decides whether this works. Do it before you show the assistant to anyone.
- 1
Choose your sources before you crawl anything
List the ten pages that answer the questions you actually get asked — pricing, delivery, returns, setup, hours. A smaller, deliberate set beats your whole sitemap every time, and you can always add more.
- 2
Paste your domain and pick from the list
The crawler fetches the reachable URLs and shows you what it found before anything is indexed. Tick what belongs. This is the step where you leave out the 2019 press releases.
- 3
Add what is not on a web page
Upload the PDFs you already email people, paste text from anywhere that is not crawlable, and write Q&A pairs for the five answers you retype every week — those are stored in your exact wording.
- 4
Ask it ten real questions before anyone else does
Take them from your inbox, not your imagination. Every one it fumbles points at a page that is vague, missing or contradicted somewhere else on your site.
- 5
Fix the gaps, re-train, then go live
Edit the page or add a Q&A pair, re-train that URL, and check the answer changed. Then paste the script tag into your site. Keep reading the unanswered questions weekly — that list is your content plan.
- Stage 1Discover
Find the pages worth reading
You give it a URL. CustomerBot follows the links it finds and returns the list of reachable pages, which you review before anything is trained. This matters more than it sounds: a blog archive with 400 posts will happily bury the six pages that answer real questions.
You pick the URLs. Nothing is trained without you seeing the list.
- Stage 2Extract
Pull the text out of the markup
Each selected page is fetched and reduced to its readable content — navigation, footers and boilerplate are not what you want retrieved when someone asks about your refund window.
PDFs go through the same path, including text recovered from image-heavy pages.
- Stage 3Chunk
Split it into passages
A whole page is the wrong unit. Retrieval works on passages, so pages are split into overlapping chunks small enough to be specific and large enough to keep a thought intact. Overlap is what stops an answer being cut in half at a chunk boundary.
This is why well-structured pages with real headings retrieve better than walls of text.
- Stage 4Embed
Turn each passage into a vector
Every chunk is run through an embedding model and becomes a high-dimensional vector — a numerical position that encodes meaning rather than words. Two passages that say the same thing in different vocabulary end up near each other.
Meaning, not keywords. “Why am I being charged twice” finds your billing-cycle page.
- Stage 5Index
Store them for fast similarity search
Vectors are written to a vector database, where finding the closest passages to a question is a cosine-similarity search rather than a scan. That is what keeps retrieval fast enough to sit inside a live chat.
Re-training a URL replaces that page’s vectors rather than adding a second copy.
And then, on every single question
Training happens once. Retrieval happens every time, which is why updating a page is enough to change what the assistant says.
- 01
Visitor asks
“Do you ship to Ireland and how long does it take?”
- 02
Question is embedded
The same model turns the question into a vector.
- 03
Nearest passages retrieved
The shipping-zones and delivery-times chunks come back highest.
- 04
Model reads, then writes
Those passages go into the prompt. The model answers from them, not from memory.
- 05
Source attached
The reply cites the page it used, so a wrong answer is traceable to a wrong page.
Four things people assume about training, and what is actually true
“Training” is a borrowed word and it misleads. Getting these straight early saves a frustrating fortnight.
Assumed
“Training” means the model learns your data
It does not. Nothing is fine-tuned and no model weights change. Your content is stored, and the relevant passages are put in front of the model at the moment someone asks. That is why a correction takes effect immediately rather than requiring a retrain of anything.
Assumed
More content means better answers
Usually the reverse. Retrieval has to pick a handful of passages from everything you gave it; every stale or duplicated page is another chance to pick the wrong one. Curation beats volume, consistently.
Assumed
It updates when I publish
It does not. Training is deliberate, so a page you rewrote last month is still being quoted in its old form until you re-train that URL. Ten seconds on your publishing checklist prevents this.
Assumed
A bad answer means a bad model
Far more often it means two of your pages disagree, or the answer was never written down anywhere. Switching models rarely fixes it; writing the missing paragraph always does.
Train on less than you think
The instinct is to feed it everything. In practice, precision beats volume: irrelevant passages compete with the right ones for the same retrieval slots.
Worth training on
- Pricing, plans and what each tier includes
- Shipping, delivery and returns policies
- Setup, onboarding and how-to guides
- FAQ pages you already maintain
- Terms that customers actually ask about
- Contact details, hours and locations
Usually noise
- News posts and press releases
- Blog archives older than your current product
- Author bios and tag pages
- Anything superseded but not deleted
- Login-walled pages the crawler cannot reach anyway
- Duplicate content across regional subfolders
Every answer carries its source
An answer without a source is a rumour. Because retrieval knows exactly which passages produced a reply, the assistant can show them — which makes debugging a bad answer a matter of looking at what was retrieved rather than guessing at a black box.
Fixing an answer means fixing a page
There is no fine-tune to redo and no model to retrain. Edit the page, re-train that URL, and the next question is answered from the new text. If the page was always ambiguous, that is the real bug — and now you know.
Questions about training
What does it mean to train a chatbot on your own data?
In practice it means storing your content in a form the assistant can search, then retrieving the relevant parts of it every time somebody asks a question. It does not mean fine-tuning a model on your text — no weights change and nothing about your data is baked into the model. This matters because it is what lets you correct a wrong answer by editing a page rather than retraining anything, and what lets the assistant tell you which source it used.
How do I train a chatbot on my website for free?
The free plan crawls a real site and gives you a working assistant — one assistant, 50 conversations a month, 5 MB of training storage, no card. That is enough to index a small business site properly and judge the answer quality on your own content before spending anything.
Do I need Python, LangChain or a vector database?
Not to use this. The retrieval pipeline that those tutorials build — extract, chunk, embed, store, retrieve — is what the product already is, and there is no vector store to run or embedding model to pick. Build it yourself when the learning is the point, or when your requirements are unusual enough to justify owning the whole stack.
What sources can I train it on besides my website?
PDF uploads, pasted text and Q&A pairs, all in the same index as your crawled pages — so a single answer can draw on a policy PDF and a pricing page together. Q&A pairs are the underrated one: they store your exact wording for the answers you care most about getting right.
How long does crawling take?
Minutes for a normal marketing site. Discovery is fast; the slow part is embedding, which scales with how much text you selected. Most people are asking their assistant real questions within a couple of minutes of pasting a URL.
Does it re-crawl automatically when I update a page?
No — training is a deliberate action. Re-train the URL from the training screen and that page’s passages are replaced. Making it part of your publishing checklist takes ten seconds and avoids the surprise of a bot quoting a page you rewrote last month.
How much content can I train on?
Storage is 5 MB per assistant on the free plan and 40 MB on paid plans. Because pages are stored as extracted text rather than as page images, that is far more content than it sounds — a large documentation site fits comfortably.
What if my site is JavaScript-rendered?
Content that only exists after client-side rendering may not be visible to the crawler. If a page looks empty after training, the reliable workaround is to paste the text directly as a text source, or upload the equivalent PDF.
Can it crawl pages behind a login?
No. The crawler sees your site the way an anonymous visitor does. For gated content, paste the text or upload the document instead.
What happens when retrieval finds nothing relevant?
The assistant falls back rather than inventing an answer, and the question is recorded. That list of unanswered questions is the most useful output of the whole system — it is your visitors telling you which page to write next.
Where to put the widget
Keep reading
Paste a URL and watch it happen
The crawl, the page picker and the first real answer all fit inside the free plan.