machinelayer.org/

reach

A page can render perfectly and be broken for machines

The failure that is hardest to catch, because from where you sit the thing exists and is correct.

r-05 · unclassified

A site published a detailed machine-readable manifest of its contents at its own URL — and search systems had no structured view of it at all, because one of the major ones does not read arbitrary JSON files. Its own structured data said the collection had six parts and enumerated none of them. It could be seen that six things existed, and not what they were.

Two failures in one page, and the same shape twice. Declaring that something exists is not the same as saying what it is, and publishing a file is not the same as publishing it somewhere anything will look. Both fail silently — there is no error, no warning, and nothing on your screen looks wrong.

The same shape shows up in smaller places. Anything embedded rather than served is the usual culprit: a resource inlined into your HTML gives a crawler nothing to request, however perfectly it renders for you.

It happened again, on this site, while that paragraph was already published.

r-06 · unclassified

This site shipped for weeks with the failure it describes above. Its machine-readable index listed six pages, three of which had been renamed or deleted, so half of its links returned 404. Nothing on any of its seven pages linked to that index at all. Two pages carried HTML entities inside their structured data, so a parser read one title as What didn't work. Every page rendered correctly and nothing in a browser looked wrong.

Two sites, two different mechanisms, one shape. The second is the more useful case of the two, because that site had already published the fix for the first — followable links to the machine-readable files — and had not applied it to itself. Writing the rule is not what catches this, and neither is reading the page.

What caught it was fetching every URL the site published and parsing what came back, which is a different act from looking at the site. The rendered page is not the artifact a machine receives, and only one of the two reports when it breaks.