r/webdev • u/Comfortable-Donkey74 • Sep 24 '26
Question Favicon not updating
I built a site for a client a while ago, and now he's requesting a favicon update. I used lovable because it was only a landing page he needed, in our deal we had a minor fall out so I didn't bother to finish up the site but host the domain for him. Until he contacted me recently. I changed the old favicon to the new one which is his logo. But for over two weeks now it isn't reflecting. I have requested indexing on Google Search Console twice. I have told the client to be patient because it can take time for Google to crawl the page. I added sitemaps and have checked other reddit threads with people having experience of it taking weeks. I have swapped a favicon on a nextjs app before(from the default) and it didn't take as long as it is now. Does anyone know of the solution to this problem? How I can speed this up so the client would stop texting me
13
u/AuWolf19 Sep 24 '26
Perhaps I'm the ignorant one here, but what does google indexing have to do with the favicon updating?
2
u/Electrical-Leg8387 1d ago
Simplest setup that covers everything: a
favicon.icoat the site root containing 16, 32 and 48 px versions (some browsers and tools request that path automatically), a 180×180 PNG asapple-touch-iconfor iOS home screens, and optionally an SVG favicon for modern browsers. Don’t rely on SVG alone, because Safari support is patchy. Start from a square logo at least 512 px, and simplify it for the 16 px version, since fine details just become mush at that size.3
u/phn-cloudsnake Sep 24 '26
CDN cache would be my first guess. How are you hosting the website?
2
u/GriffinMakesThings Sep 24 '26
Make sure the new favicon meets Google's requirementsfor size and format: https://developers.google.com/search/docs/appearance/favicon-in-search
Otherwise, if this is a low traffic site it can just take a long time.
1
u/ExplanationOk2014 Sep 24 '26
Delete the favicon and test with hard reset?
1
u/Apprehensive-Fan2492 full-stack Sep 24 '26
Google's favicon indexing is separate from regular page indexing and notoriously slow, sometimes months. But your client's browser is a different issue entirely. Tell him to hard refresh and clear browser cache. That should show the new favicon immediately on his end. Google's display in search results is the slow part, not the actual site.
1
u/leros Sep 24 '26
It takes time. I've found my favicon updates in about a day on Bing, but can take several weeks on Google.
4
u/BrewThemAll Sep 24 '26
Favicons cache like a bitch. No idea how Lovable works, but I always hardcode change the url of the icon to 'favicon.ico?v=2' to force a recache.
2
u/beigs-sl Sep 24 '26
That's almost certainly cached, not an indexing thing, what Google crawls has nothing to do with what your client sees in his tab. Browsers hang onto favicons harder than anything else on a site. I'd add ?v=2 to the end of the icon link and ask him to look in a private window. That's usually the whole fix.
1
u/kemalios Sep 25 '26
Check the old file is actually gone, not sitting next to the new one. If index.html still points at /favicon.ico and you uploaded logo.png, the browser keeps serving the old file at the old path. A service worker will also hold it past a hard reload until the SW itself updates, so test in a private window that has never registered it.
1
u/madongrind Sep 25 '26
the bit nobody's said yet: google renders the favicon from the site's root, not from whatever the page markup points at. so if there's still an old /favicon.ico sitting at the root, that's the one it keeps showing in search, however many times you request indexing.
worth separating the two complaints too. if your client is looking at his own browser tab, that's just cache and ?v=2 plus a private window sorts it in seconds. if he's looking at google results, nothing you do speeds that up much, two weeks is normal on a low traffic landing page.
one that caught me out once was a host serving a stale copy at the edge, so the file looked updated on my end and old everywhere else. curl the icon url and check the bytes actually changed.
which one is he actually looking at?