Wonderful Selfhosted Fonts icon

Wonderful Selfhosted Fonts

Keep your fonts. Keep requests on your own domain.

Screenshot of Wonderful Selfhosted Fonts

Every web font your site pulls from someone else’s server tells that server who is visiting. Wonderful Selfhosted Fonts lists every one of those requests, shows you which plugin or theme asked for it, and serves the fonts from your own domain instead.

Before a single letter appears on screen, the browser has to send your visitor’s IP address, the referring page and the user agent to Google, Font Awesome or whichever CDN the font came from. In the EU that is a data transfer, and it needs a legal basis — a German court awarded damages over embedded Google Fonts in January 2022 (LG München I, 3 O 17493/20), and a wave of warning letters followed. Serving the fonts yourself removes the request, and with it the problem.

Why another font plugin?

Web fonts arrive on a WordPress site in more than one way. A theme may enqueue a stylesheet, a page builder may write the font CSS straight into the page, and a stylesheet from a CDN may pull in font files of its own. Tools that only filter enqueued stylesheets see the first case and miss the rest — which is why fonts often still load from a third party after a font localiser reports success. This plugin looks in all three places.

  • It names the culprit. Each entry shows the plugin or theme behind the request, together with the stylesheet handle — so you can fix the cause, not just the symptom.
  • It works with page builders. Font CSS written directly into the page is picked up too. Divi is supported through its own filter as well.
  • It mirrors the whole chain. A stylesheet is stored together with the font files it references, and the stored copy points at your own domain.
  • It removes the leftovers. Preconnect and DNS-prefetch hints for hosts you no longer use are dropped — a hint still opens a connection.
  • It respects font licences. Providers whose terms forbid self-hosting — Adobe Fonts, Monotype and the like — are listed with an explanation and never downloaded.
  • It survives a move. Mirrored files reference each other by name, so copying the site from staging to the live domain leaves the fonts working.

Nothing is downloaded until you say so, and nothing happens while a page is being rendered: what a visitor gets is only what is already in the store.

Screenshots

Every web font the site loads from a third-party host, with the plugin or theme that asked for it — before anything is stored locally.

After storing them locally: each stylesheet lists the font files it pulled in, and everything is served from the site's own domain.

After storing them locally: each stylesheet lists the font files it pulled in, and everything is served from the site’s own domain.

Whether your site is compliant overall is a legal question, and no plugin can answer that for you — but this one takes the requests out of the equation.

Version 1.0.0 — View on WordPress.org.

Questions about this tool? Get in touch.