“日本語のWebはフォントで決まる”と言っても過言ではありません。ところが、やり方を少し誤るだけで、文字が一瞬消える(FOIT)、表示がガタつく(CLS)、なんとなく重い、WordPressがプラグインと競合、EU配信でGDPRが不安……といった悩みが発生しがちです。
この記事は、そうした“つまずき”を避けるために、最短で正しい貼り方→軽量化→用途別の選び方→WP最適化→トラブル対処までを根拠ベースで一気に通せる実務ガイドです。コードはすべてコピペOK。まずはテンプレを貼り、必要になったら可変フォントや自己ホストへ段階的に広げる設計にしています。
このガイドの使い方
- まずは「最短セットアップ」をコピペ 2) 次に「表示を速く・安定させる4つのコツ」を適用 3) 「用途別の選び方」で本文/見出しを決定 4) WordPressの最適化で安定運用 5) 困ったら「トラブル時のチェックリスト」を順に確認 6) 末尾のFAQを構造化データごとコピー
この記事でわかること
- いちばん速くて安全な正しい貼り方(コピペ可)
- 表示崩れ/もたつきを防ぐ4つのコツ
- 用途別の日本語フォントの選び方と、文字収録の注意点
- WordPressでの最適化とEU/GDPR対応の考え方
最短セットアップ(V2 API/そのままコピペOK)
<head>
のなるべく上に貼ります。
<!-- 1) 事前接続(preconnect):CSS用とフォント本体用の2つが基本 -->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<!-- 2) 必要なウェイトだけを指定し、display=swap を付ける(V2: css2) -->
<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap" rel="stylesheet">
<!-- 3) 日本語環境のフォールバックまで含めたスタック -->
<style>
html { font-size: 16px; }
body {
font-family: "Noto Sans JP", "Hiragino Sans", "ヒラギノ角ゴ ProN",
"Yu Gothic", "游ゴシック Medium", "Meiryo", system-ui, sans-serif;
font-weight: 400;
line-height: 1.8;
}
strong, h1, h2 { font-weight: 700; }
</style>
ここが要点
preconnect
は2ドメイン(fonts.googleapis.com
とfonts.gstatic.com
)。gstatic
側には**crossorigin
**を付ける。&display=swap
で読み込み中も文字が見える(FOITを避ける)。- ウェイトは本文=400、強調=700の最小セットから。増やすほど重くなる。
表示を速く・安定させる4つのコツ(Core Web Vitals対応)
- 接続の先取り … 上のとおり
preconnect
を2つ。ネットワーク待ちを短縮。 - ムダを減らす … 使うフォント数・ウェイトを最小限に。細かな太さが必要なら可変フォント(
wght@200..900
のように範囲指定)で1ファイル化。 - 固定文字は
text=
で軽量化 … ロゴや見出しなど出る文字が決まっている場所だけ、&text=...
で必要文字だけ配信(本文には使わない)。 - フォールバック設計 … 未読込時に近い字幅のOS標準フォントを先に指定しておくと、レイアウトのズレ(CLS)を抑えられます。
可変フォントの例(見出し太め、本文ふつう)
<link href="https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@200..900&display=swap" rel="stylesheet">
<style>
h1 { font-family: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif; font-weight: 800; }
h2 { font-family: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif; font-weight: 700; }
p { font-weight: 400; }
</style>
text=
の例(見出しの固定文字だけ)
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@700&text=%E3%81%A1%E3%81%84%E5%A4%AA%E3%81%AE%E3%83%96%E3%83%AD%E3%82%B0&display=swap" rel="stylesheet">
※
text=
は固定文字向け専用。本文など未知の文字が出る場所には使わない。
日本語フォントの選び方(用途別・短い早見)
- 本文:Noto Sans JP(万能・可読性)/M PLUS 1(長文向け)/Zen Kaku Gothic New(UIにも合う)
- 見出し:Zen Kaku Gothic New(太字が映える)/Rampart One(インパクト)
- やわらか・子ども向け:Kiwi Maru/Zen Maru Gothic
- 明朝:Noto Serif JP/Shippori Mincho
文字収録の注意
- 日本語フォントは収録漢字の範囲に差があります。例えばさわらび系は軽量で扱いやすい反面、漢字の収録が相対的に少なめ。長文の本文用なら、Noto系など収録が広い書体を基本に。
WordPressでの最適化
- 子テーマで管理 … テーマ更新で消えないよう、
preconnect
と<link>
は子テーマで差し込むのが安全。 - WP Rocket等の活用 … Google Fontsリクエストの結合や**
display=swap
の自動付与**、非同期読み込み、最近は**自己ホスト(ローカル配信)**も選べます。 - Web Font Loader(任意) … 読み込み完了イベントでクラスを付ける等、表示制御を細かくしたいときだけ導入(まずは
display=swap
で十分なケースが多い)。
EU向け配信とGDPRメモ
- Google Fontsをリモート配信すると、訪問時にIPアドレスがGoogleに送られる形になります。EU比率が高いサイトでは自己ホストや同意管理の導入を検討しましょう。
- 日本国内向けの個人ブログであれば、通常は最適化+必要に応じて自己ホストで十分です。
よくある質問(簡潔版)
Q. 商用利用できますか?
A. 多くのGoogle Fontsは**オープンライセンス(例:SIL OFL)**で、商用利用も可能です。個別フォントのライセンス表記は都度確認してください。
Q. ページが遅いときの対策は?
A. preconnect
×2、display=swap
、フォント数とウェイト削減、必要箇所の**text=
**、適切なフォールバック設計が基本です。
Q. 表示が当たらない/崩れる
A. 読み込み位置(<head>
上部)・CSS優先度・キャッシュ・CSP・font-display
設定を順に確認します。
まとめ
日本語Webは速さ×可読性×安心の三拍子。まずはテンプレを貼る → ウェイトを絞る → 見出しだけ別フォントの順で、最小構成から始めましょう。必要になったら可変フォントや自己ホストへ広げるのが、コストと効果のバランスが最良です。
コメント