Embed Google Fonts tries to automatically replace registered Google Fonts from themes and plugins with local versions, directly loaded from your own server.
- 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
How to use locally stored fonts directly?
It is possible to avoid using Heroku and directly use locally hosted fonts.
- Let the plugin download the fonts
- Click the button in the plugin list overview 😉
- 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
- Let the plugin download the fonts
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
- Divi → Theme Options → General → Performance
- Fixed URL to new download server (Thanks brauni85 via Github)
- Fixed typo in key for locking (Thanks Thomas)
- 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)
- Reverted renaming of _font.css (again)
- 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
- Avoid warning, when removing not existing file
- Added missing Oriya subset (#6)
- Improved stability
- Avoid loading icons from Google Fonts (shows a PHP warning)
- Remove support for Memorable theme
- 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)
- Removed unnecessary error log
- Reverted file name of font.css to _font.css (for simpler WP Fastest Cache exclusion)
- 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
- Improved hoster compatible (used WordPress unzip_file)
- Fixed bug in family detection
- Prepared for first public release
- Fixed missing devanagari subset
- Fixed missing hebrew subset
- Fixed download url
- Uses standard cache folder for the fonts.
- Fonts are loaded and cached locally on the fly now. (from https://google-webfonts-helper.herokuapp.com/fonts)
- Added Work Sans, Karla, Alef, Permanent Marker, Amatic SC, Libre Baskerville, Roboto
- Improved theme compatibility (Elmastudio)
- Added Source Sans Pro and Anton
- Register fonts when needed and not all at the beginning (should improve performance)
- Added Domine
- Added Vollkorn, Montserrat and Forum
- Added Muli and Maven Pro
- Added Poppins and Questrial
- Improved Avada support
- Added Oswald and Indie Flower
- Improved filesystem access
- Added PT Sans
- Use filesystem for detecting embedded fonts
- Added Nunito and Raleway
- Added some fonts
- Hopefully finally fixed URL problems
- Improved url loading
- Reverted renaming
- Renamed _font.css to font.css
- Generic replacement of enqueued fonts
- Initial release