Favicon по платформам
Файлы иконок везде одинаковые. А вот куда они кладутся — нет. Выберите свой стек и следуйте руководству, написанному под его собственные соглашения: всего 19, с реальными путями к файлам и конфигурацией.
Фреймворк
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/ копируется в корень вывода без изменений.
Открыть руководствоRemix (and React Router framework mode, which is the same route API under renamed packages) does not pick up icons from a special filename. You put files in public/ and return them from the root route's links() export so <Links /> can render them into the document head.
Открыть руководствоLaravel has no icon convention of its own. Files in public/ are served at the site root, and the link tags belong in your Blade layout's head. Getting the web server's document root wrong is the most common reason a perfectly placed favicon.ico still 404s.
Открыть руководствоDjango does not special-case favicons. Icons are ordinary static files collected into STATIC_ROOT and referenced from your base template with the static template tag. In production the collectstatic step is what makes them reachable.
Открыть руководствоRails expects the favicon to go through the asset pipeline. Put the files under app/assets/images and declare them with favicon_link_tag in the application layout so production fingerprinting keeps working.
Открыть руководствоIn ASP.NET Core the web root is wwwroot. Icon files go there, and the link tags go in your layout (MVC/Razor Pages) or App component (Blazor). Static file middleware has to be in the pipeline or every icon 404s regardless of the markup.
Открыть руководствоСтатический сайт
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 для правки.
Открыть руководство