Фавикон, который не обновляется, обычно застрял в браузере: браузеры хранят фавиконы в собственном кеше, и обычное обновление страницы его не затрагивает. Быстрее всего задать иконке новый URL: другое имя файла или параметр версии вроде /favicon.svg?v=2, и обновить теги <link>. Но сначала убедитесь, что сервер и CDN действительно отдают новый файл.
Сначала: отдаёт ли сервер новую иконку?
Откройте URL иконки напрямую, например https://example.com/favicon.ico, в приватном окне. Если там видна старая иконка, проблема на стороне сервера: CDN или прокси всё ещё держит старый файл, деплой его не заменил или HTML указывает на другое место. Favicon Checker загружает каждую объявленную иконку заново и показывает заголовки кеша, которые отправляет ваш сервер.
Смените URL
Новый URL обходит кеш браузера, CDN и Google за один шаг:
<link rel="icon" href="/favicon.ico?v=2" sizes="32x32">
<link rel="icon" href="/favicon.svg?v=2" type="image/svg+xml">
<link rel="apple-touch-icon" href="/apple-touch-icon.png?v=2">
Сделайте то же для иконок манифеста. Сам /favicon.ico переименовать нельзя, потому что браузеры запрашивают именно этот путь; тут помогает сброс кеша CDN.
Очистка кеша в браузере
- Chrome и Edge: откройте URL иконки во вкладке, нажмите Ctrl+Shift+R (Cmd+Shift+R на Mac), затем обновите свою страницу. Иконки хранятся вместе с историей, так что если старая не уходит, удалите записи сайта из истории или перезапустите браузер.
- Firefox: обновление по прямому URL работает и здесь. Firefox тоже хранит иконки вместе с историей: откройте Library, щёлкните сайт правой кнопкой и выберите Forget About This Site.
- Safari: полностью закройте Safari и откройте снова. На Mac помогает ещё Develop → Empty Caches (меню Develop включается в Settings → Advanced).
Настройте заголовки кеша
Иконки меняются редко, поэтому долгое кеширование допустимо, если при смене иконки меняется URL. Файлы с версией в имени или параметре можно кешировать на год:
Cache-Control: public, max-age=31536000, immutable
Для иконок по фиксированным путям, таких как /favicon.ico, срок от суток до недели избавит посетителей от месяцев ожидания после ребрендинга:
Cache-Control: public, max-age=604800
Главные экраны и установленные приложения
iOS копирует Apple touch icon, когда пользователь добавляет сайт на главный экран, и больше её не обновляет. Посетителю нужно удалить ярлык и добавить его снова. С установленными веб-приложениями иначе: Chrome время от времени проверяет манифест установленного приложения и подхватывает изменённую иконку. На Android он может спросить пользователя, прежде чем сменить её.
Поиск Google
Google обновляет фавикон, когда заново сканирует вашу главную страницу, а это занимает от нескольких дней до нескольких недель. Чтобы подтолкнуть его, запросите индексацию главной страницы в Search Console. Если иконка всё равно не меняется, сверьте её с требованиями Google к фавикону.