How to install canonical-tag
npx skills add https://github.com/kostja94/marketing-skills --skill canonical-tagFull instructions (SKILL.md)
Source of truth, from kostja94/marketing-skills.
name: canonical-tag description: When the user wants to configure canonical URLs, fix duplicate content, or consolidate URL signals. Also use when the user mentions "canonical," "canonical URL," "duplicate content," "duplicate content fix," "preferred URL," or "URL consolidation." For GSC duplicates, use google-search-console. metadata: version: 1.0.1
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:
- Site URL: Base domain
- Duplicate scenarios: Multi-language, query params, pagination, alternate URLs
- 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). 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)
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)
<link rel="canonical" href="https://example.com/page-slug" />
Server Redirects (301)
Apache (.htaccess):
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
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 applicable
- References: Alignify URL optimization; Google Canonical
Related Skills
- url-structure: URL hierarchy and format; canonical handles duplicate variants (HTTPS, www, trailing slash)
- localization-strategy: hreflang + canonical for multi-language
- xml-sitemap: Sitemap URLs should match canonical
- indexnow: Submit canonical URLs
- google-search-console: Find duplicate content in Coverage report
- indexing: Resolve indexing issues
- site-crawlability: Crawl budget; redirect chains; canonical reduces duplicate crawl waste
Related skills
More from kostja94/marketing-skills and the wider catalog.
copywriting
When the user wants to write or optimize short-form marketing copy—headlines, CTAs, ad copy, landing page copy, email copy. Also use when the user mentions "copywriting," "headline," "CTA copy," "ad copy," "landing page copy," "sales copy," "conversion copy," "PAS," "AIDA," "BAB," "copy formula," or "differentiation." For long-form article bodies (blog posts, guides), use article-content.
linkedin-posts
When the user wants to create LinkedIn post copy or optimize for LinkedIn. Also use when the user mentions "LinkedIn post," "LinkedIn article," "professional post," "post to LinkedIn," "LinkedIn content," "LinkedIn copy," "B2B LinkedIn," "LinkedIn engagement," "LinkedIn feed," "share box," "document post," "poll," "Newsletter," "reshare," or "LinkedIn marketing." For LinkedIn ads, use linkedin-ads.
youtube-seo
When the user wants to optimize YouTube videos for search, create video descriptions, or improve channel visibility. Also use when the user mentions "YouTube SEO," "YouTube description," "YouTube tags," "YouTube thumbnail," "YouTube title," "YouTube channel," or "video SEO." For YouTube ads, use youtube-ads.
tiktok-captions
When the user wants to create TikTok video captions, scripts, or optimize for TikTok. Also use when the user mentions "TikTok post," "TikTok caption," "TikTok video," "post to TikTok," "TikTok script," "TikTok content," "TikTok copy," "TikTok hashtags," or "TikTok marketing." For TikTok ads, use tiktok-ads.
video-marketing
When the user wants to plan video marketing, create video scripts, or optimize for short-form or long-form video. Also use when the user mentions "video marketing," "video script," "short-form video," "long-form video," "TikTok script," "Reels script," "YouTube script," "video hook," or "video content strategy." For on-site video SEO, use video-optimization.
meta-ads
When the user wants to set up, optimize, or manage Meta (Facebook/Instagram) Ads. Also use when the user mentions "Meta Ads," "Facebook Ads," "Instagram Ads," "Meta Pixel," "Conversions API," "Advantage+," "lookalike audience," or "Meta retargeting." For landing pages, use landing-page-generator.