フィード2016年2月

フィード2016年2月

Feed discovery

[1] 2016年2月にはてなブックマークの日間ランキング >>2 に入っている記事 >>4 を対象とします。 ただし同じサイト (eTLD+1) の記事が複数回ランクインしているときは、そのうちいずれか1つを選んでいます。

[3] 当該記事が起源トップページ (URL /) でない時は、 記事に加えてトップページも対象とします。

[5] 対象サイトは343件、ページは680件あります。

[6] 対象ページ中、調査時点で状態符号200 のものが627件ありました。 MIME型はいずれも text/html でした。

[7] ランクインしている対象ページ343件中で、 フィードへのリンクが含まれているものが226件ありました。 ランクインしている対象ページか、 そこになければ同じ起源トップページにはフィードへのリンクが含まれているものは 244件ありました。 つまり、約71パーセントにはフィードへのリンクが含まれていました。

[8] 調査対象がはてなブックマークで人気があるサイトというバイアスがかかっていることには注意。

[9] ここで、フィードへのリンクとは、 link 要素a 要素area 要素で、 rel 属性alternate が含まれて type 属性application/rss+xml または application/atom+xml のいずれかであるか、 もしくは rel 属性feed が含まれているかのいずれかを満たすものをいいます。

[11] 対象ページ中に rel=feedフィードへのリンクはありませんでした。

[10] 対象ページ中に area 要素フィードへのリンクはありませんでした。

[12] 対象ページ中に1件だけ a 要素フィードへのリンクがありました。 同じページに link 要素フィードへのリンクが含まれていました。 両者の href 属性は違っていましたが、 リダイレクト先は同じ URL でした。

[16] 対象ページ中のフィードへのリンクの個数は次の通りでした。

  • 0個 29%
  • 1個 23%
  • 2個 33%
  • 3個 7%
  • 最大10個

[14] 10個含まれる例 (>>15)、7個含まれる例 (>>13) を見ると、 記事カテゴリーごとのフィードの一覧が含まれていました。

[17] 2個含まれるものは、 RSSAtom だったり、 RSS 1.0RSS 2.0 だったり、記事フィードとコメントフィードだったりするようです。

[66] 対象ページのうち400個 (59%) は、 同じ起源フィードへのリンクだけを含んでいました。 22個 (3%) は、異なる起源フィードへのリンクだけを含んでいました。 9個 (1%) は、同じ起源フィードと異なる起源フィードリンクを両方含んでいました。

リダイレクトを考慮せず、 href 属性に示された URL とページの URL起源を比較した結果です。

[67] 異なる起源フィードの多くは、 FeedBurner (feeds.feedburner.com、feedproxy.google.com、対象サイトのサブドメイン) を使っていました。 その他に、対象サイトの別のサブドメインにあるフィードを参照するものが数例ありました。 他に同じ所有者とみられる同名別 TLDフィードを参照するものや、 ブログサービスのフィードを参照するもの、 newsformat.jpフィードを参照するものもありました。

[68] リンク先のフィード起源に何らかの制約を設けるのは現実的ではなさそうです。

フィード

[18] Feed discovery の調査対象ページからリンクされていたフィードを対象とします。 全部で482件あります。

[19] うち調査時点で状態符号200 のものが427件、 301302 のものが計45件ありました。

[21] 対象フィード中、 43件 (9%) が RSS 1.0、 282件 (58%) が RSS 2.0、 19件 (4%) が Atom 0.3、 79件 (16%) が Atom 1.0 でした。

[20] MIME型と実際の内容は次の通りでした。

RSS 1.0

[44] channel 要素dc:creator 要素を含むフィードが 14件 (3%)、 dc:publisher 要素を含むフィードが 11件 (2%) ありました。

[45] channel 要素dc:date 要素を含むフィードが 16件 (3%) ありました。

[46] channel 要素dc:subject 要素を含むフィードが 6件ありました。

[47] channel 要素atom:link 要素を含むフィードが20件 (4%) ありました。 rel 属性値ごとの件数は次の通りでした。

[48] item 要素dc:creator 要素を含むフィードが 29件 (6%)、 dc:publisher 要素を含むフィードが 4件ありました。

[49] item 要素dc:date 要素を含むフィードが 43件 (9%) ありました。

[50] item 要素dc:subject 要素を含むフィードが 30件 (6%) ありました。

[51] item 要素description 要素を含むフィードが 41件 (9%)、 description 要素が「<」または「&」を含むのが 15件 (3%)。 content:encoded 要素を含むフィードが 29件 (6%)。

RSS 2.0

[29] channel 要素category 要素を含むフィードが2件、 item 要素category 要素を含むフィードが149件ありました。 channel 要素itunes:category 要素を含むフィードが1件ありました。

[26] category 要素domain 属性が指定されている場合、 その値ごとのフィード数は次の通りでした。

[25] cloud 要素を使ったフィードが2件ありました。 どちらも WordPress を使っているようです。

[28] docs 要素を使ったフィードが63件ありました。 うち69件が http://blogs.law.harvard.edu/tech/rss、 3件が http://www.rssboard.org/rss-specification でした。

[34] channel 要素lastBuildDate 要素を含むフィードが 257件 (53%) ありました。 pubDate 要素を含むフィードが 13件 (3%) ありました。 dc:date 要素を含むフィードが 3件ありました。

[35] channel 要素managingEditor 要素を含むのが5件、 webMaster 要素を含むのが5件、 dc:creator 要素を含むのが8件、 itunes:author 要素を含むのが1件ありました。

[36] channel 要素atom:link 要素を含むフィードが189件 (39%) ありました。 rel 属性値ごとの件数は次の通りでした。

[38] https://www.w3.org/2005/Atom 名前空間の link 要素を使ったフィードもありました。

[30] item 要素author 要素を含むフィードが 5件 (1%)、 dc:creator 要素を含むフィードが 136件 (28%) ありました。

[31] item 要素enclosure 要素を含むフィードが8件ありました。 うち7件は type 属性image/jpeg または image/jpg でした。そのうちいくつかは、 指定された URL には実際には PNG がありました (>>39)。 type 属性のない1件は、 PNG でした (>>40)。

[32] item 要素guid 要素を含むフィードが 229件 (48%) ありました。 148件 (31%) には isPermaLink 属性があり、 56件 (12%) には isPermalink 属性がありました。

[33] item 要素description 要素を含むフィードが 237件 (49%)、 description 要素が「<」または「&」を含むのが 187件 (39%)。 content:encoded 要素を含むフィードが 97件 (20%)。

Atom 0.3

[42] 19件 (4%) ありましたが、いずれもライブドアブログのようで、 形式もほぼ共通しています。

[41] atom:content 要素には、 mode=escapedtype=text/html が指定されていました。

[43] atom:summary 要素には、 type=text/plain が指定されていました。

Atom 1.0

[52] atom:feed 要素atom:author 要素が含まれるものが 63件 (13%)、 そのすべてが atom:name 要素を含み、 atom:email 要素を含むものが4件、 atom:uri 要素を含むものが4件ありました。

[55] atom:entry 要素atom:author 要素が含まれるものが 73件 (15%)、 そのすべてが atom:name 要素を含み、 atom:email 要素を含むものが2件、 atom:uri 要素を含むものが7件ありました。

[53] atom:feed 要素atom:category 要素が含まれるものが 2件、atom:entry 要素atom:category 要素が含まれるものが 68件 (14%) ありました。

[22] Atom 1.0 以外も含め、対象フィード中、 atom:category 要素が含まれるものは 73件ありました。うち13件は label なし、 labelterm が同じ値なのが58件、 違う値なのが2件でした。 違う値のもは、いずれも label小文字化したものが term となっていました。

[27] atom:category 要素scheme 属性が指定されている場合、その値ごとの件数は次の通りでした。

[54] atom:entry 要素thr:total 要素が含まれるものが 6件ありました。

[56] atom:content 要素が含まれるものが 73件 (15%) ありました。 その type 属性が含まれるものが71件ありました。 type=html が71件、 type=xhtml が1件ありました。 (type=htmltype=xhtml を1つの文書内で併用した例 (>>57) がありました。) MIME型指定や src 属性の利用例はありませんでした。

[63] atom:feed 要素atom:title 要素が含まれるものが 79件 (16%) ありました。 その type 属性が含まれるものが10件あり、 すべて text と指定されていました。

[60] atom:entry 要素atom:title 要素が含まれるものが 77件 (16%) ありました。 その type 属性が含まれるものが9件あり、 うち7件が html、2件が text と指定されていました。

[62] atom:feed 要素atom:subtitle 要素が含まれるものが 67件 (14%) ありました。 その type 属性が含まれるものが8件あり、 うち2件が html、6件が text と指定されていました。

[59] atom:entry 要素atom:summary 要素が含まれるものが 72件 (15%) ありました。 その type 属性が含まれるものが63件 (13%) あり、そのすべての値が html でした。

[61] atom:feed 要素atom:link 要素を含むフィードが79件 (16%) ありました。 rel 属性が指定されたものが23件 (5%) ありました。 rel 属性値ごとの件数は次の通りでした。

[58] atom:entry 要素atom:link 要素を含むフィードが77件 (16%) ありました。 rel 属性が指定されたものが19件 (4%) ありました。 rel 属性値ごとの件数は次の通りでした。

共通

[65] フィードXML のうち、8件が非整形式でした。 うち1件は XML宣言の前に空白があり、 7件は U+0008U+0010 のような制御文字が含まれていました。

[72] link 要素で示された URL の多くは、 フィード同じ起源のものでしたが、そうでないものも少なからずありました。 異なる起源URL が使われる事情には、次のようなものあるようです。

  • 本サイトとフィードが異なる起源の場合 (>>67)
  • サイトが複数のサブドメイン等を使っている場合
  • サイトに複数の起源でアクセスできる場合の揺れ (http:https: の違いや、 運営者保有ドメインとホスティングサービスのドメインの違いなど)
  • 広告らしきもの

[64] xml:base 属性がみられたのは、 content:encoded 要素と、 Atom 0.3Atom 1.0atom:content 要素のみでした。 いずれも内容の URL絶対URLになっていて本属性があってもなくても変わらなそうですし、 そうでなくてもフィード自体と同じ起源URL が指定されているものが多そうです。

[69] HTML データ中に link 要素があって、 スタイルシートを参照した例がありました。

[71] HTML データ中に id 属性があって、 素片識別子のみの URL を指定した a 要素を使っている例がありました。

[76] 同じフィードの異なる要素に含まれる HTML 同士の id の衝突への配慮は無さそうに見えます。

[73] HTML データ中に出現した要素の種類と、出現フィード数は次の通りでした。

[74] iframe 要素の出現数が多いのは、 はてなブログの外部URLリンク機能を使ったものが全文そのままフィードに含まれているためのようです。

[70] script 要素の出現数が多いのは、 Twitterツイート貼り付けウィジェットを使っているものが多いようです。 広告用スクリプトが参照されているものもありました。

[75] img 要素は、フィードとは異なる起源URL を参照しているものがかなりみられました。 CDN画像を参照するもの、 Amazon書影を参照するものなどが多いようです。 トラッキング目的と見られる、 widthheight が共に 1img 要素も多く見られました。