Open Graph URL Not Matching Canonical: the 10-Minute Fix
A checker flagged it, or Facebook keeps sharing the wrong link. Two tags on your page disagree about your page's address. Here is the whole fix, with exact steps for WordPress, Wix, Squarespace and StoryPress, and how to prove it worked.
What this error actually means
Your page declares two addresses. The canonical URL (<link rel="canonical">) tells Google which version of the page is the real one. The Open Graph URL (<meta property="og:url">) tells Facebook, LinkedIn and Slack which address to attach shares and like-counts to. When they disagree, share counts split across versions, crawlers waste time reconciling, and some validators refuse the page outright.
It almost always happens for a boring reason: www vs non-www, a trailing slash on one tag, http vs https, or an og:url hardcoded years ago before the site moved.
Step 1: See what your page declares
Open your page, right-click → View Page Source, and search for canonical and og:url. Copy both values. They must be character-for-character identical: same protocol, same host, same slash.
Prefer a tool? Paste your URL into opengraph.xyz — it prints both tags side by side.
Step 2: Fix it on your platform
WordPress
Yoast and Rank Math generate both tags from the same permalink, so a mismatch means an override is fighting them:
Settings → General: "WordPress Address" and "Site Address" must both use your preferred host. Pick www or bare and stay with it.
In the page editor, open Yoast/Rank Math → Advanced → Canonical URL. If a manual value is set, clear it.
Search your theme's
header.phpfor a hardcodedog:urlline from an old snippet or page builder. Delete it — two og:url tags is worse than one wrong one.
Wix
Settings → Website Settings: confirm the primary domain — this drives both tags.
Per-page overrides live in Page Settings → SEO → Advanced: clear any manual og:url so Wix generates it from the canonical.
Redirect the non-primary domain variant (Wix does this automatically once primary is set — verify with a browser).
Squarespace
Settings → Domains: exactly one domain set as primary; all others must redirect to it.
Settings → Advanced → Code Injection: if a pasted snippet contains
og:url, remove it — Squarespace already outputs the tag, and the injected one wins the disagreement.Built-in tags should now match; if not, check per-page header injection too.
Step 3: Verify it worked
Reload the page source — both tags identical now.
Run the URL through the Facebook Sharing Debugger and click Scrape Again. This also flushes Facebook's cached wrong URL — skip it and a correct fix keeps looking broken for up to 30 days.
Paste the link into a private Slack or WhatsApp message: the preview should resolve to the right address.
“The scrape step is the one everyone skips. Facebook caches OG data for 30 days: flush it or you'll fix the tags and still see the old URL.”