
Canonical Tag
Install when you need to set canonical URLs, fix duplicate content, and consolidate HTTPS, www, and trailing-slash variants for a solo-built site.
Overview
canonical-tag is an agent skill for the Launch phase that guides canonical URL configuration and duplicate-content consolidation for preferred indexing signals.
Install
npx skills add https://github.com/kostja94/marketing-skills --skill canonical-tagWhat is this skill?
- Covers HTTPS vs HTTP, www vs non-www, and trailing-slash duplicate site versions with 301 guidance
- Compares canonical tags versus 301 redirects by scenario and signal strength
- Initial assessment checks project context files and framework (Next.js, React, static)
- Scoped duplicate scenarios: multi-language, query params, pagination, alternate URLs
- Pairs with google-search-console skill when duplicates show up in GSC
- Canonicalization methods table covers 301 redirect versus canonical tag by scenario and strength
- Technical SEO scope lists three duplicate-site version patterns: HTTPS/HTTP, www/non-www, trailing slash
Adoption & trust: 785 installs on skills.sh; 586 GitHub stars; 2/3 security scanners passed (skills.sh audits).
What problem does it solve?
Search engines see multiple versions of the same pages and you are unsure whether to 301, canonicalize, or fix www and HTTPS drift.
Who is it for?
Indie founders shipping Next.js, React, or static sites who need a structured duplicate-content fix without hiring an SEO agency.
Skip if: Pure content-writing requests with no URL duplication, or GSC-only debugging where you should lead with the google-search-console skill instead.
When should I use this skill?
User wants to configure canonical URLs, fix duplicate content, or consolidate URL signals; mentions "canonical," "canonical URL," "duplicate content," "preferred URL," or "URL consolidation."
What do I get? / Deliverables
You get a scenario-matched canonical or redirect plan aligned to your framework and site URL structure, with a clear path to GSC validation when needed.
- Canonical tag or 301 redirect recommendations by duplicate scenario
- Framework-aware implementation notes for Next.js, React, or static stacks
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Launch SEO is the canonical shelf because canonical tags directly affect how search engines index your shipped URLs, though the same fixes often surface right after first deploy. Technical SEO subphase matches duplicate-content consolidation, preferred URL declaration, and framework-specific canonical implementation.
Where it fits
Before flipping DNS live, pick one HTTPS host variant and document 301 rules so launch day does not split rankings.
Add rel=canonical on parameterized marketing pages so campaign query strings do not spawn index bloat.
Consolidate paginated blog archives to a single preferred URL when syndicating posts across tags and categories.
How it compares
Technical SEO implementation skill—not a rank-tracking tool or a full site audit marketplace listing.
Common Questions / FAQ
Who is canonical-tag for?
Solo builders and small teams managing their own technical SEO on SaaS, content, or ecommerce sites.
When should I use canonical-tag?
At Launch when hardening URLs before distribution, during Grow when new locales or paginated archives create duplicates, and whenever you mention canonical, preferred URL, or duplicate content fixes.
Is canonical-tag safe to install?
The skill advises HTML and redirect changes that affect live SEO; review the Security Audits panel on this Prism page and test redirects in staging before production cutover.
SKILL.md
READMESKILL.md - Canonical Tag
# SEO Technical: Canonical Guides canonical tag configuration to consolidate duplicate content and declare preferred URLs. **When invoking**: On **first use**, if helpful, open with 1–2 sentences on what this skill covers and why it matters, then provide the main output. On **subsequent use** or when the user asks to skip, go directly to the main output. ## Scope (Technical SEO) - **Duplicate site versions**: HTTPS vs HTTP; www vs non-www; trailing slash (/page vs /page/) — choose one, 301 redirect others - **Duplicate content**: Canonical tags; consolidate and 301 to preferred URL - **HTTPS**: SSL/TLS; secure connection; ranking signal since 2014 ## Initial Assessment **Check for project context first:** If `.claude/project-context.md` or `.cursor/project-context.md` exists, read it for site URL and language structure. Identify: 1. **Site URL**: Base domain 2. **Duplicate scenarios**: Multi-language, query params, pagination, alternate URLs 3. **Framework**: Next.js, React, static, etc. ## Canonicalization Methods (Choose by Scenario) | Method | When | Strength | |--------|------|----------| | **301 redirect** | Preferred; server can redirect | Strongest — permanent redirect | | **Canonical tag** | Cannot redirect (e.g. params, pagination) | Strong — HTML signal | | **robots.txt** | Block non-canonical paths | Weak — advisory only | Use 301 for HTTP→HTTPS, www variants, trailing slash. Use canonical for params, pagination, UTM. ## HTTPS & Security HTTPS is a ranking signal ([Google, 2014](https://developers.google.com/search/blog/2014/08/https-as-ranking-signal)). Users and crawlers should access only the HTTPS version. | Requirement | Action | |-------------|--------| | **SSL/TLS certificate** | Install valid certificate; use Let's Encrypt for free | | **301 redirect** | HTTP → HTTPS; all HTTP requests redirect to HTTPS | | **Mixed content** | No HTTP resources on HTTPS pages; fix mixed content warnings | | **HSTS** | Optional; `Strict-Transport-Security` header for repeat visitors | **WWW vs non-WWW**: Choose one preferred version; 301 redirect the other. See canonical rules above. ## When to Use Canonical - **Multi-language**: Each language version has its own canonical; use **hreflang** with canonical - **Same content, multiple URLs**: Params, pagination, tracking params, www vs non-www, trailing slash (/page vs /page/) - **Self-referencing**: Canonical should point to self or the preferred version - **Avoid chain canonical**: A→B→C is invalid ## Rules | Rule | Note | |------|------| | **Absolute URL** | Include `https://` | | **Consistency** | Must match current page URL or the chosen preferred version | | **No chains** | A→B→C is invalid | ## Implementation Patterns ### Next.js (metadata) ```tsx export const metadata = { alternates: { canonical: "https://example.com/page-slug", languages: { zh: "https://example.com/zh/page-slug", en: "https://example.com/page-slug", "x-default": "https://example.com/page-slug", }, }, }; ``` ### HTML (generic) ```html <link rel="canonical" href="https://example.com/page-slug" /> ``` ### Server Redirects (301) **Apache (.htaccess)**: ```apache RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] ``` **Nginx**: ```nginx return 301 https://$host$request_uri; ``` ## Relationship to Other Technical SEO - **Sitemap**: URLs in sitemap should match canonical - **IndexNow**: Submit canonical URLs ## Output Format - **Canonical URL** for each page type - **Implementation** (metadata or HTML) - **Multi-language** setup if app