seo-technical-canonical
9
总安装量
9
周安装量
#31262
全站排名
安装命令
npx skills add https://github.com/kostja94/marketing-skills --skill seo-technical-canonical
Agent 安装分布
opencode
9
github-copilot
9
codex
9
kimi-cli
9
amp
9
cline
9
Skill 文档
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
Initial Assessment
Check for product marketing context first: If .claude/product-marketing-context.md or .cursor/product-marketing-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.
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
- seo-on-page-url-structure: URL hierarchy and format; canonical handles duplicate variants (HTTPS, www, trailing slash)
- strategies-localization: hreflang + canonical for multi-language
- seo-technical-sitemap: Sitemap URLs should match canonical
- seo-technical-indexnow: Submit canonical URLs
- analytics-google-search-console: Find duplicate content in Coverage report
- seo-technical-indexing: Resolve indexing issues