{"id":17498,"date":"2025-05-30T22:12:57","date_gmt":"2025-05-30T22:12:57","guid":{"rendered":"https:\/\/kickoffadvertising.com\/?p=17498"},"modified":"2025-05-30T22:12:57","modified_gmt":"2025-05-30T22:12:57","slug":"host-google-fonts-locally-wordpress","status":"publish","type":"post","link":"https:\/\/kickoffadvertising.com\/es\/host-google-fonts-locally-wordpress\/","title":{"rendered":"Alojar fuentes de Google localmente en WordPress para mejorar la velocidad y el SEO"},"content":{"rendered":"<p data-start=\"882\" data-end=\"1236\">Are you using WordPress and wondering how to make your website faster and more privacy-friendly? One of the most effective (and overlooked) tricks is to <strong data-start=\"1035\" data-end=\"1064\">host Google Fonts locally<\/strong> instead of pulling them from Google\u2019s servers. This can significantly improve <strong data-start=\"1143\" data-end=\"1175\">WordPress speed optimization<\/strong>, SEO performance, and even help you stay <strong data-start=\"1217\" data-end=\"1235\">GDPR compliant<\/strong>.<\/p>\n<p data-start=\"1238\" data-end=\"1374\">In this tutorial, we\u2019ll walk you through the step-by-step process to host Google Fonts locally in WordPress \u2014 no coding skills required!<\/p>\n<hr data-start=\"1376\" data-end=\"1379\" \/>\n<h2 data-start=\"1381\" data-end=\"1440\">Why You Should Host Google Fonts Locally in WordPress<\/h2>\n<h3 data-start=\"1442\" data-end=\"1478\">1. <strong data-start=\"1449\" data-end=\"1478\">Faster Website Load Times<\/strong><\/h3>\n<p data-start=\"1479\" data-end=\"1746\">By default, WordPress themes and page builders (like Elementor, Astra, or Divi) often load fonts from Google&#8217;s CDN. While fast, it still adds external HTTP requests. Hosting fonts locally eliminates these external calls, which <strong data-start=\"1706\" data-end=\"1732\">speeds up your website<\/strong> dramatically.<\/p>\n<h3 data-start=\"1829\" data-end=\"1859\">2. <strong data-start=\"1836\" data-end=\"1859\">Better SEO Rankings<\/strong><\/h3>\n<p data-start=\"1860\" data-end=\"2019\">Google uses page speed as a ranking factor. Fewer external requests mean faster pages, and faster pages mean better SEO. It&#8217;s a small change with a big impact.<\/p>\n<h3 data-start=\"2021\" data-end=\"2066\">3. <strong data-start=\"2028\" data-end=\"2066\">Improved Privacy Compliance (GDPR)<\/strong><\/h3>\n<p data-start=\"2067\" data-end=\"2287\">In Europe and other regions, loading fonts from Google can violate privacy laws. By hosting fonts locally, you avoid sending user IP addresses to third-party servers \u2014 which makes your WordPress site more GDPR-compliant.<\/p>\n<hr data-start=\"2289\" data-end=\"2292\" \/>\n<h2 data-start=\"2294\" data-end=\"2361\">How to Host Google Fonts Locally in WordPress (Step-by-Step)<\/h2>\n<p data-start=\"2363\" data-end=\"2477\">You have two main options: <strong data-start=\"2390\" data-end=\"2407\">manual method<\/strong> (for advanced users) or <strong data-start=\"2432\" data-end=\"2453\">WordPress plugins<\/strong> (recommended for most).<\/p>\n<hr data-start=\"2479\" data-end=\"2482\" \/>\n<h3 data-start=\"2484\" data-end=\"2535\">Method 1: Using the OMGF Plugin (Recommended)<\/h3>\n<p data-start=\"2537\" data-end=\"2683\"><a class=\"cursor-pointer\" target=\"_new\" rel=\"noopener\" data-start=\"2537\" data-end=\"2623\">OMGF \u2013 Host Google Fonts Locally<\/a> is a free plugin that automates the entire process for you.<\/p>\n<h4 data-start=\"2685\" data-end=\"2699\">Steps:<\/h4>\n<ol data-start=\"2701\" data-end=\"2880\">\n<li data-start=\"2701\" data-end=\"2761\">\n<p data-start=\"2704\" data-end=\"2761\">Install the <strong data-start=\"2716\" data-end=\"2724\">OMGF<\/strong> plugin from the WordPress dashboard.<\/p>\n<\/li>\n<li data-start=\"2762\" data-end=\"2808\">\n<p data-start=\"2765\" data-end=\"2808\">Go to <strong data-start=\"2771\" data-end=\"2807\">Settings &gt; Optimize Google Fonts<\/strong>.<\/p>\n<\/li>\n<li data-start=\"2809\" data-end=\"2852\">\n<p data-start=\"2812\" data-end=\"2852\">Choose &#8220;Download Fonts to Local Folder&#8221;.<\/p>\n<\/li>\n<li data-start=\"2853\" data-end=\"2880\">\n<p data-start=\"2856\" data-end=\"2880\">Click \u201cSave &amp; Optimize\u201d.<\/p>\n<\/li>\n<\/ol>\n<p data-start=\"2882\" data-end=\"2999\">That\u2019s it! OMGF will detect the fonts your theme or builder uses, download them, and serve them from your own server.<\/p>\n<p data-start=\"3001\" data-end=\"3093\"><a class=\"cursor-pointer\" target=\"_new\" rel=\"noopener\" data-start=\"3004\" data-end=\"3093\">Official OMGF Documentation<\/a><\/p>\n<hr data-start=\"3095\" data-end=\"3098\" \/>\n<h3 data-start=\"3100\" data-end=\"3151\">Method 2: Manual Integration (Advanced Users)<\/h3>\n<p data-start=\"3153\" data-end=\"3220\">If you&#8217;re comfortable working with FTP and CSS, follow these steps:<\/p>\n<h4 data-start=\"3222\" data-end=\"3290\">Step 1: Use <a class=\"cursor-pointer\" target=\"_new\" rel=\"noopener\" data-start=\"3239\" data-end=\"3290\">Google Webfonts Helper<\/a><\/h4>\n<p data-start=\"3291\" data-end=\"3411\">Choose your font (e.g., Roboto), select only the weights you need, and download the zip package with CSS and font files.<\/p>\n<h4 data-start=\"3413\" data-end=\"3443\">Step 2: Upload Font Files<\/h4>\n<p data-start=\"3444\" data-end=\"3565\">Using FTP or your hosting file manager, upload your fonts (preferably <code data-start=\"3514\" data-end=\"3522\">.woff2<\/code>) to <code data-start=\"3527\" data-end=\"3564\">wp-content\/themes\/your-theme\/fonts\/<\/code>.<\/p>\n<h4 data-start=\"3567\" data-end=\"3601\">Step 3: Add CSS to Your Theme<\/h4>\n<p data-start=\"3603\" data-end=\"3687\">Add the provided <code data-start=\"3620\" data-end=\"3632\">@font-face<\/code> CSS to your theme\u2019s <code data-start=\"3653\" data-end=\"3664\">style.css<\/code> or via the Customizer:<\/p>\n<div class=\"contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-9\">\n<div class=\"absolute end-0 bottom-0 flex h-9 items-center pe-2\">\n<div class=\"bg-token-sidebar-surface-primary text-token-text-secondary dark:bg-token-main-surface-secondary flex items-center rounded-sm px-2 font-sans text-xs\"><\/div>\n<\/div>\n<\/div>\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-css\"><span class=\"hljs-keyword\">@font-face<\/span> {<br \/>\n<span class=\"hljs-attribute\">font-family<\/span>: <span class=\"hljs-string\">'Roboto'<\/span>;<br \/>\n<span class=\"hljs-attribute\">src<\/span>: <span class=\"hljs-built_in\">url<\/span>(<span class=\"hljs-string\">'\/wp-content\/themes\/your-theme\/fonts\/roboto.woff2'<\/span>) <span class=\"hljs-built_in\">format<\/span>(<span class=\"hljs-string\">'woff2'<\/span>);<br \/>\n<span class=\"hljs-attribute\">font-weight<\/span>: <span class=\"hljs-number\">400<\/span>;<br \/>\n<span class=\"hljs-attribute\">font-style<\/span>: normal;<br \/>\n<span class=\"hljs-attribute\">font-display<\/span>: swap;<br \/>\n}<br \/>\n<\/code><\/div>\n<\/div>\n<h4 data-start=\"3885\" data-end=\"3935\">Step 4: Replace Font in Theme Settings or CSS<\/h4>\n<p data-start=\"3936\" data-end=\"4001\">Use the new font-family in your custom CSS or Elementor settings:<\/p>\n<div class=\"contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-9\">\n<div class=\"absolute end-0 bottom-0 flex h-9 items-center pe-2\">\n<div class=\"bg-token-sidebar-surface-primary text-token-text-secondary dark:bg-token-main-surface-secondary flex items-center rounded-sm px-2 font-sans text-xs\"><\/div>\n<\/div>\n<\/div>\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-css\"><span class=\"hljs-selector-tag\">body<\/span> {<br \/>\n<span class=\"hljs-attribute\">font-family<\/span>: <span class=\"hljs-string\">'Roboto'<\/span>, sans-serif;<br \/>\n}<br \/>\n<\/code><\/div>\n<\/div>\n<hr data-start=\"4060\" data-end=\"4063\" \/>\n<h2 data-start=\"4065\" data-end=\"4124\">Bonus Tips for Google Fonts Optimization in WordPress<\/h2>\n<ul data-start=\"4126\" data-end=\"4253\">\n<li data-start=\"4126\" data-end=\"4187\">\n<p data-start=\"4128\" data-end=\"4187\"><strong data-start=\"4128\" data-end=\"4166\">Use only needed weights and styles<\/strong> to reduce file size.<\/p>\n<\/li>\n<li data-start=\"4188\" data-end=\"4253\">\n<p data-start=\"4190\" data-end=\"4253\"><strong data-start=\"4190\" data-end=\"4214\">Always preload fonts<\/strong> in your <code data-start=\"4223\" data-end=\"4231\">&lt;head&gt;<\/code> for faster rendering:<\/p>\n<\/li>\n<\/ul>\n<div class=\"contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-9\">\n<div class=\"absolute end-0 bottom-0 flex h-9 items-center pe-2\">\n<div class=\"bg-token-sidebar-surface-primary text-token-text-secondary dark:bg-token-main-surface-secondary flex items-center rounded-sm px-2 font-sans text-xs\"><\/div>\n<\/div>\n<\/div>\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">link<\/span><\/span> <span class=\"hljs-attr\">rel<\/span>=<span class=\"hljs-string\">\"preload\"<\/span> <span class=\"hljs-attr\">href<\/span>=<span class=\"hljs-string\">\"\/wp-content\/themes\/your-theme\/fonts\/roboto.woff2\"<\/span> <span class=\"hljs-attr\">as<\/span>=<span class=\"hljs-string\">\"font\"<\/span> <span class=\"hljs-attr\">type<\/span>=<span class=\"hljs-string\">\"font\/woff2\"<\/span> <span class=\"hljs-attr\">crossorigin<\/span>=<span class=\"hljs-string\">\"anonymous\"<\/span>&gt;<br \/>\n<\/code><\/div>\n<\/div>\n<ul data-start=\"4395\" data-end=\"4470\">\n<li data-start=\"4395\" data-end=\"4470\">\n<p data-start=\"4397\" data-end=\"4470\"><strong data-start=\"4397\" data-end=\"4417\">Use WOFF2 format<\/strong> \u2014 it\u2019s smaller and supported by all modern browsers.<\/p>\n<\/li>\n<\/ul>\n<hr data-start=\"4472\" data-end=\"4475\" \/>\n<h2 data-start=\"4477\" data-end=\"4524\">Best Plugins to Host Google Fonts Locally<\/h2>\n<div class=\"_tableContainer_16hzy_1\">\n<div class=\"_tableWrapper_16hzy_14 group flex w-fit flex-col-reverse\" tabindex=\"-1\">\n<table class=\"w-fit min-w-(--thread-content-width)\" data-start=\"4526\" data-end=\"4875\">\n<thead data-start=\"4526\" data-end=\"4554\">\n<tr data-start=\"4526\" data-end=\"4554\">\n<th data-start=\"4526\" data-end=\"4535\" data-col-size=\"sm\">Plugin<\/th>\n<th data-start=\"4535\" data-end=\"4546\" data-col-size=\"md\">Features<\/th>\n<th data-start=\"4546\" data-end=\"4554\" data-col-size=\"sm\">Free<\/th>\n<\/tr>\n<\/thead>\n<tbody data-start=\"4584\" data-end=\"4875\">\n<tr data-start=\"4584\" data-end=\"4685\">\n<td data-start=\"4584\" data-end=\"4645\" data-col-size=\"sm\"><a class=\"cursor-pointer\" target=\"_new\" rel=\"noopener\" data-start=\"4586\" data-end=\"4644\">OMGF<\/a><\/td>\n<td data-col-size=\"md\" data-start=\"4645\" data-end=\"4680\">Automatic download &amp; integration<\/td>\n<td data-col-size=\"sm\" data-start=\"4680\" data-end=\"4685\">\u2705<\/td>\n<\/tr>\n<tr data-start=\"4686\" data-end=\"4799\">\n<td data-start=\"4686\" data-end=\"4746\" data-col-size=\"sm\"><a class=\"cursor-pointer\" target=\"_new\" rel=\"noopener\" data-start=\"4688\" data-end=\"4745\">Autoptimize<\/a><\/td>\n<td data-col-size=\"md\" data-start=\"4746\" data-end=\"4794\">Can combine with OMGF for better optimization<\/td>\n<td data-col-size=\"sm\" data-start=\"4794\" data-end=\"4799\">\u2705<\/td>\n<\/tr>\n<tr data-start=\"4800\" data-end=\"4875\">\n<td data-start=\"4800\" data-end=\"4841\" data-col-size=\"sm\"><a class=\"\" href=\"https:\/\/perfmatters.io\/\" data-start=\"4802\" data-end=\"4840\" target=\"_blank\" rel=\"noopener\">Perfmatters<\/a><\/td>\n<td data-col-size=\"md\" data-start=\"4841\" data-end=\"4870\">Premium performance plugin<\/td>\n<td data-col-size=\"sm\" data-start=\"4870\" data-end=\"4875\">\u274c<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class=\"sticky end-(--thread-content-margin) h-0 self-end select-none\">\n<div class=\"absolute end-0 flex items-end\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<hr data-start=\"4877\" data-end=\"4880\" \/>\n<h2 data-start=\"4882\" data-end=\"4919\">Internal and External Resources<\/h2>\n<ul data-start=\"4921\" data-end=\"5207\">\n<li data-start=\"4921\" data-end=\"5058\">\ud83d\udd17 <a class=\"\" href=\"https:\/\/fonts.google.com\/\" target=\"_new\" rel=\"noopener\" data-start=\"5064\" data-end=\"5119\">Google Fonts official site<\/a><\/li>\n<li data-start=\"5120\" data-end=\"5207\">\n<p data-start=\"5122\" data-end=\"5207\">\ud83d\udd17 <a class=\"cursor-pointer\" target=\"_new\" rel=\"noopener\" data-start=\"5125\" data-end=\"5207\">WordPress Speed Guide from WP Rocket<\/a><\/p>\n<\/li>\n<\/ul>\n<hr data-start=\"5209\" data-end=\"5212\" \/>\n<h2 data-start=\"5214\" data-end=\"5234\">Final Thoughts<\/h2>\n<p data-start=\"5236\" data-end=\"5318\">Hosting Google Fonts locally in WordPress is a smart and simple optimization that:<\/p>\n<ul data-start=\"5320\" data-end=\"5410\">\n<li data-start=\"5320\" data-end=\"5352\">\n<p data-start=\"5322\" data-end=\"5352\">Boosts your website speed<\/p>\n<\/li>\n<li data-start=\"5353\" data-end=\"5372\">\n<p data-start=\"5355\" data-end=\"5372\">Improves SEO<\/p>\n<\/li>\n<li data-start=\"5373\" data-end=\"5410\">\n<p data-start=\"5375\" data-end=\"5410\">Keeps your site GDPR compliant<\/p>\n<\/li>\n<\/ul>\n<p data-start=\"5412\" data-end=\"5557\">Whether you choose a plugin like OMGF or go the manual route, this change can have a huge impact on your performance metrics and search rankings.<\/p>\n<blockquote data-start=\"5559\" data-end=\"5739\">\n<p data-start=\"5561\" data-end=\"5739\">At Kickoff Advertising, we help brands build faster, better-performing websites. <a href=\"\/contact\/\">Want a custom audit of your WordPress site? Let\u2019s talk!<\/a><\/p>\n<\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>Are you using WordPress and wondering how to make your website faster and more privacy-friendly? One of the most effective (and overlooked) tricks is to host Google Fonts locally instead of pulling them from Google\u2019s servers. This can significantly improve WordPress speed optimization, SEO performance, and even help you stay GDPR compliant. In this tutorial, we\u2019ll walk you through the step-by-step process to host Google Fonts locally in WordPress \u2014 no coding skills required! Why You Should Host Google Fonts Locally in WordPress 1. Faster Website Load Times By default, WordPress themes and page builders (like Elementor, Astra, or Divi) often load fonts from Google&#8217;s CDN. While fast, it still adds external HTTP requests. Hosting fonts locally eliminates these external calls, which speeds up your website dramatically. 2. Better SEO Rankings Google uses page speed as a ranking factor. Fewer external requests mean faster pages, and faster pages mean better SEO. It&#8217;s a small change with a big impact. 3. Improved Privacy Compliance (GDPR) In Europe and other regions, loading fonts from Google can violate privacy laws. By hosting fonts locally, you avoid sending user IP addresses to third-party servers \u2014 which makes your WordPress site more GDPR-compliant. How to Host Google Fonts Locally in WordPress (Step-by-Step) You have two main options: manual method (for advanced users) or WordPress plugins (recommended for most). Method 1: Using the OMGF Plugin (Recommended) OMGF \u2013 Host Google Fonts Locally is a free plugin that automates the entire process for you. Steps: Install the OMGF plugin from the WordPress dashboard. Go to Settings &gt; Optimize Google Fonts. Choose &#8220;Download Fonts to Local Folder&#8221;. Click \u201cSave &amp; Optimize\u201d. That\u2019s it! OMGF will detect the fonts your theme or builder uses, download them, and serve them from your own server. Official OMGF Documentation Method 2: Manual Integration (Advanced Users) If you&#8217;re comfortable working with FTP and CSS, follow these steps: Step 1: Use Google Webfonts Helper Choose your font (e.g., Roboto), select only the weights you need, and download the zip package with CSS and font files. Step 2: Upload Font Files Using FTP or your hosting file manager, upload your fonts (preferably .woff2) to wp-content\/themes\/your-theme\/fonts\/. Step 3: Add CSS to Your Theme Add the provided @font-face CSS to your theme\u2019s style.css or via the Customizer: @font-face { font-family: &#8216;Roboto&#8217;; src: url(&#8216;\/wp-content\/themes\/your-theme\/fonts\/roboto.woff2&#8217;) format(&#8216;woff2&#8217;); font-weight: 400; font-style: normal; font-display: swap; } Step 4: Replace Font in Theme Settings or CSS Use the new font-family in your custom CSS or Elementor settings: body { font-family: &#8216;Roboto&#8217;, sans-serif; } Bonus Tips for Google Fonts Optimization in WordPress Use only needed weights and styles to reduce file size. Always preload fonts in your &lt;head&gt; for faster rendering: &lt;link rel=&#8221;preload&#8221; href=&#8221;\/wp-content\/themes\/your-theme\/fonts\/roboto.woff2&#8243; as=&#8221;font&#8221; type=&#8221;font\/woff2&#8243; crossorigin=&#8221;anonymous&#8221;&gt; Use WOFF2 format \u2014 it\u2019s smaller and supported by all modern browsers. Best Plugins to Host Google Fonts Locally Plugin Features Free OMGF Automatic download &amp; integration \u2705 Autoptimize Can combine with OMGF for better optimization \u2705 Perfmatters Premium performance plugin \u274c Internal and External Resources \ud83d\udd17 Google Fonts official site \ud83d\udd17 WordPress Speed Guide from WP Rocket Final Thoughts Hosting Google Fonts locally in WordPress is a smart and simple optimization that: Boosts your website speed Improves SEO Keeps your site GDPR compliant Whether you choose a plugin like OMGF or go the manual route, this change can have a huge impact on your performance metrics and search rankings. At Kickoff Advertising, we help brands build faster, better-performing websites. Want a custom audit of your WordPress site? Let\u2019s talk!<\/p>","protected":false},"author":2,"featured_media":17499,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","footnotes":""},"categories":[21,72],"tags":[],"class_list":["post-17498","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-seo","category-web-design"],"acf":[],"_links":{"self":[{"href":"https:\/\/kickoffadvertising.com\/es\/wp-json\/wp\/v2\/posts\/17498","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kickoffadvertising.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kickoffadvertising.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kickoffadvertising.com\/es\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/kickoffadvertising.com\/es\/wp-json\/wp\/v2\/comments?post=17498"}],"version-history":[{"count":0,"href":"https:\/\/kickoffadvertising.com\/es\/wp-json\/wp\/v2\/posts\/17498\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kickoffadvertising.com\/es\/wp-json\/wp\/v2\/media\/17499"}],"wp:attachment":[{"href":"https:\/\/kickoffadvertising.com\/es\/wp-json\/wp\/v2\/media?parent=17498"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kickoffadvertising.com\/es\/wp-json\/wp\/v2\/categories?post=17498"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kickoffadvertising.com\/es\/wp-json\/wp\/v2\/tags?post=17498"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}