canonical-tag について
重複ページや別 URL のページに対する canonical URL の選定と設定を支援するテクニカル SEO スキルです。リダイレクト、canonical タグ、HTTPS、多言語ページの設定方法を判断できます。
主な機能
- 01重複 URL の状況評価
- 02リダイレクトと canonical タグの選択
- 03HTTPS と優先ホストの設定
- 04多言語 canonical と hreflang の設定
- 05Next.js での canonical ルール適用
活用シーン
- 01www 版と非 www 版の統合
- 02トラッキングパラメーターやページネーションへの対応
- 03言語別ページの canonical 設定
- 04HTTP トラフィックの HTTPS 転送
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ kostja94/ marketing-skills --skill canonical-tagインストール後、Claude Code で/canonical-tagを入力して読み込まれたか確認します。
詳細
SEO テクニカル:Canonical
canonical タグの設定方法を案内し、重複コンテンツを統合して優先 URL を指定します。
呼び出し時:初回の使用時は、このスキルの内容と重要性について、役立つ場合は冒頭に1~2文で説明してから、主な出力を提示します。2回目以降の使用時、またはユーザーから省略を求められた場合は、説明を省いて主な出力に進みます。
対象範囲(テクニカル SEO)
- サイトの重複バージョン:HTTPS と HTTP、www と非 www、末尾のスラッシュ(/page と /page/)のうち1つを選び、ほかは301リダイレクトします
- 重複コンテンツ:canonical タグを設定し、優先 URL に統合して301リダイレクトします
- HTTPS:SSL/TLS、安全な接続、2014年以降のランキングシグナル
初期評価
プロジェクトのコンテキスト: contextus.md がルートにある場合は読み込み、このタスクに関連するモジュールだけを読み込みます。Contextus がない場合は、利用可能なプロジェクト資料またはユーザーから提供された情報を使い、不足している情報を尋ねます。並行するコンテキストシステムは作成しないでください。
次の項目を特定します。
- サイト URL:ベースドメイン
- 重複のシナリオ:多言語、クエリパラメーター、ページネーション、代替 URL
- フレームワーク:Next.js、React、静的サイトなど
canonical 化の方法(シナリオに応じて選択)
| 方法 | 使用する場面 | 強さ |
|---|---|---|
| 301リダイレクト | 推奨。サーバーでリダイレクトできる場合 | 最も強力 — 恒久的なリダイレクト |
| Canonical タグ | リダイレクトできない場合(例:パラメーター、ページネーション) | 強力 — HTML シグナル |
| robots.txt | canonical でないパスをブロックする場合 | 弱い — あくまで推奨 |
HTTP→HTTPS、www の各種バージョン、末尾のスラッシュには301を使用します。パラメーター、ページネーション、UTM には canonical を使用します。
HTTPS とセキュリティ
HTTPS はランキングシグナルです(Google、2014年)。ユーザーとクローラーがアクセスできるのは HTTPS バージョンだけにしてください。
| 要件 | 対応 |
|---|---|
| SSL/TLS 証明書 | 有効な証明書をインストールします。無料の Let's Encrypt を使用できます |
| 301リダイレクト | HTTP → HTTPS。すべての HTTP リクエストを HTTPS にリダイレクトします |
| 混在コンテンツ | HTTPS ページに HTTP リソースを含めないでください。混在コンテンツの警告を解消します |
| HSTS | 任意。再訪問者向けに Strict-Transport-Security ヘッダーを設定します |
WWW と非 WWW:優先するバージョンを1つ選び、もう一方を301リダイレクトします。上記の canonical ルールを参照してください。
Canonical を使用する場合
- 多言語:言語バージョンごとに独自の canonical を設定し、canonical とともに hreflang を使用します
- 同じコンテンツに複数の URL がある場合:パラメーター、ページネーション、トラッキングパラメーター、www と非 www、末尾のスラッシュ(/page と /page/)
- 自己参照:canonical は自身または優先バージョンを指す必要があります
- canonical の連鎖を避ける:A→B→C は無効です
ルール
| ルール | 備考 |
|---|---|
| 絶対 URL | https:// を含めます |
| 一貫性 | 現在のページ URL または選択した優先バージョンと一致させる必要があります |
| 連鎖なし | A→B→C は無効です |
実装パターン
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(汎用)
<link rel="canonical" href="https://example.com/page-slug" />
サーバーリダイレクト(301)
Apache (.htaccess):
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Nginx:
return 301 https://$host$request_uri;
ほかのテクニカル SEO との関係
- サイトマップ:サイトマップ内の URL は canonical と一致させる必要があります
- IndexNow:canonical URL を送信します
出力形式
- ページタイプごとの Canonical URL
- 実装(metadata または HTML)
- 該当する場合は 多言語の設定
- 参考資料:Alignify URL 最適化、Google Canonical
関連スキル
- url-structure:URL の階層と形式。canonical は重複するバージョン(HTTPS、www、末尾のスラッシュ)を処理します
- localization-strategy:多言語対応の hreflang と canonical
- xml-sitemap:サイトマップの URL は canonical と一致させる必要があります
- indexnow:canonical URL を送信します
- google-search-console:カバレッジ レポートで重複コンテンツを見つけます
- indexing:インデックス登録の問題を解決します
- site-crawlability:クロールバジェット、リダイレクトチェーン。canonical により重複クロールの無駄を減らします