Back to blog
7 min read
SEO

Canonical, Open Graph, Hreflang: avoid duplicate content

A missing canonical tag duplicates your pages in Google's index. Broken Open Graph ruins your social shares. Missing hreflang confuses search engines on multilingual sites. Tests #24, #25 and #37 catch all three.

Key Takeaways
  • Test #24 checks the canonical URL tag: presence, uniqueness and absolute format. A missing canonical means Google decides which version of your page to index — often the wrong one
  • Test #25 validates Open Graph tags (og:title, og:description, og:image, og:url). Without them, social media platforms display random excerpts and broken previews when your pages are shared
  • Test #37 inspects hreflang tags for multilingual sites: tag presence, x-default fallback and self-referencing. Incorrect hreflang is the #1 cause of the wrong language version ranking in search results

There is a silent SEO problem that affects more sites than you might think: duplicate content. Not the kind where someone copies your text — the kind where your own site sends conflicting signals to search engines. Google sees two URLs with the same content and has to pick one. It often picks wrong.

The fix relies on three HTML meta tags that most developers add once and never check again: the canonical URL, Open Graph tags, and hreflang attributes. When they work, they're invisible. When they break — after a migration, a redesign, or a plugin update — the damage accumulates quietly: pages drop from search results, social shares look broken, and the wrong language version ranks in the wrong country.

Orilyt runs three dedicated tests. Test #24 validates the canonical URL. Test #25 checks Open Graph tags. Test #37 inspects hreflang for multilingual sites. Together, they cover the full surface of duplicate content signals — the kind of issues that are invisible in a browser but devastating in search rankings.

Canonical URL, Open Graph and hreflang SEO tests: duplicate content prevention, social sharing optimization and multilingual signals

Test #24: Is your canonical URL correct?

The canonical tag tells search engines: "this is the official URL of this page." Without it, Google has to guess. And when a page is accessible via multiple URLs — with or without www, with or without a trailing slash, with UTM parameters — Google might index them all as separate pages, diluting your SEO authority.

Test #24 performs three checks:

  1. Presence — does the page contain a <link rel="canonical"> tag? If there is none, the score drops to 35/100. Google has to guess the canonical version, and it often gets it wrong
  2. Uniqueness — is there exactly one canonical tag? Multiple canonical tags confuse search engines. Having two or more drops the score to 70/100 because the signals contradict each other
  3. Absolute URL — is the canonical href an absolute URL (starting with https://)? A relative canonical is technically valid but unreliable. Some crawlers misinterpret it. Score caps at 70/100 with a relative URL

A page with a single, absolute canonical URL scores 100. This sounds simple, but canonical issues are surprisingly common — especially after site migrations, CMS updates, or when using page builders that inject their own canonical tags.

A missing canonical URL doesn't cause an error you can see. It causes a ranking problem you'll only notice when traffic drops — and by then you've lost months of SEO authority.

Test #25: Do your Open Graph tags work?

Open Graph tags control how your page appears when shared on Facebook, LinkedIn, Twitter, and messaging apps. Without them, the platform guesses — pulling a random image, a truncated title, or no description at all. The result looks unprofessional and gets fewer clicks.

Test #25 checks for four essential Open Graph properties:

  1. og:title — the title displayed in social shares. Without it, platforms use the page <title> or the first heading, which is often too long or too generic
  2. og:description — the description shown below the title. Without it, platforms grab a random paragraph from the page — or show nothing
  3. og:image — the preview image. This is the single most important tag for social engagement. Without it, shares show a blank box or a tiny favicon. The image should be at least 1200x630px
  4. og:url — the canonical URL for social sharing. This should match the canonical tag. If it differs, you create confusion between what Google indexes and what social platforms resolve

If no Open Graph tags are found at all, the score drops to 60/100. If some required tags are missing, the score is 80/100. All four present = 100/100.

Your page can rank #1 on Google and still look terrible when shared on LinkedIn. Open Graph is the difference between a click and a scroll-past.

Test #37: Is hreflang set up for multilingual SEO?

Hreflang tags tell search engines which language version of a page to show in which country. For a site available in English, French, Spanish and German, hreflang ensures that a French visitor sees the French version — not the English one that happens to have more backlinks.

Test #37 inspects the page HTML for hreflang signals:

  1. Tag presence — does the page contain <link rel="alternate" hreflang="xx"> tags? If none are found, the score is 70/100. This is not a critical error for monolingual sites, but for multilingual sites it means Google is guessing which version to show
  2. x-default fallback — is there an hreflang="x-default" entry? This tells search engines which page to show when no language matches the visitor's locale. Missing it is a common oversight
  3. Self-referencing — does the current page include an hreflang tag pointing to itself? Google recommends self-referencing as a best practice. Without it, the hreflang mapping is incomplete

When hreflang tags are present and well-formed, the score reaches 90/100. The extra 10 points require additional validation (cross-page reciprocity) that goes beyond a single-page audit. But the signals detected here already catch the most common failures.

The #1 hreflang mistake: setting it up once and never checking it after a site migration. Every URL change breaks the chain — silently.

Common causes and how to fix them

These three tags share a common failure pattern: they are set up once, then forgotten. Here are the most frequent causes of breakage:

  1. Site migration — URLs change, but canonical tags, og:url and hreflang hrefs still point to the old URLs. Fix: audit all meta tags after migration. Use Search Console's URL Inspection tool to verify
  2. Plugin conflicts — SEO plugins (Yoast, Rank Math, All in One SEO) can inject conflicting canonical tags. Two plugins = two canonicals = confusion. Fix: use only one SEO plugin and disable canonical output in the other
  3. Missing og:image — the image URL was relative, the CDN changed, or the image was deleted. Fix: use absolute URLs, check that the image actually loads, and ensure it's at least 1200x630px
  4. Hreflang without reciprocity — page A links to page B via hreflang, but page B doesn't link back to page A. Google ignores non-reciprocal hreflang. Fix: ensure every language version references all others, including itself
  5. Trailing slash inconsistency — https://example.com/page and https://example.com/page/ are different URLs. If the canonical uses one format and internal links use another, Google sees duplicates. Fix: pick one format and enforce it everywhere

The pattern is clear: these are configuration issues, not content issues. They are invisible to visitors but devastating for SEO. And they are fast to fix — if you know where to look.

Why agencies should audit these 3 tests systematically

For freelancers and agencies selling SEO services, tests #24, #25 and #37 are a goldmine. They reveal problems that clients cannot see in their browser — but that directly impact traffic, social engagement and international visibility.

In the Orilyt report, each test generates a structured FIA recommendation:

  1. Fact: "No canonical URL tag found" or "og:image is missing" or "No hreflang tags detected on a multilingual site"
  2. Impact: "Google may index multiple versions of the same page, diluting SEO authority" or "Social shares display no preview image — reducing click-through rate by up to 80%"
  3. Action: "Add a <link rel=canonical> tag pointing to the preferred URL" or "Add og:image with a 1200x630px image" or "Implement hreflang tags with x-default and self-referencing"

These findings are particularly effective in proposals because they combine technical credibility with clear business impact. A client who sees "your French pages rank in the English results" understands the problem immediately. It positions the agency as an expert who catches what others miss.

The SEO issues that matter most are the ones you cannot see in the browser. Canonical, OG and hreflang live in the HTML <head> — invisible to visitors, critical for search engines.

Three invisible tags, one massive SEO impact

Canonical, Open Graph and hreflang are the backbone of technical SEO for any site that cares about search visibility, social presence and international reach. They are three lines of HTML that determine whether Google indexes the right page, whether social shares look professional, and whether the right language ranks in the right country.

Tests #24, #25 and #37 verify all three in seconds. They catch the most common failures: missing tags, duplicated canonicals, broken og:image, absent hreflang on multilingual sites. These are not edge cases — they affect the majority of WordPress sites we audit.

For agencies, these tests transform an invisible problem into a visible opportunity. Run an audit, show the gaps, propose the fix. The technical barrier is low, the SEO impact is high, and the client sees the value immediately.

Check canonical, OG and hreflang on any site in 2 minutes
Run a free audit and discover if your meta tags are properly configured — alongside 56 other tests covering performance, security and accessibility.
Launch a free audit
Previous Accessibilité web 2026 : ce que change l'European Accessibility Act Next Sitemap et robots.txt : la base SEO que beaucoup bâclent