The Favicon.now Blog
Working notes from the icon bench: what browsers actually request, what breaks after a deploy, and what changed in the tools since the last release.
Latest posts

Image SEO: How to Get Your Images Into Google Images
The signals Google uses to find and rank images: file names, alt text, surrounding text, image sitemaps, and crawlable image URLs.

Stop Images From Shifting Your Layout (CLS Fix)
Why images cause layout shift, and how width, height, and aspect-ratio fix it, including responsive images, ads, and embeds.

Lazy Loading Images Without Hurting Your LCP
Use loading=lazy and fetchpriority the right way: which images to defer, which to load first, and how to find your Largest Contentful Paint image.

Responsive Images Explained: srcset, sizes, and picture
How srcset, sizes, and the picture element let browsers download the right image for each screen, with copy-ready examples and common mistakes.

WebP vs AVIF vs JPEG vs PNG: Which Image Format to Use
A plain comparison of AVIF, WebP, JPEG, PNG, and SVG for websites, with file size, browser support, and a simple rule for picking each one.

How to Write Image Alt Text for SEO and Accessibility
Write alt text that helps screen reader users and search engines: when to describe, when to leave alt empty, and examples for common image types.

Open Graph Image Size: The 1200×630 Rule and Its Exceptions
The og:image size, tags, and file limits that make link previews look right on Facebook, LinkedIn, X, Slack, and iMessage, plus how to test them.
What gets published on this blog
The blog is the shorter, faster companion to the reference library. A guide answers a question completely and gets revisited whenever the underlying documentation moves. A blog post is narrower on purpose. It takes one situation, shows what happened, and stops.
Three things end up here. The first is observed browser behaviour: which icon a browser actually picked in a given test, what it requested, and in what order. The second is deployment reality: proxies, caches, catch-all routes, and the other ordinary infrastructure that turns a correct icon package into a broken tab. The third is release notes for the tools on this site.
Every post carries a publication date and the same editorial rules as the rest of the site. Claims are scoped to what was tested. Where a post rests on a specification or a vendor document, that source is linked in the body rather than paraphrased and left unattributed.
How the schedule works
Posts publish one at a time, spaced several days apart, and a post stays invisible until its date arrives. There is no backlog dump: even when several pieces are ready, they queue and appear in order. That keeps the archive readable and gives each piece its own moment on the index above.
- One post per release slot, oldest queued piece first.
- Dated on publication, and re-dated only when the copy is materially revised.
- Listed in the sitemap the moment it becomes reachable, never before.
How it relates to the guides
Use the blog for the specific, and the library for the complete. If you are shipping an icon package today, start with the guides. If you want to know why a particular browser did something surprising last week, the blog is the better read.
The two link to each other freely. A post that touches sizing points at the sizing guide instead of restating it, and the guides link back when a post documents a case worth seeing.
Where to go next
If something on your own site is broken right now, skip the reading. Run the live checker against the page, look at what is actually served, then come back for the explanation.
From favicon idea to verified deployment
Follow one clear path through creation, inspection, installation, and troubleshooting.