2410
本文の文字数
15
見出し
1
別原稿
2
SNS個別文
4
読了目安(分)
配信設定
| タイトル | canonical の設定で、転載した記事の評価を自社に集める |
|---|---|
| クライアント | demo |
| カテゴリ / タグ | SEO設計 / SEO, canonical, 多媒体配信, 重複コンテンツ |
| 配信先 | クライアントの既定配信先を使用 |
| fallback | teaser 別原稿が無い媒体には要約+全文リンクを出す |
| 下書き | — |
| 予約公開 | — |
| meta description | canonical の設定を誤ると、転載先が自社より上位に出ます。自社を先に公開して正規URLを確定させ、転載先の対応可否で出し分ける設計を、媒体別の対応表と確認手順つきで解説します。 |
CTA
| リンク先 | https://aisnsiodev-seobuilder.hf.space/contact |
|---|---|
| オファー | 配信設計の無料診断をLINEで受け付け中 |
| ボタン | 無料診断について問い合わせる |
| 挿入位置 | middle bottom |
| 計測 | utm_source=blog utm_medium=article utm_content=cta_<位置> |
別原稿
| 媒体 | タイトル | 文字数 |
|---|---|---|
| qiita | canonical を媒体ごとに出し分ける配信基盤をPythonで作った | 842 |
SNS個別の投稿文
記事を複数メディアに転載するとき、canonicalの設計を間違えると「自分で書いた記事なのに転載先が上位に出る」状態になります。 ・自社ドメインを最初に公開して正規URLを確定させる ・canonical対応の媒体にだけ全文を出す ・非対応の媒体には別原稿、無理なら要約+リンク ・転載は24時間遅らせる 媒体ごとの対応可否を表にまとめました。
同じ本文を10媒体に貼ると、検索エンジンはどれを評価すべきか決められません。 canonical対応の可否で出し分ける設計を、媒体ごとの実際の挙動とあわせてまとめました。
記事JSON(生データ)
{
"client_id": "demo",
"slug": "canonical-syndication-2026",
"title": "canonical の設定で、転載した記事の評価を自社に集める",
"excerpt": "同じ本文を10媒体に貼ると、検索エンジンはどれを評価すべきか決められません。自社ドメインを先に公開して正規URLを確定させ、canonical対応の可否で出し分ける設計を、媒体ごとの実際の挙動とあわせて解説します。",
"body_markdown": "**canonical の設定とは、転載したページに対して「原本はこちらです」と検索エンジンへ伝える指定のことです。**\n\n自社ブログに書いた記事を、note にも Qiita にも X にも出す。露出は増えるはずなのに、なぜか検索順位が上がらない。この相談はよく受けます。原因のほとんどは、同じ本文を媒体の性質を無視してばら撒いていることです。\n\n## 何が起きているのか\n\n検索エンジンから見ると、同一内容のページが複数のドメインに並んでいる状態です。どれを検索結果に出すべきか判断が必要になり、多くの場合はドメインの評価が高いほうが選ばれます。立ち上げたばかりの自社ブログと、長く運用されている大手プラットフォーム。どちらが強いかは明らかです。\n\n結果として、自分で書いた記事なのに、転載先が検索結果に出て自社サイトが出ない。流入は転載先に落ち、自社ドメインには何も積み上がりません。\n\n## canonical の設定は「これが原本です」という申告\n\n`<link rel=\"canonical\" href=\"...\">` は、このページの正規版はこちらだと検索エンジンに伝えるタグです。転載先がこれを自社URLに向けてくれれば、評価は自社に戻ります。\n\nただし**すべての媒体が canonical を指定できるわけではありません**。ここが設計の分かれ目になります。\n\n| 媒体 | canonical指定 | 実際の運用 |\n| --- | --- | --- |\n| dev.to | できる | `canonical_url` を送るだけ |\n| Hashnode | できる | `originalArticleURL` を指定 |\n| Medium | できる | 既存トークンを持つアカウントのみ |\n| はてなブログ | できない | 別原稿にするか要約に留める |\n| Qiita | できない | 技術的に価値のある別原稿を書く |\n| note | できない | 要約+リンク、または別の切り口 |\n\n## 転載の設定は、この順番で決める\n\n順番に意味があります。\n\n### 1. 自社ドメインを最初に公開する\n\n正規URLが確定していないと、転載先に何を canonical として渡せばよいか決まりません。WordPress なり Ghost なり、自社の面をまず公開し、そのURLを以降すべての基準にします。\n\n### 2. canonical 対応の媒体にだけ全文を出す\n\n対応している媒体には、同じ本文を出して構いません。canonical が効いていれば、評価は自社に集まります。ここでケチって要約にすると、転載先での読了率が落ちるだけで得がありません。\n\n### 3. 非対応の媒体には別原稿を書く\n\nはてな・Qiita・note には、同じテーマを別の角度で書いた原稿を出します。「同じ話の言い換え」ではなく、読者層に合わせて内容そのものを変えます。\n\nQiita なら実装寄りに、note なら体験談寄りに。手間はかかりますが、これが最も安全で、かつ各媒体で実際に読まれます。\n\n別原稿をどこまで変えればよいかは、[問い合わせ対応の記事](/blog/ai-inquiry-automation-2026)で書いた「読者が実際に使う言葉に合わせる」という考え方がそのまま当てはまります。\n\n### 4. 別原稿を書けないときは要約に落とす\n\n毎回すべての媒体に別原稿を用意するのは現実的ではありません。その場合は、抜粋と見出し一覧、そして全文へのリンクだけの短い記事にします。複製は作らず、導線だけを置く形です。\n\n## 転載を遅らせる\n\n自社の公開と同時に転載すると、検索エンジンがどちらを先に見つけるかは運任せになります。数時間から1日空けると、自社が先にクロールされる確率が上がります。\n\n実務では、自社公開から24時間後に転載する設定にしておくと安定します。\n\n## 効いているかを確かめる方法\n\n設定して終わりにせず、次の2点を定期的に見てください。\n\n1. **転載先が自社より上位に出ていないか** — 出ていれば canonical が効いていません。転載先の設定を確認し、直らなければその記事を取り下げます。\n2. **転載先ページの canonical タグ** — ブラウザでソースを表示し、`rel=\"canonical\"` が自社URLを指しているかを目視で確認します。送ったつもりで反映されていないことが実際にあります。\n\n## よくある質問\n\n### 転載先の記事を消したほうがよいですか?\n\ncanonical が効いていて、自社が上位に出ているなら消す必要はありません。転載先からの流入や指名検索の増加という効果があります。逆転している場合だけ対処してください。\n\n### 要約だけだと転載先で読まれないのでは?\n\nその通りです。だからこそ、canonical 対応の媒体には全文を出します。要約に落とすのは、非対応かつ別原稿を用意できない場合の妥協策です。\n\n### AIに書かせた別原稿でもよいですか?\n\n事実確認と加筆を人が行うなら問題ありません。ただし、同じ本文を言い換えただけの原稿は、検索エンジンから見れば複製と大差ありません。切り口そのものを変えてください。\n\n## まとめ\n\n多媒体展開で失敗する原因は、媒体の性質を見ずに同じものを貼ることです。自社を先に公開して正規URLを確定させ、canonical 対応の可否で出し分ける。この順番さえ守れば、露出を増やしながら評価を自社に集められます。\n\n## 参考情報\n\n- [Google 検索セントラル: 重複コンテンツの取り扱い](https://developers.google.com/search/docs/crawling-indexing/consolidate-duplicate-urls)(2026年8月 取得)\n",
"tags": [
"SEO",
"canonical",
"多媒体配信",
"重複コンテンツ"
],
"category": "SEO設計",
"cover_image_url": null,
"cta": {
"line_url": "https://aisnsiodev-seobuilder.hf.space/contact",
"offer": "配信設計の無料診断をLINEで受け付け中",
"label": "無料診断について問い合わせる",
"positions": [
"middle",
"bottom"
],
"lead": "**配信設計の無料診断をLINEで受け付け中** いま運用中の媒体構成を見て、canonicalの設計をお返しします。"
},
"variants": {
"qiita": {
"title": "canonical を媒体ごとに出し分ける配信基盤をPythonで作った",
"tags": [
"Python",
"SEO",
"canonical"
],
"body_markdown": "記事を複数媒体へ配信するとき、canonical に対応している媒体とそうでない媒体で処理を分ける必要があります。媒体の能力をデータとして持ち、配信ロジックを分岐させた実装の話です。\n\n## 能力をデータで持つ\n\n各媒体の仕様を `PlatformSpec` として定義し、`supports_canonical` で分岐します。if 文を媒体ごとに書くと破綻するため、能力表を1か所に集めるのが要点です。\n\n```python\nclass PlatformSpec(BaseModel):\n key: str\n supports_canonical: bool = False\n supports_schedule: bool = False\n body_format: Literal[\"markdown\", \"html\", \"text\"]\n```\n\n## 出し分けの優先順位\n\n1. 別原稿(`variants`)があればそれを使う\n2. 無ければ `fallback` に従う(`teaser` / `skip` / `full`)\n3. teaser は本文のH2から「この記事で分かること」を機械生成する\n\n配信順は役割で決めます。primary を最初に実行し、その公開URLを後続の canonical に引き回すためです。\n\n## 類似度を測って検算する\n\n別原稿のつもりが実質コピーになっていないか、4文字ずつのシングルで Jaccard 係数を取って確認しています。形態素解析なしで日本語でも十分に機能します。\n\n```python\ndef similarity(a: str, b: str) -> float:\n sa, sb = shingles(a), shingles(b)\n return len(sa & sb) / len(sa | sb)\n```\n\n0.8 を超えたら実質同一とみなして警告を出しています。\n"
}
},
"social": {
"linkedin": "記事を複数メディアに転載するとき、canonicalの設計を間違えると「自分で書いた記事なのに転載先が上位に出る」状態になります。\n\n・自社ドメインを最初に公開して正規URLを確定させる\n・canonical対応の媒体にだけ全文を出す\n・非対応の媒体には別原稿、無理なら要約+リンク\n・転載は24時間遅らせる\n\n媒体ごとの対応可否を表にまとめました。",
"x": "同じ本文を10媒体に貼ると、検索エンジンはどれを評価すべきか決められません。\n\ncanonical対応の可否で出し分ける設計を、媒体ごとの実際の挙動とあわせてまとめました。"
},
"publish_at": null,
"draft": false,
"targets": null,
"fallback": "teaser",
"meta": {
"topic_id": "t_seed_2",
"keyword": "canonical 転載 設定",
"intent": "howto",
"meta_description": "canonical の設定を誤ると、転載先が自社より上位に出ます。自社を先に公開して正規URLを確定させ、転載先の対応可否で出し分ける設計を、媒体別の対応表と確認手順つきで解説します。"
}
}