How to Add Google Fonts to Your WordPress Site

Typography is one of the most impactful design decisions for your WordPress site. The default system fonts (Arial, Times New Roman, Georgia) are readable but generic. Google Fonts gives you access to 1,400+ professional typefaces — all free — that can give your site a distinct, polished identity.

Adding Google Fonts to WordPress is something every beginner can do. This guide covers four methods, from the simplest (theme settings) to the most flexible (manual enqueuing), plus the performance-conscious approach of self-hosting fonts.

What Are Google Fonts?

Google Fonts is a free library of open-source typefaces maintained by Google. You've seen them everywhere — Inter, Roboto, Open Sans, Lato, Montserrat, Playfair Display are some of the most popular.

They're free to use on any website, available in multiple weights and styles, and designed for readability at screen sizes.

By default, websites load fonts from fonts.googleapis.com — Google's servers. This is convenient but adds an external HTTP request that can slightly slow your page. We'll cover how to self-host them for better performance later.

01
Through Your Theme's Customiser (Easiest — No Code Required)

Most modern WordPress themes include Google Fonts selection directly in the theme's settings. This is the simplest method — no plugins, no code.

For Themes with Font Customisation (Astra, Kadence, GeneratePress, etc.):

Astra:

  1. Go to Appearance → Customize
  2. Click Global → Typography
  3. Click Font Family for Body or Headings
  4. Search for your desired Google Font name (e.g., "Inter" or "Lato")
  5. Google Fonts appear in the dropdown — select your font
  6. Choose the font weight (Regular 400, Medium 500, Bold 700, etc.)
  7. Click Publish

Kadence:

  1. Go to Appearance → Customize
  2. Click Typography → Body Typography
  3. Click the Font Family field → search and select your Google Font
  4. Adjust size, weight, and line height
  5. Repeat for Heading Typography
  6. Click Publish

GeneratePress:

  1. Go to Appearance → Customize
  2. Click Typography
  3. Select font families from the dropdown for body, headings, and navigation
  4. Publish
Pro Tip: This method is preferred when your theme supports it — the theme handles all the loading optimisation.
02
Using a Plugin (Easy — No Code Required)

If your theme doesn't include font selection in the Customiser, a plugin handles it.

Google Fonts for WordPress (Free — by DanielBoxer)

  1. Go to Plugins → Add New
  2. Search "Google Fonts for WordPress"
  3. Install and activate
  4. Go to Settings → Google Fonts
  5. Browse and select fonts for different elements (body, headings, etc.)
  6. Save settings

OMGF (Optimize My Google Fonts — Recommended for Performance)

OMGF serves Google Fonts from your own server instead of Google's servers — combining font loading with performance optimisation.

  1. Install OMGF | GDPR/DSGVO Compliant, Faster Google Fonts (free)
  2. Go to Settings → Optimize Google Fonts
  3. Load a page — OMGF detects any Google Fonts currently being used by your theme or plugins
  4. Click Save & Optimize — OMGF downloads the fonts and serves them locally
  5. Your site now loads Google Fonts from your server, not Google's

OMGF is particularly useful if:

  • Your theme loads Google Fonts from Google's CDN and you want to self-host them
  • You want to comply with GDPR (fonts loaded from Google's servers send visitor IP to Google)
  • You want to improve your PageSpeed score by eliminating external font requests
03
Manual — Adding Google Fonts via functions.php

This is the developer-preferred method. It gives you complete control and follows WordPress best practices for enqueuing resources.

Important: Always do this in a child theme's functions.php, not the parent theme's file.

Step 1: Find Your Font URL on Google Fonts

  1. Go to fonts.google.com
  2. Search for your desired font (e.g., "Lato")
  3. Click the font → select the styles you want (Regular 400, Bold 700, etc.)
  4. Look at the "Selected families" panel on the right
  5. Under "Use on the web," you'll see an <link> tag

Copy the URL from the third link — e.g.:

URL
https://fonts.googleapis.com/css2?family=Lato:wght@400;700&display=swap

Step 2: Enqueue the Font in functions.php

Open your child theme's functions.php and add:

PHP
function my_theme_enqueue_google_fonts() {
    wp_enqueue_style(
        'google-fonts',
        'https://fonts.googleapis.com/css2?family=Lato:wght@400;700&display=swap',
        array(),
        null
    );
}
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_google_fonts' );

Step 3: Apply the Font with CSS

The font is now loaded — but not yet applied to any elements. Add CSS to your child theme's style.css:

CSS
/* Apply Lato to the entire site */
body {
    font-family: 'Lato', sans-serif;
}

/* Apply a different font to headings */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Playfair Display', serif;
}

If you're using a custom Google Font for headings only, enqueue that font separately or add it to the same Google Fonts URL:

URL
https://fonts.googleapis.com/css2?family=Lato:wght@400;700&family=Playfair+Display:wght@600&display=swap
04
Using the Customizer → Additional CSS (Quickest Manual Method)

For a quick test or minor CSS additions without editing files:

  1. Go to Appearance → Customize → Additional CSS
  2. Add your @import and font application CSS:
CSS
@import url('https://fonts.googleapis.com/css2?family=Lato:wght@400;700&display=swap');

body {
    font-family: 'Lato', sans-serif;
}
Note: This works but has minor performance downsides versus the wp_enqueue_style() method — CSS @import is render-blocking and slightly slower than the <link> tag approach.

Self-Hosting Google Fonts (Best for Performance and Privacy)

Loading fonts from Google's servers has two downsides:

  • Performance: Adds a DNS lookup and connection to fonts.googleapis.com
  • Privacy (GDPR): Visitor IP addresses are sent to Google

Self-hosting fonts solves both. Download the fonts and serve them from your own server.

Method A: OMGF Plugin (Automatic)

As described in Method 2, OMGF downloads and self-hosts Google Fonts automatically. Recommended for non-developers.

Method B: Manual Self-Hosting

  1. Go to google-webfonts-helper.herokuapp.com
  2. Search for your font → select styles → select "Modern Browsers" (WOFF2 only)
  3. Click Download files — you get a zip of WOFF2 font files
  4. Upload the font files to your server (e.g., /wp-content/themes/yourchild-theme/fonts/)
  5. Add the @font-face declarations to your theme CSS
CSS
@font-face {
    font-family: 'Lato';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('/wp-content/themes/yourchild-theme/fonts/lato-v24-latin-regular.woff2') format('woff2');
}

@font-face {
    font-family: 'Lato';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('/wp-content/themes/yourchild-theme/fonts/lato-v24-latin-700.woff2') format('woff2');
}

body {
    font-family: 'Lato', sans-serif;
}
Pro Tip: The font-display: swap is important — it tells the browser to display text in a fallback font while Lato loads, preventing invisible text during font load.

Choosing the Right Google Font

With 1,400+ options, where to start? A few principles:

For body text: Choose a highly readable sans-serif font. Popular choices: Inter, Lato, Open Sans, Roboto, Source Sans 3.

For headings: Can be more expressive. Popular choices: Montserrat, Playfair Display, Raleway, Nunito, Oswald.

Stick to 2 fonts maximum: More than 2 font families usually creates visual noise rather than sophistication. One for body, one for headings.

Check readability at small sizes: Visit Google Fonts and preview your chosen font at 14–16px. Beautiful at display sizes but unreadable at body size is not useful.

Consider font weight variety: A font with only one weight is less flexible. Fonts like Inter and Lato offer 300, 400, 500, 600, 700 — giving you typographic hierarchy options.

Quick Reference: Method Comparison

Method Difficulty Performance Best For
Theme CustomizerBeginnerGoodMost users with compatible themes
Plugin (Basic)BeginnerGoodUsers without theme font options
OMGF PluginBeginnerExcellentPerformance & GDPR compliance
Manual (functions.php)DeveloperGoodFull control over font loading
Additional CSSBeginnerFairQuick testing
Manual Self-HostingDeveloperExcellentMaximum performance

Popular Google Font Pairings

Body Font Heading Font Vibe
InterPlayfair DisplayModern & Elegant
Open SansMontserratClean & Professional
LatoRalewayMinimal & Sophisticated
RobotoOswaldBold & Corporate
Source Sans 3NunitoFriendly & Approachable

Frequently Asked Questions

Q: Will Google Fonts slow my WordPress site?
A: Loading from Google's servers adds a small external request overhead. The impact is minimal (50–100ms on well-connected networks) but measurable. For the best performance, self-host fonts using OMGF or the manual method above.
Q: How many Google Fonts can I use on one WordPress site?
A: Technically unlimited, but practically limit yourself to 2 font families (body + headings) for design consistency. Loading 4–5 different Google Fonts adds meaningful page weight.
Q: Are Google Fonts free for commercial use?
A: Yes — all fonts in the Google Fonts library are open-source and free for any use, including commercial websites.
Q: My font changed but parts of the site still show the old font. Why?
A: CSS specificity. Some theme CSS or plugin CSS may override your font rules. Use browser developer tools to inspect which CSS is applying to the element and add more specific CSS selectors to override it.
Q: Do I need a plugin to use Google Fonts?
A: No. If your theme supports font selection in the Customiser, you can use Google Fonts without any plugin. Alternatively, you can add them manually via functions.php and CSS. Plugins are optional and mainly for convenience or performance optimisation.

Final Thoughts

Adding Google Fonts to WordPress is one of the most impactful low-effort improvements you can make to your site's visual identity. Start with your theme's Customiser if it supports font selection — it's the easiest path with the least risk.

For performance-conscious sites, the OMGF plugin self-hosts your fonts automatically — a one-time setup that improves both speed and privacy.

Pick two fonts, apply them consistently, and your site will feel more polished and professional immediately.

Need help configuring Google Fonts or improving your WordPress site's design? Our development team handles custom WordPress configurations every day.

Contact us today and we'll sort it out.
Views: 185