Image SEO is one of those topics bloggers either ignore or over-complicate. The right approach is small, repeatable habits applied to every image — not a separate workflow. This post lays out the checklist that covers what actually matters.

Short answer: Image SEO is six things — descriptive file names, real alt text, modern formats (WebP), proper sizing, lazy loading, and a thoughtful featured image. Get all six right per image and your blog gets faster, more accessible, and ranks in image search.
Image SEO checklist showing file name, alt text, format, size, lazy loading, and featured image

1. File names

The file name is the first signal. Default phone uploads are IMG_2381.jpg or screenshot-2024-03-15.png. These tell search engines nothing.

Rename every image before you upload:

  • Lowercase only.
  • Hyphens between words, not underscores or spaces.
  • Describe what’s actually in the image.
  • Include the post’s primary keyword on one or two key images, naturally.

Good examples: block-editor-paragraph-block.png, vegan-sourdough-rising.jpg, wordpress-dashboard-2026.png.

Bad examples: IMG_2381.jpg, image1.png, final_FINAL_v3.jpg.

2. Alt text

Alt text serves two audiences: screen readers and search engines. Get the screen reader version right and the SEO version is right too.

Good alt text describes what’s in the image as if you were reading the page to someone who can’t see it.

  • Bad: “Image.”
  • Bad: “wordpress hosting cheap fast best 2026” (keyword stuffing).
  • Good: “WordPress admin dashboard showing the Posts menu open.”
  • Good: “Two slices of vegan sourdough on a wooden cutting board.”

Length: 8–15 words is a good target. Long enough to be specific. Short enough to scan.

Decorative images (purely visual, no informational content) can have empty alt text (alt="") so screen readers skip them. Don’t use empty alt for content images.

Include the post’s primary keyword on one image if it fits naturally. Don’t force it on every image. Repeating the same keyword as alt text on 10 images looks spammy.

WordPress media library showing the alt text field for an image

3. File format

In 2026, the right formats:

  • WebP for most images. Modern format. 25–35% smaller than JPEG at the same quality. Universal browser support.
  • JPEG as fallback or for photographs if you’re not converting to WebP.
  • PNG for graphics, screenshots, logos with transparency.
  • SVG for icons and logos. Vector, scales to any size, tiny file size.
  • AVIF for cutting-edge sites. Even smaller than WebP but support is still uneven. Use as a progressive enhancement.

Most modern image-optimization plugins (Imagify, ShortPixel, Smush) convert uploads to WebP automatically. Set this up once and forget about it.

4. Sizing

Don’t upload a 4000×3000 photo from your phone when the blog displays it at 800×600. The browser still downloads the full file.

  • Resize images to the maximum size your blog displays them at before uploading.
  • For most blogs, max width 1200–1600 pixels covers desktop displays at 2x density (retina).
  • Set quality at 80–85%. Above 85, the file size grows fast for invisible quality gains.

Tools that handle this:

  • Squoosh (free web tool from Google).
  • TinyPNG / TinyJPG (free web tool).
  • Imagify, ShortPixel, Smush (WordPress plugins that auto-compress on upload).

5. Lazy loading

Lazy loading means images below the fold don’t load until the reader scrolls near them. Saves bandwidth and improves perceived speed.

WordPress has lazy loading built in since version 5.5. Most modern themes use it by default. Verify by viewing source on one of your posts — images below the fold should have loading="lazy".

The exception: the featured image (above the fold) should load eagerly. Lazy loading it can hurt LCP (Largest Contentful Paint), a Core Web Vitals metric Google cares about. Some themes handle this automatically; others need manual override.

6. Featured images

The featured image gets special treatment:

  • It shows up on archives, homepage, and social shares.
  • It’s often the LCP element on single-post pages.
  • It’s the first impression for readers landing from search.

Per featured image:

  • Specific, descriptive file name.
  • Strong alt text that includes the post’s primary keyword (this is one place to do it).
  • Sized appropriately — 1200×630 is the standard for social sharing.
  • Eagerly loaded, not lazy.
  • WebP or optimized JPEG.

What about image search?

Google Image Search drives real traffic to blogs that get image SEO right. The signals Google uses to rank images:

  • File name and alt text relevance.
  • The surrounding text on the page.
  • The page’s overall topical authority.
  • Image file format and size (faster, smaller images rank better).
  • Whether the image is original or stock.

Original images consistently outperform stock. A custom screenshot, a diagram you made yourself, or a photo you took will out-rank Unsplash stock every time.

The plugin question

For most WordPress blogs, one image optimization plugin is enough. Top options:

  • Imagify. Owned by WP Rocket team. Easy setup, good defaults.
  • ShortPixel. Aggressive compression, good free tier.
  • Smush. Long-established, generous free tier.
  • EWWW Image Optimizer. Fully local optimization (no third-party servers required).

Pick one. Install it. Configure WebP conversion and bulk optimize your existing library. Set-and-forget.

The audit you should run once

For an existing blog:

  1. Go through your media library.
  2. Find images with no alt text. WordPress shows a column. Fix the worst offenders (high-traffic post images first).
  3. Check file sizes. Images over 500 KB should be compressed.
  4. Run a bulk optimization plugin to convert everything to WebP.
  5. Rerun PageSpeed Insights. The improvement is often dramatic.

Total time: a couple of hours. Compounds forever.

The short version

Image SEO is six small habits: descriptive file names, real alt text, modern formats (WebP), proper sizing before upload, lazy loading for below-the-fold images, and thoughtful featured images. Apply consistently and your blog gets faster, more accessible, and starts pulling traffic from image search. Install one optimization plugin and let it handle the bulk work. Audit your existing library once.