{"id":286288,"date":"2026-03-15T11:49:28","date_gmt":"2026-03-15T11:49:28","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/font-loader-for-google-fonts\/"},"modified":"2026-03-15T12:01:25","modified_gmt":"2026-03-15T12:01:25","slug":"typeflow-font-loader-google-fonts","status":"publish","type":"plugin","link":"https:\/\/lmo.wordpress.org\/plugins\/typeflow-font-loader-google-fonts\/","author":21087066,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.0.0","stable_tag":"1.0.0","tested":"6.9.4","requires":"5.0","requires_php":"7.4","requires_plugins":null,"header_name":"TypeFlow Font Loader for Google Fonts","header_author":"Sebastian Hornoi","header_description":"Pick the perfect Google Font for your WordPress site and have it loaded automatically \u2014 no coding required.","assets_banners_color":"9790d6","last_updated":"2026-03-15 12:01:25","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/sebastianhornoi.com\/","header_plugin_uri":"","header_author_uri":"https:\/\/sebastianhornoi.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":235,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"sebastianhornoi","date":"2026-03-15 12:01:25"}},"upgrade_notice":{"1.0.0":"<p>Initial release with self-hosted GDPR-compliant mode and Google CDN option. Perfect for privacy-focused WordPress sites.<\/p>"},"ratings":[],"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3483057,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3483057,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3483057,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3483062,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3483062,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3483062,"resolution":"3","location":"assets","locale":""},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3483062,"resolution":"4","location":"assets","locale":""},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3483062,"resolution":"5","location":"assets","locale":""}},"screenshots":{"1":"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","3":"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","5":"WordPress admin menu with easy access to Google Fonts settings under Appearance section"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[2221,131785,3778,40192,5126],"plugin_category":[43,54],"plugin_contributors":[257784],"plugin_business_model":[],"class_list":["post-286288","plugin","type-plugin","status-publish","hentry","plugin_tags-fonts","plugin_tags-gdpr","plugin_tags-google-fonts","plugin_tags-self-hosted","plugin_tags-typography","plugin_category-customization","plugin_category-security-and-spam-protection","plugin_contributors-sebastianhornoi","plugin_committers-sebastianhornoi"],"banners":{"banner":"https:\/\/ps.w.org\/typeflow-font-loader-google-fonts\/assets\/banner-772x250.png?rev=3483057","banner_2x":"https:\/\/ps.w.org\/typeflow-font-loader-google-fonts\/assets\/banner-1544x500.png?rev=3483057","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/typeflow-font-loader-google-fonts\/assets\/icon-256x256.png?rev=3483057","icon_2x":"https:\/\/ps.w.org\/typeflow-font-loader-google-fonts\/assets\/icon-256x256.png?rev=3483057","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/typeflow-font-loader-google-fonts\/assets\/screenshot-1.png?rev=3483062","caption":"WordPress Customizer showing Google Font Settings panel with self-hosted mode (GDPR-compliant) selected and live preview of font changes"},{"src":"https:\/\/ps.w.org\/typeflow-font-loader-google-fonts\/assets\/screenshot-2.png?rev=3483062","caption":"Admin dashboard displaying font loading status with self-hosted mode enabled, downloaded fonts count, storage location, and regeneration tool"},{"src":"https:\/\/ps.w.org\/typeflow-font-loader-google-fonts\/assets\/screenshot-3.png?rev=3483062","caption":"Frontend example showing Montserrat font applied to headings and Poppins font applied to body text with clean, professional typography"},{"src":"https:\/\/ps.w.org\/typeflow-font-loader-google-fonts\/assets\/screenshot-4.png?rev=3483062","caption":"Browser inspector demonstrating successfully loaded fonts with technical details including font weights and accessibility contrast information"},{"src":"https:\/\/ps.w.org\/typeflow-font-loader-google-fonts\/assets\/screenshot-5.png?rev=3483062","caption":"WordPress admin menu with easy access to Google Fonts settings under Appearance section"}],"raw_content":"<!--section=description-->\n<p>FontPress for Google Fonts makes it easy to add beautiful Google Fonts to your WordPress site through the Customizer. No coding skills needed!<\/p>\n\n<p><strong>Two Loading Modes:<\/strong><\/p>\n\n<p>\ud83d\udee1\ufe0f <strong>Self-Hosted (Recommended)<\/strong> - Fonts downloaded to your server. 100% GDPR-compliant, no external requests, no consent needed.<\/p>\n\n<p>\u2601\ufe0f <strong>Google CDN<\/strong> - Loads from Google servers. Requires user consent under GDPR.<\/p>\n\n<p><strong>Features:<\/strong><\/p>\n\n<ul>\n<li>\ud83c\udfa8 Choose from 15+ popular Google Fonts<\/li>\n<li>\u270d\ufe0f Or manually enter any Google Font name<\/li>\n<li>\ud83d\udcdd Separate fonts for headings, body, and navigation<\/li>\n<li>\u2696\ufe0f Select multiple font weights (100-900)<\/li>\n<li>\ud83d\udd12 Self-hosted mode for privacy compliance<\/li>\n<li>\ud83d\ude80 Performance optimized with font-display: swap<\/li>\n<li>\u26a1 Preconnect hints for faster loading (CDN mode)<\/li>\n<li>\ud83e\uddf9 Automatic cleanup of unused fonts<\/li>\n<li>\ud83d\udce6 No external dependencies<\/li>\n<li>\ud83e\udeb6 Lightweight and fast<\/li>\n<\/ul>\n\n<p><strong>Perfect for:<\/strong><\/p>\n\n<ul>\n<li>Non-developers who want beautiful typography<\/li>\n<li>GDPR-compliant websites (EU)<\/li>\n<li>Privacy-focused sites<\/li>\n<li>Theme customization without child themes<\/li>\n<li>Quick font testing and experimentation<\/li>\n<\/ul>\n\n<p><strong>How it works:<\/strong><\/p>\n\n<ol>\n<li>Install and activate the plugin<\/li>\n<li>Go to Appearance \u2192 Customize \u2192 Google Font Settings<\/li>\n<li>Choose loading method (Self-Hosted recommended)<\/li>\n<li>Select your fonts from presets or enter custom names<\/li>\n<li>Choose font weights<\/li>\n<li>Publish and enjoy beautiful typography!<\/li>\n<\/ol>\n\n<h3>Privacy Policy<\/h3>\n\n<p><strong>This section explains how Google Font Loader handles user data and external requests.<\/strong><\/p>\n\n<h3>Two Loading Modes<\/h3>\n\n<p>This plugin offers two distinct loading modes with different privacy implications:<\/p>\n\n<h4>Self-Hosted Mode (Default &amp; Recommended)<\/h4>\n\n<p><strong>No external requests are made in self-hosted mode:<\/strong><\/p>\n\n<p>\u2705 Fonts are downloaded once from Google Fonts API and stored on your server\n\u2705 All subsequent requests are served from your own domain\n\u2705 No visitor data is transmitted to third parties\n\u2705 100% GDPR-compliant without requiring user consent\n\u2705 No cookies are set\n\u2705 No IP addresses are logged or transmitted<\/p>\n\n<p><strong>How it works:<\/strong>\n1. When you select a font in the Customizer, the plugin downloads it from Google Fonts API\n2. Font files are stored in <code>\/wp-content\/uploads\/google-fonts\/<\/code>\n3. Visitors' browsers load fonts from your server, not Google's<\/p>\n\n<p><strong>Initial download from Google:<\/strong> 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:\n- Font family name\n- Requested weights\n- Your server's IP address (not visitors')<\/p>\n\n<h4>Google CDN Mode<\/h4>\n\n<p><strong>External requests ARE made in Google CDN mode:<\/strong><\/p>\n\n<p>When you enable Google CDN mode and check the consent checkbox, this plugin loads fonts from Google's servers:<\/p>\n\n<ul>\n<li><strong>fonts.googleapis.com<\/strong> - Font CSS stylesheets<\/li>\n<li><strong>fonts.gstatic.com<\/strong> - Font files (WOFF2, TTF, etc.)<\/li>\n<\/ul>\n\n<p><strong>What this means:<\/strong><\/p>\n\n<p>\u26a0\ufe0f Your site makes HTTP requests to Google's servers\n\u26a0\ufe0f Visitor IP addresses may be transmitted to Google\n\u26a0\ufe0f Google's Privacy Policy applies: https:\/\/policies.google.com\/privacy\n\u26a0\ufe0f Google may collect analytics data about font usage\n\u26a0\ufe0f Data may be transferred to Google LLC in the USA<\/p>\n\n<p><strong>Important:<\/strong> These external requests only occur when you explicitly:\n1. Select \"Google CDN\" as loading method\n2. Check the \"I have obtained user consent\" checkbox<\/p>\n\n<p>Without both of these, no external requests are made.<\/p>\n\n<h3>Data Storage<\/h3>\n\n<p>This plugin stores the following settings in your WordPress database (as WordPress options):<\/p>\n\n<ul>\n<li><strong>gfl_loading_method<\/strong> - Loading mode (self_hosted or cdn)<\/li>\n<li><strong>gfl_heading_font_select<\/strong> - Selected heading font (preset)<\/li>\n<li><strong>gfl_heading_font_manual<\/strong> - Custom heading font name<\/li>\n<li><strong>gfl_heading_weights<\/strong> - Heading font weights<\/li>\n<li><strong>gfl_body_font_select<\/strong> - Selected body font (preset)<\/li>\n<li><strong>gfl_body_font_manual<\/strong> - Custom body font name<\/li>\n<li><strong>gfl_body_weights<\/strong> - Body font weights<\/li>\n<li><strong>gfl_menu_font_select<\/strong> - Selected menu font (preset)<\/li>\n<li><strong>gfl_use_google_cdn<\/strong> - Consent checkbox status (true\/false)<\/li>\n<\/ul>\n\n<p><strong>Font files storage (Self-Hosted mode only):<\/strong>\n* Downloaded font files (.woff2, .ttf, etc.) are stored in <code>\/wp-content\/uploads\/google-fonts\/<\/code>\n* Organized by font family name (e.g., <code>\/google-fonts\/roboto\/<\/code>)\n* Files include .htaccess for CORS headers and index.php for security<\/p>\n\n<p><strong>Data retention:<\/strong><\/p>\n\n<ul>\n<li>Settings persist until you uninstall the plugin<\/li>\n<li>Font files persist until you uninstall or regenerate fonts<\/li>\n<li>All data is automatically deleted when you uninstall the plugin via WordPress admin<\/li>\n<li>No personal user data is collected or stored<\/li>\n<li>No visitor tracking or analytics<\/li>\n<\/ul>\n\n<h3>What This Plugin Does NOT Do<\/h3>\n\n<ul>\n<li>\u274c Track individual users or visitors<\/li>\n<li>\u274c Set cookies (in either mode)<\/li>\n<li>\u274c Collect analytics or usage statistics<\/li>\n<li>\u274c Store visitor IP addresses<\/li>\n<li>\u274c Collect personal information<\/li>\n<li>\u274c Share data with advertisers<\/li>\n<li>\u274c Send data to third parties (except Google Fonts API when explicitly enabled)<\/li>\n<li>\u274c Phone home or check for updates from external servers<\/li>\n<\/ul>\n\n<h3>Third-Party Services<\/h3>\n\n<h4>Google Fonts API<\/h4>\n\n<p><strong>Self-Hosted Mode:<\/strong>\n- ONE-TIME server-to-server request when you select a font\n- No ongoing connections\n- No visitor data transmitted<\/p>\n\n<p><strong>Google CDN Mode (when enabled):<\/strong>\n- Ongoing requests from visitors' browsers\n- Google's privacy policy applies: https:\/\/policies.google.com\/privacy\n- Terms of Service: https:\/\/policies.google.com\/terms\n- Google Fonts FAQ: https:\/\/developers.google.com\/fonts\/faq<\/p>\n\n<h3>GDPR Compliance Recommendations<\/h3>\n\n<h4>If Using Self-Hosted Mode (Recommended)<\/h4>\n\n<p>\u2705 <strong>No action needed<\/strong> - Self-hosted mode is GDPR-compliant by default<\/p>\n\n<p>You may want to mention in your privacy policy:<\/p>\n\n<blockquote>\n  <p>\"This website uses custom fonts to improve typography. Font files are hosted on our own servers and no data is transmitted to third parties.\"<\/p>\n<\/blockquote>\n\n<h4>If Using Google CDN Mode<\/h4>\n\n<p>\u26a0\ufe0f <strong>User consent is required<\/strong> under GDPR and similar privacy regulations.<\/p>\n\n<p>You MUST:<\/p>\n\n<ol>\n<li><strong>Implement a cookie consent banner<\/strong> - Although no cookies are set, consent is required for data transmission<\/li>\n<li><strong>Update your privacy policy<\/strong> with this information:<\/li>\n<\/ol>\n\n<blockquote>\n  <p>\"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\"<\/p>\n<\/blockquote>\n\n<ol>\n<li><strong>Document data flows<\/strong> - Include Google Fonts in your GDPR Article 30 records<\/li>\n<li><strong>Consider a Data Processing Agreement<\/strong> - Check if Google offers DPA for Google Fonts<\/li>\n<li><strong>Inform users<\/strong> - Make clear what data is transmitted and why<\/li>\n<\/ol>\n\n<p><strong>Example privacy policy section:<\/strong><\/p>\n\n<blockquote>\n  <p><strong>Google Fonts<\/strong><\/p>\n  \n  <p>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:\n  - Your IP address\n  - Browser type and version\n  - Operating system\n  - Referrer URL\n  - Date and time of access<\/p>\n  \n  <p>Google Fonts Privacy Policy: https:\/\/policies.google.com\/privacy<\/p>\n  \n  <p>Legal basis (GDPR): Consent (Art. 6 para. 1 lit. a GDPR)<\/p>\n  \n  <p>You can opt out by disabling custom fonts in your browser settings.<\/p>\n<\/blockquote>\n\n<h3>Data Processing Locations<\/h3>\n\n<p><strong>Self-Hosted Mode:<\/strong>\n- All data processed on your WordPress server (your hosting location)\n- No third-party data processing<\/p>\n\n<p><strong>Google CDN Mode:<\/strong>\n- Data transmitted to Google LLC servers worldwide\n- Google's primary data centers are in the USA\n- Subject to US privacy laws (including CLOUD Act)<\/p>\n\n<h3>Your Rights<\/h3>\n\n<p>As a website administrator using this plugin, you have the right to:<\/p>\n\n<ul>\n<li>Access all data stored by the plugin (Appearance \u2192 Google Fonts dashboard)<\/li>\n<li>Delete all data (uninstall the plugin)<\/li>\n<li>Export settings (WordPress Export tool)<\/li>\n<li>Switch between Self-Hosted and CDN mode at any time<\/li>\n<\/ul>\n\n<p>As a website visitor:\n* In Self-Hosted mode: No personal data is collected\n* In CDN mode: See Google's privacy policy for your rights<\/p>\n\n<h3>Contact<\/h3>\n\n<p>For privacy-related questions about this plugin:<\/p>\n\n<ul>\n<li>Plugin Author: Sebastian Hornoi<\/li>\n<li>Website: https:\/\/sebastianhornoi.com\/<\/li>\n<li>Email: sebastian@sebastianhornoi.com<\/li>\n<li>Support: https:\/\/wordpress.org\/support\/plugin\/google-font-loader\/<\/li>\n<\/ul>\n\n<p>For questions about Google's data practices:<\/p>\n\n<ul>\n<li>Visit: https:\/\/policies.google.com\/privacy<\/li>\n<li>Contact: https:\/\/support.google.com\/policies\/<\/li>\n<\/ul>\n\n<p><strong>Last updated:<\/strong> February 13, 2026<\/p>\n\n<h3>Legal Disclaimer<\/h3>\n\n<p>This privacy policy describes how the Google Font Loader plugin works. It does not constitute legal advice.<\/p>\n\n<p>You are responsible for:\n* Ensuring your use of this plugin complies with applicable laws\n* Implementing appropriate consent mechanisms if required\n* Updating your own privacy policy accordingly\n* Consulting with a legal professional about your specific obligations<\/p>\n\n<p>The plugin author provides this software \"as is\" and makes no warranties about GDPR or other legal compliance.<\/p>\n\n<h3>Additional Information<\/h3>\n\n<p><strong>Browser Compatibility:<\/strong><\/p>\n\n<ul>\n<li>Chrome\/Edge (latest 2 versions)<\/li>\n<li>Firefox (latest 2 versions)<\/li>\n<li>Safari (latest 2 versions)<\/li>\n<li>Opera (latest version)<\/li>\n<li>Internet Explorer 11+ (basic support)<\/li>\n<\/ul>\n\n<p><strong>WordPress Compatibility:<\/strong><\/p>\n\n<ul>\n<li>Requires WordPress 5.0 or higher<\/li>\n<li>Tested up to WordPress 6.7<\/li>\n<li>Works with WordPress Multisite<\/li>\n<li>Compatible with major page builders (Elementor, Beaver Builder, Divi)<\/li>\n<li>Works with block editor (Gutenberg)<\/li>\n<\/ul>\n\n<p><strong>PHP Compatibility:<\/strong><\/p>\n\n<ul>\n<li>Requires PHP 7.4 or higher<\/li>\n<li>Tested with PHP 8.0, 8.1, 8.2, 8.3<\/li>\n<li>Uses modern PHP features while maintaining backward compatibility<\/li>\n<\/ul>\n\n<p><strong>Server Requirements:<\/strong><\/p>\n\n<ul>\n<li>WordPress 5.0+<\/li>\n<li>PHP 7.4+<\/li>\n<li>Write permissions for \/wp-content\/uploads\/<\/li>\n<li>At least 10MB free disk space for font storage (Self-Hosted mode)<\/li>\n<li>cURL or allow_url_fopen enabled for downloading fonts<\/li>\n<\/ul>\n\n<p><strong>Performance:<\/strong><\/p>\n\n<ul>\n<li>Self-Hosted mode: ~2-5 seconds initial font download per family<\/li>\n<li>Ongoing: No performance impact (fonts served from local cache)<\/li>\n<li>CDN mode: Instant (fonts served from Google's global CDN)<\/li>\n<li>Plugin size: ~50KB (without font files)<\/li>\n<\/ul>\n\n<p><strong>Support:<\/strong><\/p>\n\n<ul>\n<li>Documentation: https:\/\/sebastianhornoi.com\/docs\/fontpress-google-fonts\/<\/li>\n<li>Support Forum: https:\/\/wordpress.org\/support\/plugin\/fontpress-google-fonts\/<\/li>\n<\/ul>\n\n<p><strong>Roadmap:<\/strong><\/p>\n\n<p>Future versions may include:\n* Per-page font selection\n* Font subset selection (Latin, Cyrillic, Greek, etc.)\n* Variable fonts support\n* Custom font upload\n* Font pairing suggestions\n* Preview mode in Customizer\n* Import\/Export settings<\/p>\n\n<h3>Credits<\/h3>\n\n<ul>\n<li>Plugin architecture based on <a href=\"https:\/\/github.com\/DevinVinson\/WordPress-Plugin-Boilerplate\">WordPress Plugin Boilerplate<\/a><\/li>\n<li>Fonts provided by <a href=\"https:\/\/fonts.google.com\/\">Google Fonts<\/a> under <a href=\"https:\/\/scripts.sil.org\/OFL\">SIL Open Font License<\/a><\/li>\n<li>Developed by <a href=\"https:\/\/sebastianhornoi.com\/\">Sebastian Hornoi<\/a><\/li>\n<li>Tested by the WordPress community<\/li>\n<\/ul>\n\n<p><strong>Special Thanks:<\/strong><\/p>\n\n<ul>\n<li>WordPress Plugin Review Team for guidance<\/li>\n<li>Early beta testers and contributors<\/li>\n<li>The Google Fonts team for their amazing font library<\/li>\n<\/ul>\n\n<h3>Frequently Asked Technical Questions<\/h3>\n\n<h4>Does this work with page builders?<\/h4>\n\n<p>Yes! The plugin works with Elementor, Beaver Builder, Divi, and other major page builders. Fonts are loaded site-wide via WordPress hooks.<\/p>\n\n<h4>Can I use this with a child theme?<\/h4>\n\n<p>Absolutely! The plugin works independently of your theme. You can switch themes without losing your font settings.<\/p>\n\n<h4>Does it support RTL languages?<\/h4>\n\n<p>Yes, the plugin supports RTL (Right-to-Left) languages. Make sure to select fonts that include RTL character sets from Google Fonts.<\/p>\n\n<h4>Can I disable fonts on mobile devices?<\/h4>\n\n<p>Not directly through the plugin. However, you can use CSS media queries in your theme to override font settings on mobile.<\/p>\n\n<h4>How do I backup my font settings?<\/h4>\n\n<p>Font settings are stored in the WordPress database. Use any WordPress backup plugin or export via <strong>Tools \u2192 Export<\/strong> in WordPress admin.<\/p>\n\n<p>Settings to backup:\n- All options starting with <code>gfl_<\/code>\n- Font files in <code>\/wp-content\/uploads\/google-fonts\/<\/code> (Self-Hosted mode)<\/p>\n\n<h4>Can I migrate fonts between sites?<\/h4>\n\n<p>Yes! If both sites use self-hosted mode:\n1. Copy font settings from database (export\/import)\n2. Copy <code>\/wp-content\/uploads\/google-fonts\/<\/code> directory\n3. Both sites will have identical fonts<\/p>\n\n<h4>Does this work with WordPress Multisite?<\/h4>\n\n<p>Yes! Each site in a Multisite network can have independent font settings.<\/p>\n\n<h4>How do I update fonts after switching modes?<\/h4>\n\n<ol>\n<li>Change loading method in Customizer<\/li>\n<li>Go to <strong>Appearance \u2192 Google Fonts<\/strong><\/li>\n<li>Click \"Regenerate All Fonts\" (Self-Hosted mode)<\/li>\n<li>Fonts will be re-downloaded or switch to CDN<\/li>\n<\/ol>\n\n<h4>What happens if Google Fonts API is down?<\/h4>\n\n<p><strong>Self-Hosted Mode:<\/strong> Your site continues to work normally. Fonts are already downloaded and cached.<\/p>\n\n<p><strong>Google CDN Mode:<\/strong> Fonts may not load, but the browser will fall back to system fonts (sans-serif). Your content remains accessible.<\/p>\n\n<h4>Can I customize the CSS applied to fonts?<\/h4>\n\n<p>The plugin applies fonts to standard HTML elements (body, h1-h6, nav). For custom CSS, you can:\n1. Use <strong>Appearance \u2192 Customize \u2192 Additional CSS<\/strong>\n2. Add custom selectors targeting the font families loaded by the plugin<\/p>\n\n<h4>How do I contribute or report bugs?<\/h4>\n\n<ul>\n<li>Support Forum: https:\/\/wordpress.org\/support\/plugin\/fontpress-google-fonts\/<\/li>\n<li>Direct contact: sebastian@sebastianhornoi.com<\/li>\n<\/ul>\n\n<!--section=installation-->\n<p><strong>Automatic installation:<\/strong><\/p>\n\n<ol>\n<li>Go to Plugins \u2192 Add New<\/li>\n<li>Search for \"Google Font Loader\"<\/li>\n<li>Click Install Now<\/li>\n<li>Activate the plugin<\/li>\n<\/ol>\n\n<p><strong>Manual installation:<\/strong><\/p>\n\n<ol>\n<li>Upload the plugin files to <code>\/wp-content\/plugins\/google-font-loader\/<\/code><\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress<\/li>\n<li>Go to Appearance \u2192 Customize \u2192 Google Font Settings<\/li>\n<li>Select fonts and weights<\/li>\n<li>Click \"Publish\"<\/li>\n<\/ol>\n\n<p><strong>First-time setup:<\/strong><\/p>\n\n<p>After activation, go to <strong>Appearance \u2192 Google Fonts<\/strong> to see the status dashboard and configure your fonts in the Customizer.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"why%20aren%27t%20my%20fonts%20loading%3F\"><h3>Why aren't my fonts loading?<\/h3><\/dt>\n<dd><p>Make sure you've selected fonts in <strong>Appearance \u2192 Customize \u2192 Google Font Settings<\/strong>. If using Google CDN mode, you must also check the consent checkbox.<\/p><\/dd>\n<dt id=\"what%27s%20the%20difference%20between%20self-hosted%20and%20google%20cdn%20mode%3F\"><h3>What's the difference between Self-Hosted and Google CDN mode?<\/h3><\/dt>\n<dd><p><strong>Self-Hosted (Recommended):<\/strong>\n\u2705 Fonts downloaded to your server (wp-content\/uploads\/google-fonts\/)\n\u2705 No external requests to Google\n\u2705 GDPR-compliant without user consent\n\u2705 Better performance (fonts cached locally)\n\u2705 Works offline<\/p>\n\n<p><strong>Google CDN:<\/strong>\n\u26a0\ufe0f Fonts loaded from Google servers\n\u26a0\ufe0f User IP addresses transmitted to Google\n\u26a0\ufe0f Requires user consent under GDPR\n\u2705 Smaller initial download (no fonts in plugin)<\/p><\/dd>\n<dt id=\"can%20i%20use%20any%20google%20font%3F\"><h3>Can I use any Google Font?<\/h3><\/dt>\n<dd><p>Yes! Use the \"Manual\" input fields to enter any Google Font name. Check <a href=\"https:\/\/fonts.google.com\/\">Google Fonts<\/a> for the complete list of 1,500+ available fonts.<\/p><\/dd>\n<dt id=\"which%20font%20weights%20can%20i%20use%3F\"><h3>Which font weights can I use?<\/h3><\/dt>\n<dd><p>Valid weights are: 100, 200, 300, 400, 500, 600, 700, 800, 900. Separate multiple weights with semicolons (e.g., <code>400;700<\/code>).<\/p>\n\n<p>Invalid weights are automatically filtered out.<\/p><\/dd>\n<dt id=\"will%20this%20slow%20down%20my%20site%3F\"><h3>Will this slow down my site?<\/h3><\/dt>\n<dd><p>No! The plugin uses performance best practices:\n* <strong>Self-hosted mode<\/strong>: Fonts cached on your server\n* <code>font-display: swap<\/code> for instant text rendering\n* Preconnect hints in CDN mode\n* Minimal HTTP requests\n* Automatic cleanup of unused fonts<\/p><\/dd>\n<dt id=\"is%20this%20gdpr%20compliant%3F\"><h3>Is this GDPR compliant?<\/h3><\/dt>\n<dd><p><strong>Self-hosted mode<\/strong>: YES - 100% GDPR-compliant without requiring user consent.<\/p>\n\n<p><strong>Google CDN mode<\/strong>: Requires explicit user consent. You must:\n* Implement a cookie consent banner\n* Add Google Fonts info to your privacy policy\n* Document data transfer to Google (USA)<\/p><\/dd>\n<dt id=\"where%20are%20self-hosted%20fonts%20stored%3F\"><h3>Where are self-hosted fonts stored?<\/h3><\/dt>\n<dd><p>Fonts are downloaded to <code>\/wp-content\/uploads\/google-fonts\/<\/code> and organized by font family name.<\/p>\n\n<p>The plugin automatically creates this directory with proper permissions and security files (.htaccess, index.php).<\/p><\/dd>\n<dt id=\"can%20i%20use%20custom%2Flocal%20fonts%20i%20already%20have%3F\"><h3>Can I use custom\/local fonts I already have?<\/h3><\/dt>\n<dd><p>Not in the current version. This plugin only works with Google Fonts (either self-hosted or from CDN).<\/p>\n\n<p>For custom fonts, consider using a CSS @font-face declaration in your theme.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20my%20theme%3F\"><h3>Does it work with my theme?<\/h3><\/dt>\n<dd><p>Yes! The plugin uses standard WordPress hooks and should work with any well-coded theme. Font styles are applied with appropriate CSS specificity.<\/p>\n\n<p>If your theme has very specific font declarations, you may need to adjust CSS priority in your theme.<\/p><\/dd>\n<dt id=\"can%20i%20use%20different%20fonts%20for%20different%20pages%3F\"><h3>Can I use different fonts for different pages?<\/h3><\/dt>\n<dd><p>Currently, fonts are applied site-wide. Per-page font selection may be added in future versions.<\/p><\/dd>\n<dt id=\"will%20this%20conflict%20with%20other%20font%20plugins%3F\"><h3>Will this conflict with other font plugins?<\/h3><\/dt>\n<dd><p>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.<\/p>\n\n<p>If you're switching from another font plugin, deactivate it first.<\/p><\/dd>\n<dt id=\"how%20do%20i%20regenerate%20fonts%3F\"><h3>How do I regenerate fonts?<\/h3><\/dt>\n<dd><p>Go to <strong>Appearance \u2192 Google Fonts<\/strong> and click \"Regenerate All Fonts\". This re-downloads all fonts from Google.<\/p>\n\n<p>Use this if:\n* Fonts are not displaying correctly\n* You switched from CDN to Self-Hosted mode\n* Font files were accidentally deleted<\/p><\/dd>\n<dt id=\"what%20happens%20when%20i%20uninstall%20the%20plugin%3F\"><h3>What happens when I uninstall the plugin?<\/h3><\/dt>\n<dd><p>The plugin automatically cleans up:\n\u2705 All downloaded font files in <code>\/wp-content\/uploads\/google-fonts\/<\/code>\n\u2705 All plugin settings from the database\n\u2705 No leftover data<\/p>\n\n<p>Your site will revert to the theme's default fonts.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0 - 2026-02-13<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Self-hosted mode for GDPR compliance<\/li>\n<li>Google CDN mode with consent checkbox<\/li>\n<li>Support for 15+ popular Google Fonts<\/li>\n<li>Manual font input for any Google Font (1,500+ available)<\/li>\n<li>Separate fonts for headings, body, and navigation menu<\/li>\n<li>Font weight selection (100-900) with validation<\/li>\n<li>Automatic font download and caching<\/li>\n<li>Automatic cleanup of unused fonts<\/li>\n<li>Performance optimizations (font-display: swap, preconnect hints)<\/li>\n<li>Admin dashboard with font management tools<\/li>\n<li>Regenerate fonts feature<\/li>\n<li>Complete Privacy Policy documentation<\/li>\n<li>Customizer integration with live preview<\/li>\n<li>Full sanitization and validation<\/li>\n<li>WP_Filesystem API usage throughout<\/li>\n<li>Proper uninstall cleanup<\/li>\n<li>WordPress Multisite support<\/li>\n<li>PHP 7.4+ and PHP 8.x compatible<\/li>\n<\/ul>","raw_excerpt":"Beautiful Google Fonts for WordPress with self-hosted GDPR-compliant mode \u2014 no coding required.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/286288","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=286288"}],"author":[{"embeddable":true,"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/sebastianhornoi"}],"wp:attachment":[{"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=286288"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=286288"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=286288"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=286288"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=286288"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=286288"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}