Dev.to WebDev πŸ›  Dev πŸ‘ 0 πŸ“– 5 min read

Image SEO and Open Graph hygiene for small WordPress sites

Image SEO and Open Graph hygiene are still how small WordPress sites get discovered in Google Images, earn a usable social preview when someone pastes a URL, and avoid shipping a theme screenshot as the public face of ev

Image SEO and Open Graph hygiene are still how small WordPress sites get discovered in Google Images, earn a usable social preview when someone pastes a URL, and avoid shipping a theme screenshot as the public face of every share. They are not a full Core Web Vitals redo, not title/meta SERP copy, and not a substitute for canonical tags when the wrong URL ranks. They are how media and previews describe the right page so humans and crawlers are not left guessing from IMG_4021.jpg.

On sites under a few hundred URLs, the failure modes are boring and expensive: keyword-stuffed alts, missing width/height, multi‑megabyte heroes, OG titles that disagree with the page, the theme screenshot.png as og:image, useless filenames, and lazy-loading the above-fold hero. Fix those before you buy another β€œAI alt text” plugin.

What each piece actually does (no textbook)

Alt text: accessible name when the image cannot be seen; also a relevance hint for image search. Describe honestly β€” do not dump the primary keyword five times.

Filename: last path segment. Prefer readable slugs (austin-leak-repair-before.jpg) over camera dumps. Name before upload when you can; renaming after is awkward in WordPress.

Width / height (or reserved aspect-ratio): tell the browser how much room to keep. Missing dimensions invite CLS and make β€œhuge hero” debugging harder.

Open Graph (og:title, og:description, og:image, og:url): what Facebook, LinkedIn, Slack, iMessage, and many scrapers use. Twitter/X cards are adjacent. These are not the Search title tag β€” align them; fixing one does not fix the other.

Featured / social image in SEO plugins: Rank Math, Yoast, and friends often write OG from the featured image. Empty featured β†’ sitewide default β†’ or the theme screenshot.

You do not need a DAM. You need money URLs with honest alts, sane files, dimensions, and a real OG image that matches the page.

Myth: β€œStuff keywords into every alt”

alt="plumber plumbing services best plumber Austin plumber near me" is not image SEO. Screen readers hear salad; image search gets a weak signal.

Prefer: Emergency plumber tightening a shutoff valve under a kitchen sink in Austin

Avoid: primary keyword Γ—5 with no visual description.

Decorative chrome can use alt="". Content images β€” products, before/afters, diagrams β€” need real alts. Synonyms belong in captions and nearby copy, not as an alt stack.

Missing dimensions and oversized heroes (SEO first)

Missing dimensions are usually framed as CLS. For small-site discoverability, the cousin problem is shipping a 4000px original as a 1200px hero with no compression: users and scrapers pay, previews time out, and Image results prefer assets that actually load. Light LCP note only: a bloated above-fold hero is often the LCP element, so shrinking it helps CWV as a side effect β€” this wave stays about usable media and previews, not a lab-score campaign.

Check Sensible target
Hero display width Match layout (often ≀1200–1600 CSS px)
File weight Well under ~200–300 KB when quality allows
Format WebP/AVIF with fallback if needed
HTML dimensions width + height (or reserved aspect-ratio)

One trusted optimizer beats five overlapping image plugins.

OG title / image mismatches

Previews fail trust when og:title still says β€œHome” on a service guide, og:image is a logo-on-white for a before/after post, og:description is the site tagline on every URL, or a 150Γ—150 avatar is stretched into a 1.91:1 card.

Scrapers cache hard. After edits, re-scrape money URLs in Facebook Sharing Debugger / LinkedIn Post Inspector (or equivalent). When two URLs overlap, settle the winner with canonical tags first β€” then put the strong OG package on the canonical URL.

Default theme screenshot as og:image

No featured image and no sitewide social default β†’ theme screenshot.png becomes every share card. Recipients see generic theme marketing, not your page. CTR from LinkedIn and Slack dies even when the URL is perfect.

Fix: set an explicit default OG image in your SEO plugin (brand-safe, ~1200Γ—630, real photo or designed card). Override per money URL with a relevant featured/social image. Spot-check Home and top posts with a fresh scrape.

Campaign links can use a URL shortener for tracking; the destination still needs correct og:* tags. Do not assume the short link invents a good card.

Filename vs alt

Related, not duplicates. Filename: stable, lightly descriptive. Alt: accessibility/description for this placement. Caption / nearby copy: human context. Do not put the sales pitch in the filename. Do not leave DSC_01992.JPG and hope a novel alt cancels it out. Same file in two posts may need two alts.

Lazy-load pitfalls for above-fold

loading="lazy" on below-fold galleries is fine. Lazy on the hero / LCP image delays first paint and muddies audits. WordPress and many themes auto-lazy content images; heroes often need an explicit not lazy / fetchpriority="high" path.

  1. Hero: do not lazy-load.
  2. Give it dimensions.
  3. Prefer sized srcset so mobile is not handed the desktop master.
  4. Confirm OG image is an absolute HTTPS URL, not relative or localhost.

Discoverability footnote with a light performance edge β€” not a full INP/CLS program.

WordPress gotchas

Two SEO plugins racing og:image; page-builder background images with no alt; CDN offload breaking absolute OG URLs; mixed-content image URLs; Media Library re-uploads of the same photo under new names. Keep one head-tag writer. If the image carries meaning, use a real <img> (or accessible text), not only CSS background.

35-minute practical pass

  1. List money URLs.
  2. Confirm og:title / og:image / og:url β€” kill theme-screenshot defaults.
  3. Heroes: weight, dimensions, not lazy.
  4. Rewrite stuffed or empty content alts.
  5. Name future uploads before Media Library.
  6. Re-scrape OG on changed URLs.
  7. Spot-check one share in Slack/iMessage if needed.

Closing

Image SEO and Open Graph on small WordPress sites fail from alt stuffing, missing dimensions, oversized heroes, OG mismatches, theme-screenshot defaults, useless filenames, and lazy heroes β€” not from missing an enterprise DAM. Ship media that loads, describes itself honestly, and previews as the page you meant to share.

More practical technical notes: blog. Free utilities when you need them: tools.

β€” Riichi Mirza

πŸ“° Read the original article on Dev.to WebDev

Originally published by Dev.to WebDev. Aggregated on AIWithGhost for educational purposes β€” full credit and traffic to the original publisher.