Favicon ToolsПроверитьСоздать
Next.js · Not updating

Favicon не обновляется в Next.js? Вот решение

Файл изменился, а вкладка — нет. В Next.js это один из трёх кэшей: хранилище favicon браузера, устаревшая сборка .next или CDN, отдающий старые байты. Исключайте их в этом порядке.

Сначала убедитесь, что файл действительно изменился

Прежде чем трогать кэши, откройте /favicon.ico напрямую. Если там загружается старое изображение, новый файл вообще не отдавался (проблема сборки или расположения), и никакое жёсткое обновление не поможет. Сначала исправьте это.

Если прямой URL показывает новую иконку, а вкладка по-прежнему старую, это настоящий кэш. Браузеры кэшируют favicon сильнее почти любого другого ассета и хранят их отдельно от страницы.

Сбрасывайте кэши по порядку

  1. 1

    Жёсткое обновление в приватном окне

    Cmd+Shift+R или Ctrl+F5, либо свежее приватное окно. Это очищает собственное хранилище favicon браузера — самого частого виновника.

  2. 2

    Удалите .next и пересоберите

    Устаревшая сборка может продолжать выводить старую иконку. Удалите каталог .next и пересоберите, чтобы Next заново прочитал файлы из каталога app.

  3. 3

    Очистите кэш CDN или платформы

    На Vercel или любом CDN граница может отдавать старый /favicon.ico после редеплоя. Инвалидируйте этот путь, затем снова откройте прямой URL.

Favicon не обновляется в Next.js: частые вопросы

Почему мой favicon в Next.js не обновляется?

Либо новый файл вообще не отдавался (проверьте /favicon.ico напрямую), либо кэш держит старый. Браузеры кэшируют favicon агрессивно, а устаревшая сборка .next или CDN могут продолжать выводить прежний файл после деплоя.

Как принудительно обновить favicon в Next.js?

В Pages Router допишите к href ссылки строку версии. В App Router так нельзя, поскольку тег генерируется: измените файл и сделайте редеплой, удалите .next, чтобы сбросить устаревшую сборку, и очистите CDN.

Локально обновляется, а на Vercel нет.

Граничный кэш отдаёт старый /favicon.ico. Убедитесь, что деплой действительно содержит новый файл, затем очистите кэш или сделайте редеплой, чтобы граница заново его получила, и проверьте прямой URL в приватном окне.

Keep going