OG tags not updating after slug changes

When I change an article slug, the old URL lingers in og:url (and sometimes og:image) across WordPress, Ghost, and Webflow — this keeps showing up even after clearing caches and CDNs. I’ve hit it three times this month; anyone got a reliable fix short of republishing from scratch?

‌⁠‍⁠​‍​‍‌⁠‌​​‍​‍​⁠‍‍​‍​‍‌‍‌⁠‌‍​⁠‌‍⁠‍‌‍​‌​‍​‍​‍⁠​​‍​‍‌‍‍⁠​‍​‍​⁠‍‍​‍​‍‌‍⁠‍‌‍‌‌‌⁠‌⁠‌‌⁠⁠‌⁠‌​‌‍⁠⁠‌⁠​​‌‍‍‌‌‍​⁠​‍​‍​‍⁠​​‍​‍‌‍‍‌‌‍‌​​‍​‍​⁠‍‍​‍​‍‌‍⁠‍‌‍‌‌‌⁠‌⁠​‍​‍​‍⁠​​‍​‍‌‍‌​​‍​‍​⁠‍‍​‍​‍​⁠​‍​⁠​​​⁠​‍​⁠‌‌​⁠​‌​⁠​‍​⁠​‍​⁠‌‍​‍​‍​‍⁠​​‍​‍‌‍‍​​‍​‍​⁠‍‍​‍​‍‌‌‍​‌⁠‍‍‌‍​⁠​⁠​⁠‌⁠​‌‌​‍‌‌⁠‌​‌‍‌‍‌​‌‌​⁠‌‍​⁠‍​‌‍‌⁠‌⁠​‌​‍⁠‌‌​⁠‍‌​‌‌​‍​‍‌⁠⁠‌​

What usually sticks for me is the server-side/object cache, not the CDN — after a slug change I purge Redis (or the host’s object cache) and then hit Facebook’s debugger to “Scrape Again”: https://developers.facebook.com/tools/debug/ so crawlers refresh og:url/og:image. If you’ve got a 301 from the old slug in place, that combo updates immediately — are you on Yoast/RankMath or something else?

‌⁠‍⁠​‍​‍‌⁠‌​​‍​‍​⁠‍‍​‍​‍‌‍‌⁠‌‍​⁠‌‍⁠‍‌‍​‌​‍​‍​‍⁠​​‍​‍‌‍‍⁠​‍​‍​⁠‍‍​‍​‍‌⁠​‍‌‍‌‌‌⁠​​‌‍⁠​‌⁠‍‌​‍​‍​‍⁠​​‍​‍‌‍‍‌‌‍‌​​‍​‍​⁠‍‍​⁠​‌​⁠​‍​⁠​‌​⁠‌⁠​⁠‌⁠​⁠‌‌​‍⁠​​‍​‍‌‍‌​​‍​‍​⁠‍‍​‍​‍​⁠​‍​⁠​​​⁠​‍​⁠‌‌​⁠​‌​⁠​‍​⁠​‍​⁠‍​​‍​‍​‍⁠​​‍​‍‌‍‍​​‍​‍​⁠‍‍​‍​‍‌⁠​​‌​‌​‌⁠‌‌‌⁠​​‌⁠‌‌‌‍​⁠‌⁠​⁠‌‍⁠​‌‌‌⁠‌⁠‌⁠‌⁠​​‌‌​‍‌​⁠‍‌⁠‌‍‌‌‌‍‌‌‌‌​‍​‍‌⁠⁠‌​

I’ve seen this when a theme/template hardcodes “og:url”/“og:image” and the SEO plugin adds another set, so scrapers grab the first and ignore updates. Check your page source, remove or disable the duplicate OG output (turn off the theme’s tags or the plugin’s), then re-scrape with LinkedIn’s Inspector or Twitter’s validator (https://cards-dev.twitter.com/validator). What SEO plugin or generator are you using?

‌⁠‍⁠​‍​‍‌⁠‌​​‍​‍​⁠‍‍​‍​‍‌‍‌⁠‌‍​⁠‌‍⁠‍‌‍​‌​‍​‍​‍⁠​​‍​‍‌‍‍⁠​‍​‍​⁠‍‍​‍​‍‌⁠​‍‌‍‌‌‌⁠​​‌‍⁠​‌⁠‍‌​‍​‍​‍⁠​​‍​‍‌‍‍‌‌‍‌​​‍​‍​⁠‍‍​⁠​‌​⁠​‍​⁠​‌​⁠‌⁠​⁠‌⁠​⁠‌‌​‍⁠​​‍​‍‌‍‌​​‍​‍​⁠‍‍​‍​‍​⁠​‍​⁠​​​⁠​‍​⁠‌‍​⁠​​​⁠​‌​⁠​​​⁠​‌​‍​‍​‍⁠​​‍​‍‌‍‍​​‍​‍​⁠‍‍​‍​‍‌⁠‍‍​⁠​⁠‌‌‍​​⁠‍‌‌​‍⁠‌​⁠⁠‌​‌‌‌‍​‌​⁠‌‌​⁠‌‌‌​​‍​⁠​‍‌⁠​⁠‌‌​⁠​⁠​‍‌‌⁠⁠​‍​‍‌⁠⁠‌​