プラットフォーム別の favicon
アイコンファイル自体はどこでも同じですが、置き場所は異なります。自分のスタックを選び、その慣習に合わせて書かれたガイドに従ってください。全部で 14 本あり、実際のファイルパスと設定が載っています。
フレームワーク
Next.js はアイコンを、手書きの link タグではなくファイルから解決します。正しいファイル名を正しいディレクトリに置けば、フレームワークが代わりにマークアップを出力します。
ガイドを見るReact はドキュメントの head に一切手を触れません。アイコンの link は HTML のシェルに置くことになり、それがどのファイルかは、プロジェクトを Create React App と Vite のどちらで生成したかによって決まります。
ガイドを見るVue の単一ファイルコンポーネントは、head に link タグをレンダリングできません。アイコンは index.html で宣言し、そのファイルは Vite ではプロジェクトルートに、Vue CLI では public/ の中にあります。
ガイドを見るAngular は、ビルド設定がそう指示した場合にのみ静的ファイルをコピーします。angular.json の assets エントリーにマッチしないファイルは、プロジェクトのどこに置いても dist/ には届きません。
ガイドを見るSvelteKit は static/ の中身をすべてビルドのルートへコピーし、ドキュメントのシェルはコンポーネントではなく src/app.html です。アイコンのタグはそこに置くことで、JavaScript が動く前の、配信される HTML に含まれます。
ガイドを見るNuxt はデフォルトで、すべてのページに /favicon.ico への link を挿入します。そのため新規プロジェクトは、public/ にファイルを置くまでその 404 を記録します。残りのアイコンは nuxt.config の app.head ブロックで宣言します。
ガイドを見る静的サイト
CMS
Eコマース
ノーコード
Squarespace はファビコンを browser icon と呼び、それはサイト設定でアップロードする 1 枚の正方形画像です。ファイルシステムも、編集できるテンプレートもないため、その 1 回のアップロードで得られるものがほぼすべてです。
ガイドを見る