Embed Google Fonts

Description

Embed Google Fonts tries to automatically replace registered Google Fonts from themes and plugins with local versions, directly loaded from your own server.

Contribute: https://github.com/moewe-io/embed-google-fonts

Notes

  • The first request might be very slow, as fonts are downloaded and cached the first time they are requested.
  • This doesn’t automatically replace all your Google fonts with local versions. If a plugin/theme doesn’t use WordPress wp_enqueue_style it probably won’t work.
  • Loaded fonts are not optimized, means, the whole font including all subsets is loaded
  • See FAQ for instructions to use locally hosted fonts directly and avoid using Heroku

Thank you: Fonts are downloaded using: https://gwfh.mranftl.com/fonts

FAQ

How to use locally stored fonts directly?

It is possible to avoid using Heroku and directly use locally hosted fonts.

Easy way:

  • Let the plugin download the fonts
    • Click the button in the plugin list overview 😉

Custom way:

  • Create a folder “embed-google-fonts” in your “wp-content” folder
  • For every font create a subfolder, i.e. “embed-google-fonts/open-sans/”
    • Create a file “embed-google-fonts/open-sans/_font.css”
    • Edit your “_font.css” to include rules for loading your local font

Does this work with every theme and plugin?

No, themes and plugins must use wp_enqueue_style to load Google Fonts.
Just try it, if it works, than you are fine.

Does it work with caching plugins?

Generally yes. You may exclude some files, if there are problems.

Does it work with WP Rocket?

Yes, it is working with WP Rocket.

Does it work with WP Fastest Cache?

If you are using WP Fastest Cache, you should create an exclude CSS rule for “_font.css”

Does it work with Divi?

You have to disable

  • Improve Google Fonts Loading and
  • Defer jQuery And jQuery Migrate

in

  • Divi Theme Options General Performance

Reviews

13 An Cèitean 2024
Great, works with DIVI, BLOCKSY & LEARNDASH out of the box!
27 An t-Samhain 2022
I have waited for something like this. Super easy to use and a great way to make your site EU GDPR compliant. Good work!
24 An t-Sultain 2022
I tried some of these plugins because people try to make money from people using google fonts directly in Germany. This one worked like a charm, I just had to get rid of one CSS-Import manually. But there was one request to fonts.googleapis.com/css?family=Open+Sans I could not get rid of. It took me ages to realize, it was from the Wordpress Admin Bar. So you need to check in a fresh brwoser-window, best a private one. Thx to the people behind this plugin!
24 An Lùnastal 2022
Really great, thanks a lot! Works out of the box, prevents from GDPR/DSGVO issues.
Read all 12 reviews

Contributors & Developers

“Embed Google Fonts” is open source software. The following people have contributed to this plugin.

Contributors

“Embed Google Fonts” has been translated into 2 locales. Thank you to the translators for their contributions.

Translate “Embed Google Fonts” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

3.1.1

  • Improved security: Added a nonce and capability (manage_options) check
  • Requires PHP 8.0+ now

3.1.0

  • Fixed URL to new download server (Thanks brauni85 via Github)
  • Fixed typo in key for locking (Thanks Thomas)

3.0.2

  • Allow installation with PHP 7.3, because of high demand (Please note: It is highly recommended to upgrade to newer PHP)
  • Fixed typo (Thanks Jenny)

3.0.1

  • Reverted renaming of _font.css (again)

3.0.0

  • Fonts may be stored locally now and will be loaded from there. This may avoid poor performance, when the remote server isn’t available
    • See FAQ for more information
  • Removed direct Avada support
  • Renamed “_font.css” to “font.css”
  • Added korean subset (Thanks @phl23)
  • Code refactoring

2.3.1

  • Avoid warning, when removing not existing file

2.3.0

  • Added missing Oriya subset (#6)
  • Improved stability

2.2.4

  • Avoid loading icons from Google Fonts (shows a PHP warning)
  • Remove support for Memorable theme

2.2.3

  • Don’t show errors in frontend, when downloading a font didn’t worked.
  • Removed version constant, as it isn’t used (EMBED_GOOGLE_FONTS_VERSION)

2.2.2

  • Removed unnecessary error log

2.2.1

  • Reverted file name of font.css to _font.css (for simpler WP Fastest Cache exclusion)

2.2.0

  • Minor improvements
  • Downloaded fonts will be cleared every 30 days automatically
  • Downloaded fonts will be cleared, when “entire cache” is cleared in WP Rocket
  • Downloaded fonts will be cleared, when cache is cleared in WP Fastest Cache

2.1.0

  • Improved hoster compatible (used WordPress unzip_file)

2.0.6

  • Fixed bug in family detection

2.0.5

  • Prepared for first public release

2.0.4

  • Fixed missing devanagari subset

2.0.3

  • Fixed missing hebrew subset

2.0.2

  • Fixed download url

2.0.1

  • Uses standard cache folder for the fonts.

2.0

  • Fonts are loaded and cached locally on the fly now. (from https://google-webfonts-helper.herokuapp.com/fonts)

1.3.3

  • Added Work Sans, Karla, Alef, Permanent Marker, Amatic SC, Libre Baskerville, Roboto

1.3.2

  • Improved theme compatibility (Elmastudio)

1.3.1

  • Added Source Sans Pro and Anton

1.3.0

  • Register fonts when needed and not all at the beginning (should improve performance)
  • Added Domine

1.2.6

  • Added Vollkorn, Montserrat and Forum

1.2.5

  • Added Muli and Maven Pro

1.2.4

  • Added Poppins and Questrial

1.2.3

  • Improved Avada support
  • Added Oswald and Indie Flower

1.2.2

  • Improved filesystem access

1.2.1

  • Added PT Sans

1.2

  • Use filesystem for detecting embedded fonts

1.1.6

  • Added Nunito and Raleway

1.1.5

  • Added some fonts

1.1.4

  • Hopefully finally fixed URL problems

1.1.3

  • Improved url loading

1.1.2

  • Reverted renaming

1.1.1

  • Renamed _font.css to font.css

1.1.0

  • Generic replacement of enqueued fonts

1.0.0

  • Initial release