Font Awesomeが「□(豆腐)」になる原因と対処法 ~訪問者側・管理者側を切り分ける

SNSのアイコンが文字化けして「□」になってる!

サイトを訪問してこんな現象に出くわしたことはありませんか?
あるいはサイトを運営していて悩んだことはありませんか?

こうした文字化けはネットスラングで「豆腐」と呼ばれています

見た目がお豆腐ですから。
ただ現在では死語に近いので、使ってる人はインターネット老人会に属しています(私も含めて)。

本稿では豆腐の発生する原因と対処法について説明します。
サイト訪問者・サイト管理者のどちらにも対応しています。

【2024年9月21日全面改稿】

天満川鈴 WRITTEN BY 天満川鈴
スポンサーリンク

豆腐が発生する原因

一言で、

Font Awesomeなどのアイコンフォントが正しく表示されていない状態です

多くのサイトにおいて、SNSの拡散ボタンなどのアイコンはFont Awesomeで表示されています。
Font Awesomeは画像ではなく「アイコンフォント」です。
そのため通常の文字フォントと同じく、読み込み失敗やフォント置換の影響を受けます。

原因の切り分け

豆腐はサイト訪問者・サイト管理者のどちらの原因でも起こりえます。
そのため、まずはどちらに問題があるか切り分ける必要があります。

豆腐の原因を切り分ける方法その1:
Chromeのシークレットウィンドウから該当のページにアクセスし直します。

これで正しく表示される場合は訪問者の環境に原因があります。
正しく表示されない場合は、さらに次の手段を講じます。

豆腐の原因を切り分ける方法その2:
拡張機能を全てオフにした上で、シークレットウィンドウからアクセスし直します。

拡張機能プラグインの中にはシークレットウィンドウでも適用させるオプションを持つものもあるためです。
これで正しく表示されるなら、やはり訪問者の環境に原因があります。

以上の手段によっても豆腐のままの場合はサイト側に原因があります

訪問者が原因の場合

Font Awesomeは画像ではなくフォントです。
そのため、

Chromeに拡張機能プラグインで特定フォントの強制をするとFont Awesomeも影響を受けます。

かようなプラグインの例としてはStylusが挙げられます。
文字フォントではFontAwesomeのアイコンに対応できないので文字化けを起こすわけです。

ちなみに、

私もやらかしました……しかも2回繰り返しました……

サイト側が原因の場合

1 単純な記述ミス

まず、単純にコードの記述ミスをしている可能性があります。
Chromeなら該当箇所を選択して右クリック。
「検証」でチェックしてみてください。

2 FontAwesomeの4と5のフォント名を間違えて記述している

FontAwesomeのバージョン違いのコードを記述しているケースが考えられます。
4と5(恐らく6も)の間で起こりえます。

例えばTwitterのケース。

  • FontAwesome4 fa fa-twitter
  • FontAwesome5 fab fa-twitter

ブランドアイコンのbがつくようになりました。

このミスは案外あります。
4を使っていたサイトが5に移行すると高確率でどこかに問題が生じます。
テーマが管理する部分は自動で変えてくれます。
しかし独自カスタマイズを施した部分は自分で直さなければいけません。
その過程で見落としてしまうんです。

やっぱり私も4から5に移行したときはやらかしました

見落とし対策について。
記事内に限ってならプラグインSearch Regexが使えます。
「fa- fa」で検索を掛けると、記事内で使っているバージョン4のFontAwesomeが並びます。
どのアイコンを使っているかをチェックして、今度はそのアイコン名で検索してリライトします。
twitterなら「fa fa-twitter」で検索、「fab fa-twitter」に一括でリライトできます。
この作業を繰り返します。

ただ、独自カスタマイズの場所はそんなに多くないはず。
ざっと眺めた後は自分で直接直した方が早いと思います。

3 Font Awesomeを非同期で読み込んでいる

Font Awesomeを非同期で読み込んでいる可能性もあります。
Font AwesomeはCSSとフォントファイルの読み込み順に依存するため、非同期化・遅延読み込み・最適化系機能との相性問題が起こることがあります。

もちろん対処法は、

非同期読み込みを止めてください

もちろん読み込み順を調整してもOKです。
しかしそれがわかる方なら、この記事を読んでいないと思います。

4 Xのアイコンが鳥マークのままになっている

豆腐ではありませんが、Xのアイコンが鳥マークのままのケースもあります。
Font Awesome4や古い5系環境だとTwitter→X変更に追従できていないことがあるためです。

少なくともCocoonについてはテーマでXアイコンを用意してくれています。
なのでCocoonの最新版にアップデートすれば大部分に適用されます。
(ウィジェットなどを含む)独自カスタマイズ部分については自分で修正してください。

5 テーマのアップデートが正しく適用されていない

「テーマをアップデートしたはずなのに表示されない!」あるいは「テーマをアップデートしたら表示されなくなった!」。
実はこういう現象もあるんです。
理由は、

テーマのアップデートがきちんとあたっていないためです

私のケースでは、Cocoonのアップデートがあたっていませんでした。
Cocoonに問題があるのか、WordPressに問題があるのか、キャッシュその他に問題があるのか。
理由はわかりませんが、過去に2回あります。

対処法は、テーマのアップデートを手動でやり直します

以下はCocoonの場合です。
公式からファイルをダウンロードし、手動でサーバーにアップロードして更新します。
「WordPress管理画面サイドバーの外観→テーマ→新規追加→テーマのアップロード→(ローカルから)ファイルを選択→インストール」の手順となります。
確認を促されますが続行します。
もしうまくいかなかったら以前のバージョンも試してみてください。

まとめ

Font Awesomeが豆腐になるケースは多くの場合で人災です。
自戒を込めてそう言わせていただきます。

なお、

当サイトでは、SVG直埋めへ移行しています

本記事で書いたような読み込みトラブルを減らすためでもありますし。
読み込みそのものが重いので、サイトを軽量化するには向かないのもあります。

SVGにもHTMLの可読性が下がるなどのデメリットがありますので、手放しでは勧められません。
一方アイコンフォントを使う場所を絞った上で用いるなら。
表示面において、あるいはサイト速度面において、絶大な効果を得られるかもしれません。

よかったらSVGも試してみてください!

 

スポンサーリンク
天満川 鈴のプロフィール画像
WRITTEN BY

天満川 鈴

未経験からWEB業界に入り、現在はWEBディレクターとして実務に従事。 要件整理・導線設計・コンテンツ構成などを学びながら、日々改善を重ねています。 AIを活用したコンテンツ制作・効率化を強みとし、プロンプト設計を含めた制作フローの最適化にも取り組んでいます。
本サイトでは、WordPressやサイト制作に関する試行錯誤・検証内容を中心に発信。 技術検証の一環として、KUSANAGI公式サイトにて記事を2回紹介いただきました。

RECOMMENDED INFRASTRUCTURE

私はConoHa以外を勧めない。

2016年からずっとConoHaを使い倒してきました。知人に「一番いいサーバーは?」と聞かれたら、迷わずここを教えます。

レンタルサーバーナンバーワンを誇る高速環境であることはもちろん。私が「黒い画面って何?」というド素人からサイト制作のプロになれたのは、傍らにずっとこのはちゃんがいてくれたから。
私がConoHaを使い続ける、嘘偽りない理由です。

※ConoHaに初めて入会の方限定。
本CTAの画像もしくはボタンを押してWINGパック12か月以上を契約すると、最大5000円割引してもらえます。

公式サイトで詳細を見る
× 閉じる