Your article is not sent to the index as you wrote it. It is cleaned up first, and knowing what survives that step explains a few surprises.
What gets stripped
Before indexing, Sohay converts the article to plain text:
- Block and HTML markup is removed, leaving the text and its structure — headings, lists, and tables survive as text.
- Shortcodes are unwrapped, keeping whatever is inside them.
- Scripts, styles, embeds, forms, and media elements are dropped entirely — including their contents.
The practical rule: anything that carries meaning visually rather than in words does not survive. An image of a price table is invisible to the chatbot. A video explaining your return policy is invisible. If something is load-bearing, put it in text as well.
The title is included alongside the body, which is part of why a title shaped like the question retrieves so well.
The length ceiling
Articles are capped at 50,000 characters by default — roughly 8,000 words. Anything past that is cut off.
Almost nothing hits this. If one of yours does, that is usually a sign it should be several articles rather than a longer limit: retrieval hands over whole articles, so a sprawling one crowds out everything else that might have answered the question.
You can change the ceiling under Sohay → KB Settings → Settings, in the Maximum article length field. It accepts values between 1,000 and 200,000 characters, and a value outside that range is clamped on save with a notice telling you what it was changed to.
For higher values than the admin allows:
add_filter( 'sohaychat_kb_max_content_length', function () {
return 400000;
} );
The filter runs after the admin clamp, so it wins.
If an article is empty after processing
An article whose body is entirely images, embeds, or shortcode output can come out empty once cleaned, and it will not index — there is nothing to index. This shows as an error against that article on the Knowledge Base Dashboard.
The fix is to add real text, not to change a setting.
Where to go next
Writing a good Knowledge Base article for what to put in that text, and When a Knowledge Base sync fails for the errors.