TypeFlow Font Loader for Google Fonts

Plugin Banner

TypeFlow Font Loader for Google Fonts

by sebastianhornoi

Download
Description

FontPress for Google Fonts makes it easy to add beautiful Google Fonts to your WordPress site through the Customizer. No coding skills needed!

Two Loading Modes:

๐Ÿ›ก๏ธ Self-Hosted (Recommended) – Fonts downloaded to your server. 100% GDPR-compliant, no external requests, no consent needed.

โ˜๏ธ Google CDN – Loads from Google servers. Requires user consent under GDPR.

Features:

  • ๐ŸŽจ Choose from 15+ popular Google Fonts
  • โœ๏ธ Or manually enter any Google Font name
  • ๐Ÿ“ Separate fonts for headings, body, and navigation
  • โš–๏ธ Select multiple font weights (100-900)
  • ๐Ÿ”’ Self-hosted mode for privacy compliance
  • ๐Ÿš€ Performance optimized with font-display: swap
  • โšก Preconnect hints for faster loading (CDN mode)
  • ๐Ÿงน Automatic cleanup of unused fonts
  • ๐Ÿ“ฆ No external dependencies
  • ๐Ÿชถ Lightweight and fast

Perfect for:

  • Non-developers who want beautiful typography
  • GDPR-compliant websites (EU)
  • Privacy-focused sites
  • Theme customization without child themes
  • Quick font testing and experimentation

How it works:

  1. Install and activate the plugin
  2. Go to Appearance Customize Google Font Settings
  3. Choose loading method (Self-Hosted recommended)
  4. Select your fonts from presets or enter custom names
  5. Choose font weights
  6. Publish and enjoy beautiful typography!

Privacy Policy

This section explains how Google Font Loader handles user data and external requests.

Two Loading Modes

This plugin offers two distinct loading modes with different privacy implications:

Self-Hosted Mode (Default & Recommended)

No external requests are made in self-hosted mode:

โœ… Fonts are downloaded once from Google Fonts API and stored on your server
โœ… All subsequent requests are served from your own domain
โœ… No visitor data is transmitted to third parties
โœ… 100% GDPR-compliant without requiring user consent
โœ… No cookies are set
โœ… No IP addresses are logged or transmitted

How it works:
1. When you select a font in the Customizer, the plugin downloads it from Google Fonts API
2. Font files are stored in /wp-content/uploads/google-fonts/
3. Visitors’ browsers load fonts from your server, not Google’s

Initial download from Google: The plugin makes a one-time request to Google Fonts API when you first select a font. This happens from your server (not visitors’ browsers) and only transmits:
– Font family name
– Requested weights
– Your server’s IP address (not visitors’)

Google CDN Mode

External requests ARE made in Google CDN mode:

When you enable Google CDN mode and check the consent checkbox, this plugin loads fonts from Google’s servers:

  • fonts.googleapis.com – Font CSS stylesheets
  • fonts.gstatic.com – Font files (WOFF2, TTF, etc.)

What this means:

โš ๏ธ Your site makes HTTP requests to Google’s servers
โš ๏ธ Visitor IP addresses may be transmitted to Google
โš ๏ธ Google’s Privacy Policy applies: https://policies.google.com/privacy
โš ๏ธ Google may collect analytics data about font usage
โš ๏ธ Data may be transferred to Google LLC in the USA

Important: These external requests only occur when you explicitly:
1. Select “Google CDN” as loading method
2. Check the “I have obtained user consent” checkbox

Without both of these, no external requests are made.

Data Storage

This plugin stores the following settings in your WordPress database (as WordPress options):

  • gfl_loading_method – Loading mode (self_hosted or cdn)
  • gfl_heading_font_select – Selected heading font (preset)
  • gfl_heading_font_manual – Custom heading font name
  • gfl_heading_weights – Heading font weights
  • gfl_body_font_select – Selected body font (preset)
  • gfl_body_font_manual – Custom body font name
  • gfl_body_weights – Body font weights
  • gfl_menu_font_select – Selected menu font (preset)
  • gfl_use_google_cdn – Consent checkbox status (true/false)

Font files storage (Self-Hosted mode only):
* Downloaded font files (.woff2, .ttf, etc.) are stored in /wp-content/uploads/google-fonts/
* Organized by font family name (e.g., /google-fonts/roboto/)
* Files include .htaccess for CORS headers and index.php for security

Data retention:

  • Settings persist until you uninstall the plugin
  • Font files persist until you uninstall or regenerate fonts
  • All data is automatically deleted when you uninstall the plugin via WordPress admin
  • No personal user data is collected or stored
  • No visitor tracking or analytics

What This Plugin Does NOT Do

  • โŒ Track individual users or visitors
  • โŒ Set cookies (in either mode)
  • โŒ Collect analytics or usage statistics
  • โŒ Store visitor IP addresses
  • โŒ Collect personal information
  • โŒ Share data with advertisers
  • โŒ Send data to third parties (except Google Fonts API when explicitly enabled)
  • โŒ Phone home or check for updates from external servers

Third-Party Services

Google Fonts API

Self-Hosted Mode:
– ONE-TIME server-to-server request when you select a font
– No ongoing connections
– No visitor data transmitted

Google CDN Mode (when enabled):
– Ongoing requests from visitors’ browsers
– Google’s privacy policy applies: https://policies.google.com/privacy
– Terms of Service: https://policies.google.com/terms
– Google Fonts FAQ: https://developers.google.com/fonts/faq

GDPR Compliance Recommendations

If Using Self-Hosted Mode (Recommended)

โœ… No action needed – Self-hosted mode is GDPR-compliant by default

You may want to mention in your privacy policy:

“This website uses custom fonts to improve typography. Font files are hosted on our own servers and no data is transmitted to third parties.”

If Using Google CDN Mode

โš ๏ธ User consent is required under GDPR and similar privacy regulations.

You MUST:

  1. Implement a cookie consent banner – Although no cookies are set, consent is required for data transmission
  2. Update your privacy policy with this information:

“This website uses Google Fonts to improve typography and user experience. Google Fonts are loaded from Google’s servers (fonts.googleapis.com and fonts.gstatic.com), which means your IP address and browser information are transmitted to Google LLC when you visit our site. Google is located in the USA and may process this data under US privacy laws. For more information, see Google’s privacy policy at https://policies.google.com/privacy”

  1. Document data flows – Include Google Fonts in your GDPR Article 30 records
  2. Consider a Data Processing Agreement – Check if Google offers DPA for Google Fonts
  3. Inform users – Make clear what data is transmitted and why

Example privacy policy section:

Google Fonts

This website uses Google Fonts provided by Google LLC. When you visit our site, your browser connects to Google’s servers to download font files. In this process, Google receives:
– Your IP address
– Browser type and version
– Operating system
– Referrer URL
– Date and time of access

Google Fonts Privacy Policy: https://policies.google.com/privacy

Legal basis (GDPR): Consent (Art. 6 para. 1 lit. a GDPR)

You can opt out by disabling custom fonts in your browser settings.

Data Processing Locations

Self-Hosted Mode:
– All data processed on your WordPress server (your hosting location)
– No third-party data processing

Google CDN Mode:
– Data transmitted to Google LLC servers worldwide
– Google’s primary data centers are in the USA
– Subject to US privacy laws (including CLOUD Act)

Your Rights

As a website administrator using this plugin, you have the right to:

  • Access all data stored by the plugin (Appearance Google Fonts dashboard)
  • Delete all data (uninstall the plugin)
  • Export settings (WordPress Export tool)
  • Switch between Self-Hosted and CDN mode at any time

As a website visitor:
* In Self-Hosted mode: No personal data is collected
* In CDN mode: See Google’s privacy policy for your rights

Contact

For privacy-related questions about this plugin:

  • Plugin Author: Sebastian Hornoi
  • Website: https://sebastianhornoi.com/
  • Email: sebastian@sebastianhornoi.com
  • Support: https://wordpress.org/support/plugin/google-font-loader/

For questions about Google’s data practices:

  • Visit: https://policies.google.com/privacy
  • Contact: https://support.google.com/policies/

Last updated: February 13, 2026

Legal Disclaimer

This privacy policy describes how the Google Font Loader plugin works. It does not constitute legal advice.

You are responsible for:
* Ensuring your use of this plugin complies with applicable laws
* Implementing appropriate consent mechanisms if required
* Updating your own privacy policy accordingly
* Consulting with a legal professional about your specific obligations

The plugin author provides this software “as is” and makes no warranties about GDPR or other legal compliance.

Additional Information

Browser Compatibility:

  • Chrome/Edge (latest 2 versions)
  • Firefox (latest 2 versions)
  • Safari (latest 2 versions)
  • Opera (latest version)
  • Internet Explorer 11+ (basic support)

WordPress Compatibility:

  • Requires WordPress 5.0 or higher
  • Tested up to WordPress 6.7
  • Works with WordPress Multisite
  • Compatible with major page builders (Elementor, Beaver Builder, Divi)
  • Works with block editor (Gutenberg)

PHP Compatibility:

  • Requires PHP 7.4 or higher
  • Tested with PHP 8.0, 8.1, 8.2, 8.3
  • Uses modern PHP features while maintaining backward compatibility

Server Requirements:

  • WordPress 5.0+
  • PHP 7.4+
  • Write permissions for /wp-content/uploads/
  • At least 10MB free disk space for font storage (Self-Hosted mode)
  • cURL or allow_url_fopen enabled for downloading fonts

Performance:

  • Self-Hosted mode: ~2-5 seconds initial font download per family
  • Ongoing: No performance impact (fonts served from local cache)
  • CDN mode: Instant (fonts served from Google’s global CDN)
  • Plugin size: ~50KB (without font files)

Support:

  • Documentation: https://sebastianhornoi.com/docs/fontpress-google-fonts/
  • Support Forum: https://wordpress.org/support/plugin/fontpress-google-fonts/

Roadmap:

Future versions may include:
* Per-page font selection
* Font subset selection (Latin, Cyrillic, Greek, etc.)
* Variable fonts support
* Custom font upload
* Font pairing suggestions
* Preview mode in Customizer
* Import/Export settings

Credits

Special Thanks:

  • WordPress Plugin Review Team for guidance
  • Early beta testers and contributors
  • The Google Fonts team for their amazing font library

Frequently Asked Technical Questions

Does this work with page builders?

Yes! The plugin works with Elementor, Beaver Builder, Divi, and other major page builders. Fonts are loaded site-wide via WordPress hooks.

Can I use this with a child theme?

Absolutely! The plugin works independently of your theme. You can switch themes without losing your font settings.

Does it support RTL languages?

Yes, the plugin supports RTL (Right-to-Left) languages. Make sure to select fonts that include RTL character sets from Google Fonts.

Can I disable fonts on mobile devices?

Not directly through the plugin. However, you can use CSS media queries in your theme to override font settings on mobile.

How do I backup my font settings?

Font settings are stored in the WordPress database. Use any WordPress backup plugin or export via Tools Export in WordPress admin.

Settings to backup:
– All options starting with gfl_
– Font files in /wp-content/uploads/google-fonts/ (Self-Hosted mode)

Can I migrate fonts between sites?

Yes! If both sites use self-hosted mode:
1. Copy font settings from database (export/import)
2. Copy /wp-content/uploads/google-fonts/ directory
3. Both sites will have identical fonts

Does this work with WordPress Multisite?

Yes! Each site in a Multisite network can have independent font settings.

How do I update fonts after switching modes?

  1. Change loading method in Customizer
  2. Go to Appearance Google Fonts
  3. Click “Regenerate All Fonts” (Self-Hosted mode)
  4. Fonts will be re-downloaded or switch to CDN

What happens if Google Fonts API is down?

Self-Hosted Mode: Your site continues to work normally. Fonts are already downloaded and cached.

Google CDN Mode: Fonts may not load, but the browser will fall back to system fonts (sans-serif). Your content remains accessible.

Can I customize the CSS applied to fonts?

The plugin applies fonts to standard HTML elements (body, h1-h6, nav). For custom CSS, you can:
1. Use Appearance Customize Additional CSS
2. Add custom selectors targeting the font families loaded by the plugin

How do I contribute or report bugs?

  • Support Forum: https://wordpress.org/support/plugin/fontpress-google-fonts/
  • Direct contact: sebastian@sebastianhornoi.com

Automatic installation:

  1. Go to Plugins Add New
  2. Search for “Google Font Loader”
  3. Click Install Now
  4. Activate the plugin

Manual installation:

  1. Upload the plugin files to /wp-content/plugins/google-font-loader/
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. Go to Appearance Customize Google Font Settings
  4. Select fonts and weights
  5. Click “Publish”

First-time setup:

After activation, go to Appearance Google Fonts to see the status dashboard and configure your fonts in the Customizer.

  1. WordPress Customizer showing Google Font Settings panel with self-hosted mode (GDPR-compliant) selected and live preview of font changes

    WordPress Customizer showing Google Font Settings panel with self-hosted mode (GDPR-compliant) selected and live preview of font changes

  2. Admin dashboard displaying font loading status with self-hosted mode enabled, downloaded fonts count, storage location, and regeneration tool

    Admin dashboard displaying font loading status with self-hosted mode enabled, downloaded fonts count, storage location, and regeneration tool

  3. Frontend example showing Montserrat font applied to headings and Poppins font applied to body text with clean, professional typography

    Frontend example showing Montserrat font applied to headings and Poppins font applied to body text with clean, professional typography

  4. Browser inspector demonstrating successfully loaded fonts with technical details including font weights and accessibility contrast information

    Browser inspector demonstrating successfully loaded fonts with technical details including font weights and accessibility contrast information

  5. WordPress admin menu with easy access to Google Fonts settings under Appearance section

    WordPress admin menu with easy access to Google Fonts settings under Appearance section

Why aren’t my fonts loading?

Make sure you’ve selected fonts in Appearance Customize Google Font Settings. If using Google CDN mode, you must also check the consent checkbox.

What’s the difference between Self-Hosted and Google CDN mode?

Self-Hosted (Recommended):
โœ… Fonts downloaded to your server (wp-content/uploads/google-fonts/)
โœ… No external requests to Google
โœ… GDPR-compliant without user consent
โœ… Better performance (fonts cached locally)
โœ… Works offline

Google CDN:
โš ๏ธ Fonts loaded from Google servers
โš ๏ธ User IP addresses transmitted to Google
โš ๏ธ Requires user consent under GDPR
โœ… Smaller initial download (no fonts in plugin)

Can I use any Google Font?

Yes! Use the “Manual” input fields to enter any Google Font name. Check Google Fonts for the complete list of 1,500+ available fonts.

Which font weights can I use?

Valid weights are: 100, 200, 300, 400, 500, 600, 700, 800, 900. Separate multiple weights with semicolons (e.g., 400;700).

Invalid weights are automatically filtered out.

Will this slow down my site?

No! The plugin uses performance best practices:
* Self-hosted mode: Fonts cached on your server
* font-display: swap for instant text rendering
* Preconnect hints in CDN mode
* Minimal HTTP requests
* Automatic cleanup of unused fonts

Is this GDPR compliant?

Self-hosted mode: YES – 100% GDPR-compliant without requiring user consent.

Google CDN mode: Requires explicit user consent. You must:
* Implement a cookie consent banner
* Add Google Fonts info to your privacy policy
* Document data transfer to Google (USA)

Where are self-hosted fonts stored?

Fonts are downloaded to /wp-content/uploads/google-fonts/ and organized by font family name.

The plugin automatically creates this directory with proper permissions and security files (.htaccess, index.php).

Can I use custom/local fonts I already have?

Not in the current version. This plugin only works with Google Fonts (either self-hosted or from CDN).

For custom fonts, consider using a CSS @font-face declaration in your theme.

Does it work with my theme?

Yes! The plugin uses standard WordPress hooks and should work with any well-coded theme. Font styles are applied with appropriate CSS specificity.

If your theme has very specific font declarations, you may need to adjust CSS priority in your theme.

Can I use different fonts for different pages?

Currently, fonts are applied site-wide. Per-page font selection may be added in future versions.

Will this conflict with other font plugins?

The plugin checks for existing Google Fonts stylesheets to avoid duplicates in CDN mode. However, it’s recommended to use only one font loading solution.

If you’re switching from another font plugin, deactivate it first.

How do I regenerate fonts?

Go to Appearance Google Fonts and click “Regenerate All Fonts”. This re-downloads all fonts from Google.

Use this if:
* Fonts are not displaying correctly
* You switched from CDN to Self-Hosted mode
* Font files were accidentally deleted

What happens when I uninstall the plugin?

The plugin automatically cleans up:
โœ… All downloaded font files in /wp-content/uploads/google-fonts/
โœ… All plugin settings from the database
โœ… No leftover data

Your site will revert to the theme’s default fonts.

1.0.0 – 2026-02-13

  • Initial release
  • Self-hosted mode for GDPR compliance
  • Google CDN mode with consent checkbox
  • Support for 15+ popular Google Fonts
  • Manual font input for any Google Font (1,500+ available)
  • Separate fonts for headings, body, and navigation menu
  • Font weight selection (100-900) with validation
  • Automatic font download and caching
  • Automatic cleanup of unused fonts
  • Performance optimizations (font-display: swap, preconnect hints)
  • Admin dashboard with font management tools
  • Regenerate fonts feature
  • Complete Privacy Policy documentation
  • Customizer integration with live preview
  • Full sanitization and validation
  • WP_Filesystem API usage throughout
  • Proper uninstall cleanup
  • WordPress Multisite support
  • PHP 7.4+ and PHP 8.x compatible
Back to top