Favicons por plataforma
Os arquivos de ícone são os mesmos em todo lugar. Onde eles ficam, não. Escolha seu stack e siga um guia escrito para as convenções dele: 19 no total, com os caminhos de arquivo e a configuração reais.
Framework
O Next.js resolve os ícones a partir de arquivos, não das tags link que você escreve à mão. Coloque o nome de arquivo certo no diretório certo e o framework emite a marcação para você.
Ver o guiaO React nunca toca no head do documento. Seus links de ícones vão no esqueleto HTML, e qual arquivo é esse depende de o projeto ter sido criado com Create React App ou com Vite.
Ver o guiaUm componente single-file do Vue não consegue renderizar uma tag link no head. Os ícones são declarados no index.html, que fica na raiz do projeto no Vite e dentro de public/ no Vue CLI.
Ver o guiaO Angular copia arquivos estáticos apenas se a configuração de build mandar. Um arquivo que não é correspondido pela entrada assets no angular.json nunca chega ao dist/, não importa onde você o coloque no projeto.
Ver o guiaO SvelteKit copia tudo em static/ para a raiz do build, e o esqueleto do documento é src/app.html, e não um componente. As tags de ícone pertencem ali para estarem no HTML servido antes de qualquer JavaScript rodar.
Ver o guiaO Nuxt injeta um link para /favicon.ico em toda página por padrão, então um projeto novo registra um 404 para ele até você colocar um arquivo em public/. Os ícones restantes são declarados no bloco app.head do nuxt.config.
Ver o guiaO Vite é incomum ao tratar o index.html como código-fonte, e não como um asset estático: ele fica na raiz do projeto e é reescrito em tempo de build. Tudo em public/ é copiado para a raiz de saída sem alteração.
Ver o guiaRemix (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.
Ver o guiaLaravel 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.
Ver o guiaDjango 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.
Ver o guiaRails 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.
Ver o guiaIn 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.
Ver o guiaSite estático
O Astro processa e gera fingerprint nos assets importados de src/, e copia public/ para a saída do build exatamente como o encontrou. Os ícones precisam de nomes de arquivo estáveis, então ficam em public/ e são vinculados a partir de um layout.
Ver o guiaO Gatsby é a única stack aqui que gera o conjunto de ícones para você. O gatsby-plugin-manifest pega uma única imagem de origem nomeada no gatsby-config.js e produz os tamanhos, o web app manifest e as tags link em tempo de build.
Ver o guiaO Hugo copia static/ para a raiz do site publicado, mas a marcação do head pertence a qualquer tema que você instalou. O truque é sobrepor o partial do tema a partir do seu próprio projeto, em vez de editar arquivos em themes/.
Ver o guiaCMS
O WordPress não quer uma pasta de arquivos de ícone. Você envia uma imagem quadrada como o Ícone do Site, e o núcleo a recorta nos tamanhos que serve e imprime as tags link em todas as páginas.
Ver o guiaEcommerce
No Shopify, o favicon é uma configuração de tema apoiada pelo CDN de imagens, não um arquivo que você coloca num servidor. O tema decide quais tags são renderizadas, e a maioria dos temas renderiza exatamente uma.
Ver o guiaNo-code
O Squarespace chama o favicon de ícone do navegador, e é uma imagem quadrada enviada nas configurações do site. Não há sistema de arquivos nem template para editar, então esse único upload é a maior parte do que você tem.
Ver o guiaO Wix vincula o favicon personalizado a um plano pago com um domínio conectado. Um site ainda em um subdomínio wix.com mostra o ícone do próprio Wix, não importa o que você envie. Não há sistema de arquivos nem head para editar.
Ver o guia