canonicalとは 普及した未来はユーザー(自分)から見てどうなのか

# まとめ

canonicalは正式なHTML仕様。

canonicalを使うことで、検索エンジン(クローラー)に対して自分を無視させcanonical先に正の影響を与えることができそう。

301リダイレクトではないので検索エンジンに重複して表示される可能性はあるし、所々の記載場所の中で内容を閲覧することができる。
つまりはサービス内の読者にはcanonicalであるかどうかはあまり関係がない。
よって、検索エンジンでは重複せずとも別々の場所で同じ記事を複数回見かけることになるかもしれない。(その形態自体は宣伝や誘導目的のマルチポストとは言えない可能性が高そう)

それはちょっと体験がよくなさそうなので各サービスは特色を活かした方面へ特化してほしいし、投稿者もcanonicalをつけつつも完璧に同一な記事ではなく各サービスに合わせたユニークな記事になっていれば読む方は幸せなのかな。

とうすぼんやり考えました。

# 前段

最近、Qiitaに似たサービスがいくつか出てきて、カノニカル、カノニカル投稿といったワードを目にするようになりました。
浅学ゆえ存在自体しらず、「カルーセルスライダーみたいなものなのかな？」と思っていました。

canonicalの意義と使い方自体は調べればすぐにわかる内容ですが、調べた記録を残すとともに便乗で考えたことなどを。

# canonical(カノニカル)とは

同一内容[^2]を投稿した際、オリジナルのURLを指定できる。
検索エンジンのための情報。

[^2]: に限りませんが

```html
<link rel="canonical" href="https://qiita.com/khsk/items/～">
```

`link`タグなので、`href`先との関係が`canonical`、`href`先が標準・オリジナルだと宣言している。

ネットでは`canonicalタグ`というワードも散見されるが、見てわかるように**属性**である。[^3]

[^3]: linkタグはrel属性が重要なので慣用的に(ref属性)タグと呼び習わしているならごめんなさい。

[同じ内容をいろんな箇所に書くとGoogleからペナルティをくらう、といったような話を聞いたこともあるような気がするが](https://qiita.com/mmusasabi/items/49b96b3fcb0954942883#%E9%87%8D%E8%A4%87%E3%82%B3%E3%83%B3%E3%83%86%E3%83%B3%E3%83%84)、SEO方面には明るくないので突っ込まない。
おそらくそういったものへの対策か、同一内容で検索結果を汚さないためのユーザーライクのためなのだろうか。
どちらが強く影響するのかは気になるところ。

# 検索エンジンのための記述ということはrobots.txtのようなもの？

検索エンジン向けの記述と言えば、(ワードサラダなどSEOハック的なものを除けば)
robots.txtを思い出した。

[Robots Exclusion Standard - Wikipedia](https://ja.wikipedia.org/wiki/Robots_Exclusion_Standard)

>
このプロトコルは全く拘束力がない。あくまでもボット側が協力することが前提であり、robots.txt で指定したからといってプライバシーが保たれることを保証するものではない。robots.txt で見られたくないファイルを指定したとしても、ウェブブラウザを使えば世界中の誰でもそのファイルを閲覧できる。また、このプロトコルを無視するボットを運用することも可能である。
>
robots.txt プロトコルにはRFCや公的な標準化団体が全く関与していない。 

robots.txtは無視できるということもなんとなく知っていたが、なるほどRFCやHTMLに関する標準仕様ではなく、「お願い」といったもののようだ。

# canonicalは仕様

ではcanonical属性はどうだというと、見出しでオチているのだが、

[HTML Standard 日本語訳 links.html#link-type-canonical](https://momdo.github.io/html/links.html#link-type-canonical)

>canonicalキーワードは、href属性で指定されるURLが現在の文書の優先URLであることを示す。これは、検索エンジンが重複コンテンツを減らすのに役立つ。詳細については、The Canonical Link Relation仕様を参照のこと。[RFC6596]

[RFC 6596 - The Canonical Link Relation](https://tools.ietf.org/html/rfc6596)

>April 2012

とあるので決して新しい仕様ではないようだ。

# クロスポストとは

「canonicalを利用した～」という文章には「クロスポスト」というワードが続くようだ。
「複数のURLに投稿する」程度の意味だろうか。

そもそもSEO、検索結果に配慮がされているといえ、人間から見れば「マルチポスト」なのでは？っと掲示板世代としては思ってしまったので、こちらも少し調査。

[クロスポスト - Wikipedia](https://ja.wikipedia.org/wiki/%E3%82%AF%E3%83%AD%E3%82%B9%E3%83%9D%E3%82%B9%E3%83%88)

>クロスポスト（英語：crossposting）とは、ネットニュースにおいて、1本の記事を複数のニュースグループ（カテゴリ）を指定して投稿することをいう。
>
ネットニュース特有の機能であり、クロスポストを行う場合、内容に関連する数グループ程度までを指定して投稿する。この程度のクロスポストなら、あまり問題にならない。 

[ネットニュース - Wikipedia](https://ja.wikipedia.org/wiki/%E3%83%8D%E3%83%83%E3%83%88%E3%83%8B%E3%83%A5%E3%83%BC%E3%82%B9)

>ネットニュースは、電子メールと並んで、コンピュータネットワークの初期につくられた情報交換システムの1つである。いずれもインターネットが一般に普及する以前から存在しており、当時はUUCPで配送されていた。この経緯により、ネットニュースの記事の形式と配送方法はEメールのそれとよく似ており、UUCPの特徴であるバケツリレー式の配信を前提としたものになっている。ただし、Eメールは通常一対一のメッセージ交換に主に使われるのに対し、ネットニュースは不特定多数の利用者間の議論の場として使われる。 


なんとも古い時代からあったものなのですね。
クロスポストのWikiだけでは、最近ニュースサイトで見かける
「提供元:ほげほげ(リンク)」
のような引用？形式のことかと思っていたので、勘違いがとけた。

[マルチポスト - Wikipedia](https://ja.wikipedia.org/wiki/%E3%83%9E%E3%83%AB%E3%83%81%E3%83%9D%E3%82%B9%E3%83%88)

>マルチポスト（英: multi-post, multiple posting, multiposting）とは、同一の内容の文章を複数のニュースグループや掲示板に別の記事として投稿すること[1]。クロスポストとは区別される。
>
本来はネットニュースからの用語であるが、現在[いつ?]は電子掲示板などで多く使われる語である。 

クロスポストと前後して生まれた？（主観）主に手作業のようにポストしていくことを指す言葉のようだ。

関連:[マルチポスト（クロスポスト）とは - IT用語辞典](http://e-words.jp/w/%E3%83%9E%E3%83%AB%E3%83%81%E3%83%9D%E3%82%B9%E3%83%88.html)

## canonical的・ユーザー的に言うと？

サイト単位で言うと…マルチポストじゃないですか？
Googleなどの検索エンジン側では重複表示されないかもしれません。その違い？

# クロスポストが増えると私はどう思うか予想する

(Mediumやdev.toなどすでに運用しているところは未観測なので言及できずすべて推測になってしまうのですが)
CrieitやQrunchなど、日本語圏のQiitaライクの技術的記事を(**も**)投稿出来るサイトが今後、仮にたくさん生き延びることができたとして。

それぞれが活性化するとなると多分私もそれぞれを監視するようになると思います。

でも、それぞれのサイトで同じ記事がクロスポストされていたら…
コメントの有無はともかく内容的にはほぼ同一なので、どこか一つで見れば事足りるわけですよね。

それは知恵袋やOKwaveなどでおきていた
「(質問者からすると)マルチポストではないけれど裏でサービス同士が連携しているのでどこでも同じ内容が表示される」
状態ですよね。

検索エンジンでなら除外検索でフィルターできますけど、Webサービス内ではフィルターは難しいのでは…？
ユーザーミュートでは「クロスポストではないそのサイトだけでの投稿」が見えなくなりますし[^1]

ほしくない情報が目に入るという問題は「ゴミ記事問題」にもつながるので深入りはNGですが。

[「ゴミ記事が多すぎる問題」に対する私見 - Qiita](https://qiita.com/akira_/items/c8881dcde93d4cb035c7)
(一連の流れ・コメントは読んでいません。本文もあまり…)

ユーザーがうまくフィルターするのが責務。ということはわかります。

「ゴミ記事」との違いは「良記事もクロスポストされる」ということでしょうか。
真に有益な記事ほど各知見集積サービスで(タイムラインなどでフィルターしていても)何度も目に入ることになって辟易する。
なんてことにならないかなと。とくにそれが「トレンド」など有限の枠をその有益さ故に各所で消費されると跨いで見ている身としてはもったいなくなるかもしれませんね。
そういった記事の(技術・ツール的な)フィルター方法も思いつかないので目視の無視フィルターになるのかなと。


個人ブログ → Qiita ← 個人ブログ
のような個人からパブリックへの流れなら巡回場所が減るので大歓迎ですが、各知見集積所にメッシュ状にクロスポストされると、
かわいい記事でも「もう見た」なんてポプ子状態にならないかなと思いました。[^4]

[^4]: 似た内容や初歩的な内容は長く居れば何度も遭遇することになりある意味慣れましたが、このパターンに忌避感を覚えるのはその慣れがまだないからなのかもしれません。

そもそもその、適当に名付けましたけど「各知見集積所にメッシュ状にクロスポスト」が一部ユーザーの行動でしかなく、クロスポスト推奨側の期待している行動ではない可能性もあるので、杞憂感もありますね。

# 優先を示すcanonicalがあるのならば、非優先を示す属性はあるのか？

記事のコピー(canonicalはそれだけに限りませんが)先に付けるcanonicalとはいえ、複製なんて簡単なので、
仮に百個のcanonicalを記述されたクロスポストがあると仮定します。
そして例えばcanonical先がhttps対応しました！となり優先URLが変更になると、
100個のHTMLファイルの編集が必要になりますよね？

では逆に優先URL先のHTMLに、
「このURLたちより私を優先してほしい」
と非優先URL、逆canonical属性のようなものがあれば変更ファイルは一つで済むんじゃないかと思いました。
…検索エンジン的には優先URLを巡回しない限り個々の非優先URLを別々にインデックスしてしまう欠点がありますが、そういうのはあるのだろうかと思いました。

結果的にはそのようなものはありませんでしたが。

[HTML Standard 日本語訳 links.html#linkTypes](https://momdo.github.io/html/links.html#linkTypes)

canonicalはあくまでcanonicalが書かれているURLとcanonicalが参照しているURLの一対一の関係。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/62354/094f7da2-8065-1473-dad5-4652fc8985f6.png)



# canonicalは記事の盗用に役立つのか？

これも考えればすぐわかりますが、ならない。と思います。
あくまでcanonicalは自分を謙譲して参照先を優先させる機能なので、盗用者が盗用元を記述するわけもなく。

先に仮定した非優先属性があったとして、盗用されたらそれは無視するように非優先に片っ端から入れていくならどうだろうか？
と思いましたが、これも盗用先が盗用元を非優先だと主張しだして(検索エンジンにとって)よくわからない状態になるなと思いました。

盗用者がわざわざ盗用元のURLを記述してくれるとなれば観測が楽になる効果はあるかもしれませんが…
HTMLってそういうことのための言語なのか？と言われると困ります。そんな属性ないのですけれど。

# その他

[カノニカルとは？ - Crieit](https://crieit.net/posts/da1c7e227584106e36e6383f856268df)

>質問はマルチポストになってしまうためカノニカルによるクロス投稿は行わないでください。

「クロス投稿も質問も大いに歓迎するけれど、例外的にクロス投稿のうち質問はマルチポストに分類される」
という解釈でしょうか。
このあたりの線引はネット文化に足を踏み入れそうで、明確な定義はないのかもしれませんね。


[^1]: そんなシーンの実益があまり思いつかないのですが
    技術的なものはQiitaとクロスポスト、雑談はAサイトのみに投稿→Aサイトでそのユーザーをミュートしていると取りこぼす？