By Christopher Diggs, Founder & Principal Engineer
What the parser sees
A résumé that looks perfect on screen can lose its entire education section when a machine reads it. The same is true of your website.
We pulled a well-formatted PDF résumé through the same text extraction an applicant tracking system uses. On screen it was clean: dates on the left, institutions on the right, everything aligned. Extracted, it came out like this:
1997 - 2001 1993 - 1997 1986 - 1990
High Point University United States Navy High Point Central High SchoolEvery date severed from its institution. A machine reading that document cannot tell you where this person went to school or when. The visual alignment that made it readable to a human was a layout artifact with no semantic meaning attached.
Layout is not structure
The same document exported to an older word processor format parsed correctly, because that format preserved the table relationship the PDF had flattened. Two files, generated from the same source, disagreeing about the person's own history.
The skills section had the same problem: a three-column table, read column-wise rather than row-wise, turning a tidy grid into a scrambled list. And every bullet point extracted as a replacement character, because the bullets were glyphs from a symbol font rather than an actual list.
This is your website too
Search crawlers, screen readers, AI assistants, and link previews all read your pages the way that extractor read the résumé: as structure, not as picture. When a heading is a styled div instead of an h1, when a data table is a grid of positioned boxes, when meaningful text lives inside an image, the machine sees something different from what you designed.
You can check in about a minute. Strip the tags from your own page and read what remains:
curl -sL https://yoursite.com/ \
| python3 -c "import sys,re,html;h=sys.stdin.read();\
h=re.sub(r'(?is)<(script|style)[^>]*>.*?</\\1>',' ',h);\
print(html.unescape(re.sub(r'(?s)<[^>]+>',' ',h)))"What comes back is roughly what a crawler has to work with. If the result reads as a coherent document, you're fine. If your headline is missing, your navigation is a wall of undifferentiated words, or your key information simply isn't there, that's what search engines have been indexing.
The fixes are unglamorous
- Use real semantic elements (headings, lists, tables) rather than styled containers that only look like them.
- Keep meaningful text as text. An image of a phrase is invisible to everything that isn't a person looking at a screen.
- Prefer single-column layouts for anything a machine needs to read in order.
- Test the output, not the appearance. The rendered page is the design; the extracted text is the content.
The two files disagreed, and only one was checked
The detail worth sitting with: the same résumé existed in two formats, exported from the same source, and they extracted differently. One preserved the relationship between dates and institutions; the other destroyed it.
Nobody had compared them, because there was no reason to think a format conversion changed meaning. Format conversions are supposed to be lossless in the ways that matter, and mostly they are, until the meaning lives in a layout construct the target format doesn't have.
The same happens on the web every time content moves between systems: a page migrated from one CMS to another, a document exported to HTML, a design handed off as an image. The visual survives. The structure sometimes doesn't, and nothing announces the loss.
What the missing structure costs
- Search engines index a scrambled version of your content, and rank it accordingly.
- Screen readers announce it in the scrambled order, which is an accessibility failure with legal exposure in many jurisdictions.
- AI assistants summarizing your page inherit the same confusion, and confidently pass it on.
- Link previews and social cards pull the wrong text, because they read structure rather than looking at pixels.
Every one of those failures is invisible from a browser. You have to go look at the extracted output, and almost nobody does.
Make it part of review
We now run the extraction check before any site goes live, and again after any migration. It takes a minute per page and catches a category of problem that no visual review can find.
The question to ask isn't whether the page looks right. It's whether the page still means the same thing with the styling removed. If the answer is no, what you have is a picture of a document rather than the document itself.
None of this is about aesthetics. A page can be beautiful and still be illegible to the systems that decide whether anyone finds it.
We build this kind of thing for a living.
Start a conversation