Favicon по платформам
Файлы иконок везде одинаковые. А вот куда они кладутся — нет. Выберите свой стек и следуйте руководству, написанному под его собственные соглашения: всего 14, с реальными путями к файлам и конфигурацией.
Фреймворк
Next.js определяет иконки по файлам, а не по link-тегам, которые вы пишете вручную. Положите файл с правильным именем в правильную директорию — и фреймворк сам сгенерирует за вас разметку.
Открыть руководствоReact никогда не трогает head документа. Ссылки на иконки идут в HTML-оболочку, а какой это файл — зависит от того, создан ли проект через Create React App или через Vite.
Открыть руководствоОдиночный файловый компонент Vue не может отрендерить link-тег в head. Иконки объявляются в index.html, который лежит в корне проекта у Vite и внутри public/ у Vue CLI.
Открыть руководствоAngular копирует статические файлы, только если это велит конфигурация сборки. Файл, не подпадающий под запись assets в angular.json, никогда не попадёт в dist/, где бы вы его ни положили в проекте.
Открыть руководствоSvelteKit копирует всё из static/ в корень сборки, а оболочка документа — это src/app.html, а не компонент. Теги иконок место там, чтобы они были в отданном HTML до того, как заработает JavaScript.
Открыть руководствоNuxt по умолчанию вставляет ссылку на /favicon.ico на каждую страницу, поэтому новый проект логирует по нему 404, пока вы не положите файл в public/. Остальные иконки объявляются в блоке app.head в nuxt.config.
Открыть руководствоVite необычен тем, что считает index.html исходным кодом, а не статическим ассетом: он лежит в корне проекта и переписывается на этапе сборки. Всё в public/ копируется в корень вывода без изменений.
Открыть руководствоСтатический сайт
Astro обрабатывает и отпечатывает ассеты, импортированные из src/, и копирует public/ в вывод сборки ровно так, как нашёл. Иконкам нужны стабильные имена файлов, поэтому они идут в public/ и связываются из layout.
Открыть руководствоGatsby — единственный стек здесь, который генерирует набор иконок за вас. gatsby-plugin-manifest берёт одно исходное изображение, названное в gatsby-config.js, и на этапе сборки производит размеры, манифест веб-приложения и link-теги.
Открыть руководствоHugo копирует static/ в корень опубликованного сайта, но разметка head принадлежит той теме, которую вы установили. Хитрость в том, чтобы переопределить partial темы из собственного проекта, а не редактировать файлы под themes/.
Открыть руководствоCMS
WordPress не хочет папку с файлами иконок. Вы загружаете одно квадратное изображение как Site Icon, а ядро обрезает его под нужные размеры и печатает link-теги на каждой странице.
Открыть руководствоE-commerce
В Shopify favicon — это настройка темы, опирающаяся на CDN изображений, а не файл, который вы кладёте на сервер. Тема решает, какие теги выводятся, и большинство тем выводят ровно один.
Открыть руководствоNo-code
Squarespace называет favicon иконкой браузера, и это одно квадратное изображение, загружаемое в настройках сайта. Файловой системы и шаблона для правки нет, поэтому эта единственная загрузка — почти всё, что вы получаете.
Открыть руководствоWix привязывает кастомный favicon к платному тарифу с подключённым доменом. Сайт, всё ещё на поддомене wix.com, показывает собственную иконку Wix, что бы вы ни загрузили. Ни файловой системы, ни head для правки.
Открыть руководство