Agent Skillskostja94/marketing-skills › canonical-tag

canonical-tag

GitHub

指导配置规范标签以合并重复内容并声明首选URL,涵盖HTTPS重定向、www选择及多语言场景,提供Next.js等框架的实现模式。

skills/seo/technical/canonical/SKILL.md kostja94/marketing-skills

Trigger Scenarios

用户提到 canonical 或 canonical URL 需要修复重复内容问题 请求 URL 合并或规范化

Install

npx skills add kostja94/marketing-skills --skill canonical-tag -g -y
More Options

Non-standard path

npx skills add https://github.com/kostja94/marketing-skills/tree/main/skills/seo/technical/canonical -g -y

Use without installing

npx skills use kostja94/marketing-skills@canonical-tag

指定 Agent (Claude Code)

npx skills add kostja94/marketing-skills --skill canonical-tag -a claude-code -g -y

安装 repo 全部 skill

npx skills add kostja94/marketing-skills --all -g -y

预览 repo 内 skill

npx skills add kostja94/marketing-skills --list

SKILL.md

Frontmatter
{
    "name": "canonical-tag",
    "metadata": {
        "version": "1.0.1"
    },
    "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."
}

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). 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

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

Version History

  • 70987ba Current 2026-07-06 00:09

Same Skill Collection

skills/analytics/seo/seo-monitoring/SKILL.md
skills/analytics/sources/ai-traffic/SKILL.md
skills/analytics/sources/traffic/SKILL.md
skills/analytics/tracking/SKILL.md
skills/channels/community/community-forum/SKILL.md
skills/channels/community/product-hunt-launch/SKILL.md
skills/channels/distribution/distribution-channels/SKILL.md
skills/channels/owned/email-marketing/SKILL.md
skills/channels/owned/employee-generated-content/SKILL.md
skills/channels/partnerships/affiliate-marketing/SKILL.md
skills/channels/partnerships/creator-program/SKILL.md
skills/channels/partnerships/education-program/SKILL.md
skills/channels/partnerships/influencer-marketing/SKILL.md
skills/channels/partnerships/public-relations/SKILL.md
skills/channels/partnerships/referral-program/SKILL.md
skills/components/branding/favicon/SKILL.md
skills/components/branding/hero/SKILL.md
skills/components/branding/logo/SKILL.md
skills/components/content/tab-accordion/SKILL.md
skills/components/conversion/cta/SKILL.md
skills/components/conversion/newsletter-signup/SKILL.md
skills/components/conversion/popup/SKILL.md
skills/components/conversion/testimonials/SKILL.md
skills/components/conversion/trust-badges/SKILL.md
skills/components/layout/card/SKILL.md
skills/components/layout/carousel/SKILL.md
skills/components/layout/grid/SKILL.md
skills/components/layout/list/SKILL.md
skills/components/layout/masonry/SKILL.md
skills/components/navigation/breadcrumb/SKILL.md
skills/components/navigation/footer/SKILL.md
skills/components/navigation/navigation-menu/SKILL.md
skills/components/navigation/sidebar/SKILL.md
skills/components/navigation/toc/SKILL.md
skills/components/utility/social-share/SKILL.md
skills/components/utility/top-banner/SKILL.md
skills/components/utility/url-slug/SKILL.md
skills/content/copywriting/SKILL.md
skills/content/podcast/SKILL.md
skills/content/translation/SKILL.md
skills/content/video/SKILL.md
skills/content/visual-content/SKILL.md
skills/pages/brand/about/SKILL.md
skills/pages/brand/contact/SKILL.md
skills/pages/brand/home/SKILL.md
skills/pages/content/api/SKILL.md
skills/pages/content/article/SKILL.md
skills/pages/content/blog/SKILL.md
skills/pages/content/docs/SKILL.md
skills/pages/content/faq/SKILL.md

Metadata

Files
0
Version
70987ba
Hash
a8490032
Indexed
2026-07-06 00:09

inicio - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-17 06:19
浙ICP备14020137号-1 $mapa de visitantes$