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.
- Hero: do not lazy-load.
- Give it dimensions.
- Prefer sized srcset so mobile is not handed the desktop master.
- 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
- List money URLs.
- Confirm
og:title/og:image/og:urlβ kill theme-screenshot defaults. - Heroes: weight, dimensions, not lazy.
- Rewrite stuffed or empty content alts.
- Name future uploads before Media Library.
- Re-scrape OG on changed URLs.
- 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
Originally published by Dev.to WebDev. Aggregated on AIWithGhost for educational purposes β full credit and traffic to the original publisher.