Content teams lose more time to ad-hoc image decisions than to writing. A fixed pipeline removes the decisions.

Step 1: Source Legally

Decide where images come from, once:

  • Your own photography — legally safest and most distinctive.
  • Licensed stock — record the licence, image ID and date in a spreadsheet.
  • Free-licence libraries — permissive, but check for editorial-only restrictions and identifiable people.
  • AI-generated — understand the copyright limits and label where required.

Never take images from search results. The cost of one claim exceeds years of stock subscription.

Step 2: Fix the Sizes

Define the sizes your site needs and never deviate:

  • Featured image: 1200 × 630 (also serves as the social card).
  • In-article images: 1200 px wide, height as needed.
  • Full-width hero: 1920 px wide.
  • Inline screenshots: captured at 2×, displayed at 1×.

Having fixed numbers means nobody has to think, and every post looks consistent.

Step 3: Crop, Then Resize

Crop to the ratio first (so you control what's lost), then resize to the target width. Never upscale — if the source is smaller than the target, find a better source.

Step 4: Compress to a Budget

  • Featured image: under 200 KB.
  • In-article images: 60–120 KB.
  • Screenshots: PNG, cropped tight; use lossless WebP if size is a problem.

Use a target-size mode rather than guessing quality, and batch the whole post's images at once.

Step 5: Name Files Descriptively

The filename becomes part of the URL permanently:

  • Good: sourdough-starter-day-3-bubbles.jpg
  • Bad: IMG_4821.jpg, Screenshot 2026-07-28 at 14.22.31.png

Lowercase, hyphens, no spaces, no dates unless meaningful.

Step 6: Write Alt Text

One clear sentence describing the image's purpose in this article. Not "image of bread" — "sourdough starter on day three, showing active bubbling". Decorative images get an empty alt attribute.

Step 7: Check the Featured Image Separately

It appears in three places with different crops: your archive listing, social previews, and possibly a newsletter. Keep the subject and any text within the central 80%, and preview the social card before publishing.

Step 8: Publish and Verify

  • Confirm dimensions are declared so the layout doesn't shift.
  • Confirm the hero image is not lazy-loaded.
  • Run one Lighthouse check per month, not per post.

Making It Stick

  • Write the pipeline down as a one-page checklist and put it in your CMS template or content brief.
  • Build a template folder structure per post: originals, working, export.
  • Batch by post, not by image — process all of a post's images in one pass with identical settings.
  • Keep originals outside the CMS. Site redesigns change required sizes, and re-exporting from originals beats upscaling what you uploaded.
  • Review quarterly: check for oversized images that slipped through, broken images, and screenshots showing outdated interfaces.

The whole pipeline should take under ten minutes per post once it's routine — and the consistency it produces is visible on the page in a way individual clever optimizations are not.