Written 14 October 2026.
If a fact matters, put it in a visible sentence or a table on the page. In my test, body text survived every tool. Schema and the meta description survived none.
What I measured
On 12 October 2026 I put a made-up marker word in 14 places on one test page and ran it through four common open-source tools that turn HTML into text: BeautifulSoup’s get_text(), html2text, markdownify and trafilatura, all on default settings.
- Kept by all four: body paragraphs, headings and table cells.
- Dropped by all four:
aria-labels,data-attributes, HTML comments, the meta description and JSON-LD. - Image alt text: kept by two of the four.
- Text hidden with
display:none: kept by three of the four.
Test page, script and CSV. You can rerun it in a few minutes.
What to check
Price, date, name, definition → in a sentence or a table
Not only in schema
Not only in the meta description
Not in hidden text you assume nobody reads
Schema and meta descriptions do other jobs. In this test, they were the parts every tool lost. And hidden text isn’t hidden from a parser: most of these tools read the HTML without applying your styles.
What I will not claim
- What ChatGPT, Google or any other engine keeps. I don’t know their pipelines.
- Anything beyond default settings. Most of these tools have options that keep more.
- Anything about pages that need JavaScript, or text inside images.
- Anything beyond one static page on one date.
This is hack 4 on the search hacks page.