Canonical Links & SEO
Use canonical tags to signal the preferred URL when an article appears on multiple sites.
Publishing technical posts across multiple developer communities can grow your audience, but it also gives search engines several URLs for substantially the same article.
ZyVOP passes your canonical preference to destinations that support it. Canonical declarations help search engines consolidate duplicate URLs and ranking signals, but they are not guarantees.
What is a Canonical Tag?
A canonical link tag is an HTML link element placed in the <head> of a web page:
<link rel="canonical" href="https://yourblog.dev/posts/distributed-systems" />It tells web crawlers that https://yourblog.dev is your preferred version of the article. Search engines can still select another canonical when their other signals disagree.
How Search Engines Treat Canonical Tags
Important SEO Nuance
Per Google Search Central's canonicalization guidance, search engines treat rel="canonical" as a strong hint, not an absolute decree. If the preferred page is unavailable or its signals conflict, a search engine may choose another canonical.
To make your canonical preference easier for search engines to interpret:
- Keep the preferred page crawlable and indexable: Do not block it with
robots.txtor anoindexdirective. - Use a self-referential canonical on the preferred page: Point its canonical element to its own URL.
- Keep signals consistent: Use the same preferred URL in internal links, sitemaps, redirects, and canonical elements.
How ZyVOP Applies Canonical Tags
When you provide a canonical_url:
---
title: "Zero-Downtime PostgreSQL Migrations"
canonical_url: "https://engineering.mycompany.com/postgres-migrations"
---ZyVOP sends this canonical URL to destinations whose publishing APIs support a canonical field:
- DEV.to: Passed into the
canonical_urlAPI parameter. DEV.to embeds<link rel="canonical">into the rendered page head. - Hashnode: Passed into the GraphQL
originalArticleURLfield. Hashnode renders the corresponding canonical link tag on the syndicated post. - Medium: Passed into Medium's
canonicalUrlfield. - WordPress: The current adapter publishes the article and a visible ZyVOP attribution link. It does not modify WordPress core, Yoast, Rank Math, or other SEO-plugin canonical metadata.
Automatic Publication Canonical Resolution
If you publish through a ZyVOP publication with a custom domain and leave canonical_url blank, ZyVOP resolves your canonical link to your primary publication domain (https://blog.yourdomain.com/your-slug) and sends it to destinations with supported canonical fields.
RSS Behavior
Published, discoverable articles remain eligible for RSS even when they declare an external canonical URL. For those entries, ZyVOP uses the canonical URL as the RSS item link and includes it as dc:source. This keeps the feed useful without presenting the ZyVOP copy as the preferred source.
Verifying Canonical Tags
After cross-posting, you can verify your canonical tag using curl or browser developer tools:
curl -sL https://dev.to/username/your-article-slug | grep 'rel="canonical"'Expected output:
<link rel="canonical" href="https://engineering.mycompany.com/postgres-migrations" />