DEV Community

Serguey Asael Shinder
Serguey Asael Shinder

Posted on

Your Sitemap Still Styles Itself With XSLT and Chrome Is About to Stop Running It

Open your sitemap in a browser.

If it shows a tidy table,
with columns and colours,
instead of raw XML,
look near the top of the file.

<?xml-stylesheet type="text/xsl" href="sitemap.xsl"?>

That line asks the browser
to run an XSLT transform
on the document
before showing it.

Browsers have done that
for more than twenty years.

Plenty of SEO plugins
still ship it.

So do RSS feeds
dressed up to look friendly
when someone clicks on them,
and old internal tools
that send an XML report
and let the browser draw it.

Chrome is removing it.

Its engineers call the code
a security liability
used on a tiny share of pages,
and the C library underneath
has had almost nobody
left to maintain it.

People working on the other engines
have backed removal too.

Chrome's published schedule
turns XSLT off
in version 155,
due on 17 November.

An origin trial
and an enterprise policy
keep it alive a while longer,
into 2027,
for sites and companies
that ask.

After that it is gone.

What breaks is narrow
and easy to miss.

The stylesheet instruction
at the top of XML files.

And the XSLTProcessor object,
if any of your JavaScript
transforms documents in the page.

Search for both.

xml-stylesheet
and XSLTProcessor,
across your templates,
your static files
and whatever a plugin generates.

Search engines will not mind.

They read the XML,
never the styled page.

People will.

The help desk will get
a screenshot of raw angle brackets
from someone who clicked a feed.

The fix is dull.

Run the transform on the server,
or at build time,
and serve HTML
to anyone who wants HTML.

XSLT itself is not going anywhere.

Java's transformer,
lxml in Python,
Saxon,
all still work on the server.

Only the browser is stepping out.

There is also a polyfill
that runs the transform in WebAssembly,
if you need time.

Treat it as time,
not as the fix.

And add those old pages
to the browser tests
you already run.

The page nobody has opened in a year
is the one that breaks
with nobody watching.

Features rarely leave browsers.

When one does,
the first sites to notice
are the ones that went looking.

– Serguey Asael Shinder

Top comments (0)