Skip to content

XSLT sitemaps and Chrome 158: what changes and what to replace

Chrome stops applying XSLT on November 17, 2026, so a sitemap styled by an .xsl file loses its design in the browser. Search engines keep reading the XML: the change affects people who open the file, not your rankings.

By

Équipe Maison GR

Product studio, Quebec City

Published

Sources checked

2 min read

01

What changes, and when

Chrome publishes this schedule. Its main reason is security: XSLT 1.0 relies on old code, and Chrome measures about 0.02% of page loads using it.

  • aChrome 158, November 17, 2026: XSLT stops working on Stable releases, except for Origin Trial and Enterprise Policy participants.
  • bChrome 176, August 17, 2027: those two exceptions end, and XSLT is disabled for everyone.
  • cFirefox and WebKit have also indicated plans to remove XSLT, with no date on that page.
02

What doesn't change

The .xsl file only affects what a browser displays. A crawler reads the addresses in the XML without applying it, so your sitemap stays valid for Google and Bing.

XML stays supported, and Chrome says the xml-stylesheet instruction with type="text/css" isn't being removed.

03

Check whether your site is affected

Open your sitemap's source, or run this command. A line containing text/xsl means the file depends on XSLT.

  • acurl -s https://your.site/sitemap.xml | head -5
04

Four ways to replace it

The right choice depends on whether your visitors need this page. For many sites, the first option is enough.

  • aRemove the xml-stylesheet line: the browser shows raw XML. It's the simplest fix, and search engines see no difference.
  • bSwitch to a CSS stylesheet: one file, no server. The text is styled, but CSS can't make the addresses clickable.
  • cTransform the XML on the server: this is one of the routes Chrome suggests. You then write and maintain that rendering yourself.
  • dServe an HTML page to browsers at the same address: a browser opening a page sends Sec-Fetch-Dest: document, and crawlers don't. The page and the XML must list the same addresses, with Vary: Sec-Fetch-Dest and a noindex header on the page.
05

Doing it with maisongr-sitemap

We published that fourth option as a free npm package under the MIT licence. It reads your site's colours, fonts and dark mode, with no XSLT. The command below moves the old sitemap and its .xsl file to a .sitemap-replaced/ folder, and deletes nothing.

  • anpx maisongr-sitemap init --replace
  • bnpm install maisongr-sitemap

To do

The list to keep at hand.

  • Look for text/xsl in your sitemap's source.
  • Decide whether people really need to read this page.
  • Choose between raw XML, CSS, server rendering or an HTML page.
  • Check that the XML is still valid after the change.
  • Resubmit the sitemap if its address changes.

Frequently asked questions

01Does the XSLT removal hurt my SEO?

No. The .xsl file only affects what a browser displays: search engines read the addresses in the XML.

02When does XSLT stop working in Chrome?

On November 17, 2026, with Chrome 158. The Origin Trial and Enterprise Policy exceptions end on August 17, 2027, with Chrome 176.

03Can I keep a stylesheet on my sitemap?

Yes, in CSS. Chrome says xml-stylesheet with type="text/css" isn't being removed, but CSS can't make the addresses clickable.

Related services

→Maison GR

A question about your project? Let's talk.

A senior team member replies within 24 hours with a clear direction.