Knowledge baseHow-toAI chatbot

Why Your AI Chatbot Says "I Don't Know": 12 Causes and Fixes

Twelve reasons an AI chatbot cannot find answers that are on your website, from JavaScript pages and scanned PDFs to stale syncs, each with a check and a fix.

PepoChat TeamPublished Last verified 16 min read
A woman with long brown hair looks doubtfully at her laptop screen in front of white bookshelves

Short answer

When an AI chatbot says "I don't know" about something your website covers, the text usually never reached its knowledge base or was split where retrieval cannot match it. As of October 2026, twelve causes explain most cases: JavaScript-built pages, robots.txt rules, logins, crawl limits such as PepoChat's 200 pages and 3 levels, size caps, scanned or multi-column PDFs, answers in images or accordions, stale syncs, conflicting pages and wording mismatch. A Q&A pair fixes most single misses.

You ask your chatbot about your returns window, the answer sits on your returns page, and the bot says it has no information. The failure mirrors a hallucination: instead of inventing an answer, the bot cannot reach one that exists. The guide to stopping chatbot hallucinations covers confident wrong answers; the guide below covers missing ones.

The guide is for site owners and support leads running an AI support agent trained on their own website and documents. It covers how retrieval works, twelve causes with a two-minute check each, a four-step diagnostic routine, and when "I don't know" is the right reply.

PepoChat is our product. Its behaviour below was read in its importer and search code and its documentation on 19 October 2026, when we also ran its HTML converter on test pages; every external source was read the same day. Most causes apply to any chatbot that learns from a website.

How does an AI chatbot find answers on your website?

An AI chatbot finds answers by searching a stored copy of your content for the passages closest in meaning to the question, then replying from those passages only. The method is retrieval-augmented generation (RAG), a language model paired with a searchable store of text, described by Patrick Lewis and colleagues in a 2020 NeurIPS paper. Anything missing from the store is missing from the answers.

In PepoChat, as of October 2026, the importer fetches each page's published HTML, keeps the main content and converts it to text, which is split into passages of about 1,000 characters at line breaks. Each passage is stored as an embedding, a list of numbers that represents its meaning. A visitor's question is embedded the same way, and the eight closest passages, up to 12,000 characters, go to the model without the text around them.

If none of those passages answers the question, PepoChat's agent says it has no specific information in its knowledge base and offers to bring in a person. Causes 1 to 9 below stop text from reaching the store; causes 10 to 12 leave it stale, contradictory or hard to match. The RAG explainer for non-engineers covers each step in depth.

A hand flips through a drawer of typed library catalogue cards with blue index tabs in a dark wooden cabinet
Retrieval works like a card catalogue: PepoChat's agent pulls the eight passages closest to the question, never the whole library, so an answer filed out of reach stays unread.

Why does my chatbot keep saying it doesn't know? The 12 causes

A chatbot keeps saying it does not know when the answer never reached its knowledge base, or reached it in a shape the search step cannot match. Each row gives the symptom, likely cause, a two-minute check and the fix.

#SymptomLikely causeTwo-minute checkFix
1A page is imported, but none of its answers come backThe text is built by JavaScript after the page loadsView Page Source and search for a sentence from the answerServer-side render or pre-render the page, or add the text as a document or Q&A pair
2A whole folder is missing, or the import fails outrightrobots.txt disallows the path for all crawlersRead the Disallow lines under User-agent: * in your robots.txtNarrow the rule, or paste those pages as individual links
3Account, member or intranet answers are missingA login, paywall, cookie wall or private network addressOpen the page in a private window while signed outUpload the content as documents, or sync it from Notion or Google Drive
4Pages deep in a large site are missingThe crawl reached 200 pages or 3 levels, met another subdomain, or a path filter skipped itCompare the source list with your sitemapSitemap import, or a second import started at the missing section
5One long page or new uploads fail to importA page over 5 MB, a server slower than 25 seconds, or a full text capThe import card's failed count and the usage figureSplit the page, remove old sources or upgrade
6A PDF is listed, but parts of it are never answeredScanned pages inside a mostly digital PDFTry to select text on every pageUpload the scanned pages as their own PDF or as images
7Answers from a PDF mix up columns or pricesMulti-column layout or tables read line by linePaste a page into a plain text editorUpload the Word or HTML original, or restate the facts as sentences
8The bot cannot answer what a chart, photo or map showsOnly an image's alt text is kept; iframes and video are droppedSearch the page source for the fact as textWrite the fact as text, or upload the image file
9FAQ questions, tab labels or footer details are missingButtons, aria-hidden blocks, footers and menus are droppedFind the missing text in the source: inside a button, a hidden block or the footer?Headings or details and summary; move facts into the main content
10The bot quotes an old price or misses a new pageThe stored copy predates the change, or a deleted page lingersAsk the test drawer about the changed factSync website pages, Import again, delete removed pages
11Answers flip between two versionsTwo sources disagree, or duplicates crowd the top passagesLook for old copies and duplicate addresses in the source listKeep one source per fact; replace instead of adding
12One wording works and another failsThe visitor's words are far from yours, or the answer sits apart from its headingAsk the question three ways in Test the agentA Q&A pair in the visitor's words; answer first under each heading

Last verified 19 October 2026 in PepoChat's code and documentation.

Why can't the chatbot see pages that are on my website?

A chatbot cannot see a page when its importer received something different from what you see: an empty shell before scripts run, a refusal, a login wall, or no visit at all. Causes 1 to 5 show up as missing or near-empty sources.

1. The content is built by JavaScript

A JavaScript-built page sends a nearly empty HTML file and fills in the text with scripts. PepoChat's importer reads the published HTML and runs no scripts, so it stores only what the server sent. Google's JavaScript SEO basics describe a separate rendering step for Googlebot, still recommend server-side rendering or pre-rendering, and warn that "not all bots can run JavaScript".

To check, choose View Page Source rather than Inspect, which shows the page after scripts ran, and search for a sentence from the missing answer. If the sentence is absent, ask your developer for server-side rendering, or add the text as a document or Q&A pair. Script-drawn menus fail the same way, because PepoChat's crawler follows only real <a href> links in the HTML.

2. robots.txt blocks the path

robots.txt is a plain-text file at the root of a site that tells crawlers which paths to skip. PepoChat honours the Disallow lines under User-agent: * on every crawl and sitemap import. The standard, RFC 9309, lets a more specific Allow line reopen part of a blocked folder, but PepoChat ignores Allow lines and errs on the side of not fetching.

To check, read the rules under User-agent: * in your robots.txt. A file that blocks everything there and allows only named search engines blocks the whole import, and a crawl then fails with "All pages failed to import". A noindex tag does not block PepoChat. To keep a rule for other bots, paste the pages you need as individual links, which skip robots.txt but count as one knowledge source each.

3. The page needs a login or sits on a private network

PepoChat's importer sees what an anonymous visitor's first request sees, so pages behind a login, a paywall, a cookie wall or a bot check fail or arrive as the wall's own text. Addresses on private networks, such as localhost, 192.168 ranges or hostnames ending in .local, are refused. To check, open the page in a private window while signed out.

Members-only answers belong in the knowledge base as uploaded documents, synced pages or Q&A pairs. The guide to building a chatbot from Notion and Google Drive shows how to keep synced content current. Anything you add can be quoted to any visitor, so leave out what only members should read.

4. The crawl stopped before it reached the page

A PepoChat crawl follows same-site links breadth first and stops at 200 pages or 3 levels from the start address, as of October 2026. On a large site the 200 places fill with whatever is linked first, often blog or product pages. The crawler treats www and the bare domain as one site but never moves to help.example.com, and it does not follow links to files such as PDFs.

Include and exclude paths also decide which pages a crawl walks through, so a section reachable only through excluded pages is never found. To check, compare the source list with your sitemap. To fix, import the sitemap, or crawl from the section's own address with an include path such as /help. A second import of the same site counts as the same knowledge source.

5. A size limit stopped the import

PepoChat skips pages larger than 5 MB and gives up on servers that take more than 25 seconds to respond. Uploads can be 25 MB each, and all stored text counts toward the plan's cap: 20 MB on Free, 200 MB on Starter and 1 GB on Growth. Once the cap is reached, new pages fail one by one and changed pages stop updating.

To check, read the import card, which counts failed pages but does not name them, and the usage figure on the Knowledge Base page. Split oversized pages, delete sources you no longer need, or compare the caps on the pricing page.

Why does a chatbot trained on a PDF give no answer?

A PDF gives no answer when its words are not stored as text, or are stored in an order that no longer makes sense.

6. The PDF is a scan, or contains scanned pages

A scanned page is a picture of text with no text layer, the hidden copy of the words that lets you select and search them. As of October 2026, PepoChat decides per file: a PDF whose text layer averages fewer than 40 characters a page goes to a vision model that transcribes it, and any other PDF is read from its text layer alone, so scanned pages inside it, such as a signed form, contribute nothing.

To check, try to select words on each page in a PDF viewer; pages where you cannot are scans. Upload those pages as a separate PDF or as images, or upload a text PDF exported from the original, which the upload documents guide recommends.

7. The PDF has columns or tables

PepoChat reads a PDF's text in the order it is stored and joins words on the same baseline into one line. Two columns can interleave, depending on how the file was made, and a table row becomes a run of words and numbers with its headings lines away. Long tables lose their headings in any format: in our test, PepoChat's splitter turned a 40-row table into two passages, and the second held 14 rows and no header row.

To check, paste a page from your PDF viewer into a plain text editor for a rough preview. Upload the Word or HTML original instead, and restate key facts, such as prices, as sentences or Q&A pairs.

Why are answers in images, accordions and footers invisible to the chatbot?

PepoChat's importer keeps text, not pictures, and drops page furniture so that menu text cannot drown out real answers. Some FAQ and contact page designs put the answer exactly where it stops reading.

8. The answer is in an image, a video or an embed

From a web page, PepoChat keeps only an image's alt text and drops iframes, video, audio and canvas elements. A size chart saved as a PNG, or opening hours inside an embedded map, reach the knowledge base as a few words of alt text at best. To check, search View Page Source for the fact as text. Write it on the page, which helps screen-reader users too, or upload the image file: uploaded JPG, PNG, WebP and GIF files are read by a vision model.

PepoChat's converter keeps a page's main content: a single <article> element if there is exactly one, otherwise <main>, otherwise the body. It drops navigation, the site header and footer, sidebars, forms, dialogs, blocks marked aria-hidden="true" and <button> elements with their text. The W3C's accordion pattern puts each accordion title in a button, so many FAQ accordions arrive as answers without questions.

On a test FAQ page on 19 October 2026, a question inside a <button> vanished while its answer stayed, an aria-hidden answer panel vanished whole, a <details> and <summary> pair survived, and the footer's opening hours were gone. A test pricing page whose only <article> was a customer quote kept the quote and lost the prices.

To check, see what wraps the missing text in View Page Source. Use a heading followed by the answer, or <details> and <summary>, and put opening hours and addresses in the body of your contact page. The FAQ page guide covers accordion design for people and crawlers.

Why is the chatbot's knowledge base not updating?

A knowledge base changes only when a source is fetched or uploaded again, and a source you no longer want stays until you delete it.

10. The page changed after the last fetch

PepoChat re-fetches website pages weekly and re-indexes only pages whose words changed; Sync website pages, at the top of the Knowledge Base page, does the same on demand. A sync refreshes only known pages, so a new page needs Import again on its import's card. A page deleted from your site stays in the knowledge base until you delete its row, because a sync keeps the stored copy of a page that no longer loads.

To check, ask the test drawer about the fact you changed. After a price or policy change, sync instead of waiting a week, and replace a document by uploading a file with the same name, as the manage sources docs describe. Our own demo bot quoted a plan we had already removed from the site, three days after the change, in our test of nine vendors' support bots.

11. Two sources disagree, or duplicates crowd the answer out

When an old PDF says 30 days and the returns page says 14, retrieval can return both, and the agent may quote either. Duplicates do quieter damage: with eight passages per question, near-identical copies of one page can push out the passage holding the deciding detail. One file uploaded under two names is stored twice, and so is one page under two addresses, such as with and without a query string.

To check, look in the source list for old versions and addresses that differ only after a question mark. Keep one source per fact, and date facts in the text: "As of October 2026, returns are accepted within 14 days."

Why does the chatbot miss an answer it already has?

Retrieval compares passages, not pages, and matches meaning, which bridges many differences in wording but not all.

12. The visitor's words are far from yours

Internal product names, abbreviations and headings far from their answers all weaken the match between a question and a passage. Structure matters as much: in our test of PepoChat's splitter, the heading "Do you ship to Canada?" followed by a paragraph of about 1,000 characters became three passages, with the heading alone in the first and the delivery time alone in the last.

Anthropic's contextual retrieval research, published in September 2024, found the same: passages stripped of their context are hard to retrieve, and adding context to each passage cut failed retrievals by 35% in its tests. To check, ask the question three ways in the Test the agent drawer. Fix it with a Q&A pair in the visitor's words, and put each answer in the first sentence under its heading.

How do you diagnose a chatbot that can't find an answer?

Work from the reply back to the source in four steps, and stop at the first step that explains the miss.

  1. Test the agent with the exact question. On the Knowledge Base page, click Test the agent and type the visitor's question word for word, then two rewordings. Test chats are free and stay out of analytics; one wording working while another fails points to cause 12.
  2. Check the source list. Find the page address or file name in the Knowledge Base list. No row points to causes 2 to 5; a row sends you to View Page Source or the PDF itself for causes 1 and 6 to 9.
  3. Re-import the source. Click Sync website pages for a changed page or Import again for a new one, or upload a file with the same name to replace a document, then repeat step 1.
  4. Add a Q&A pair. Open Knowledge Base → Add New → Text & Q&A, choose Q&A, enter the question as the visitor asked it and the answer you want, then save. The agent uses a new pair within moments, and Q&A pairs do not count as knowledge sources.

Then fix the page too, worded like the pair so the two never disagree. The troubleshooting docs explain the messages you may meet along the way.

A black magnifying glass rests on a small open book on a wooden table beside a larger open book
The quickest check is the source itself: if a sentence from the answer is not in View Page Source, or cannot be selected in the PDF, an importer that reads only text will not find it.

Which fixes prevent most "I don't know" replies?

Three habits prevent most misses: Q&A pairs for your top 20 questions, one answer per heading with the answer first, and a sitemap import instead of a blind crawl.

Q&A pairs for the top 20 questions. Take the 20 questions visitors ask most from your inbox and the Topics card in Analytics, and write each as a Q&A pair. PepoChat stores the question with its answer, so retrieval matches the visitor's phrasing. A Free workspace holds 100 text snippets and Q&A pairs, and a paid plan 1,000.

One answer per heading, answer first. Phrase each heading as the question and open with the answer, naming the subject again: "Delivery to Canada takes 5 to 7 business days" survives being cut from its heading, while "It takes 5 to 7 days" does not.

A sitemap import. PepoChat's sitemap import takes the first 200 addresses in your sitemap, follows a sitemap index one level down and accepts include and exclude paths, so menus, link depth and scripts no longer matter.

How do you check that a fix worked?

Ask the exact question that failed in the Test the agent drawer and compare the reply with the page, sentence by sentence. As of October 2026, PepoChat does not show which passages a reply drew on, so a correct figure in the reply is the evidence.

Then ask two rewordings and one question your content should not answer, to confirm the fix did not make the agent guess. A week later, filter the team inbox by Escalated to confirm the question has stopped arriving, and rerun the questions from the launch checklist.

When is "I don't know" the right answer?

"I don't know" is correct when the information is not in your content, depends on data the agent cannot see, or falls under a rule you set, and stuffing the knowledge base with guesses makes answers worse. PepoChat's base rules make the agent search first, never invent and offer a person, and agent instructions cannot switch them off.

Order and billing questions need a live lookup, so connect Shopify, WooCommerce or Stripe rather than writing more pages. Topics you never want answered, such as discounts, belong in the Never do this instructions. Either way, the fallback message examples give 20 replies that leave the visitor a way forward.

To keep finding these gaps after launch, follow the monthly transcript review routine.

What to do next

  • Run the four-step routine on the last five questions your agent could not answer, starting from the Escalated filter in the team inbox.
  • If whole sections are missing, rebuild the import with the guide to training a chatbot on your website and PDFs, using a sitemap import with include paths.
  • To try the checks on your own content, create a free workspace: imports, Q&A pairs and the Test the agent drawer are on every plan, including Free.

Frequently asked questions

Why does my chatbot not know things that are on my website?
Usually because the text never reached its knowledge base, or reached it in a form the search step cannot match. Common causes are pages built by JavaScript, robots.txt rules, logins, crawl limits, scanned PDFs, answers inside images, accordions or footers, and stale copies. Ask the exact question in a test chat, check the page is in the source list, re-import it, then add a Q&A pair.
Can chatbots read JavaScript-rendered pages?
Many cannot. Google renders JavaScript for search in a headless Chromium browser, but its own documentation warns that not all bots can run JavaScript. As of October 2026, PepoChat's importer reads the published HTML without running scripts, so text that appears only after scripts run is invisible to it. Check with View Page Source, and use server-side rendering or upload the content as a document.
Why does a PDF upload produce no answers?
Usually the PDF has no usable text layer, or its text comes out in the wrong order. Scanned pages are pictures of text, and as of October 2026 PepoChat sends a file to a vision model only when the whole file has almost no text layer, so scanned pages inside a digital PDF are lost. Upload scanned pages separately, and use the original document for columns and tables.
How often should a chatbot re-crawl my site?
Weekly suits most sites, plus a manual refresh after any price or policy change. As of October 2026, PepoChat re-fetches website pages every week and re-indexes only pages whose words changed, and Sync website pages does the same on demand. A sync refreshes only pages it already has, so new pages need Import again, and pages deleted from your site must be removed by hand.
How do I check which pages the chatbot actually has?
Compare the knowledge base's source list with your sitemap. In PepoChat, as of October 2026, the Knowledge Base page lists every imported page by address, and each import card shows how many pages failed, though not which ones. For a page that is listed but still unanswered, search View Page Source for the answer text, then ask the question in the Test the agent drawer.
Is it better to upload files or crawl the site?
Use both, for different content. Crawl the site or import its sitemap for public pages, which then stay current through the weekly re-fetch. Upload files for content that is not on the site, sits behind a login or exists only as documents. In PepoChat, as of October 2026, a whole crawl or sitemap import counts as one knowledge source, each uploaded file as one, and Q&A pairs as none.

Try this on your own site in ten minutes

PepoChat includes every feature on the free plan — 200 AI replies and 5 knowledge sources a month, no credit card.