feed discovery

リンク型 alternate、alternate 擬似属性

目次

  1. リンク型 alternate (HTML)
  2. リンク関係 alternate (Atom 1.0)
    1. 仕様書
    2. 制約
  3. rel 属性値 alternate (Atom 0.3、Atom API 仕様案)
    1. 仕様書
  4. alternate 擬似属性 (xml-stylesheet 処理指令)
    1. 仕様書
    2. 属性値
    3. 処理モデル
    4. 関連
    5. 歴史
  5. 代替スタイルシート
  6. フィードへのリンク
  7. メタ情報へのリンク
  8. 異なる媒体の版へのリンク
    1. Mobile Link Discovery
  9. 異なる言語の版へのリンク
  10. メモ

リンク型 alternate (HTML)#

[11] XXX

リンク関係 alternate (Atom 1.0)#

[10] リンク関係 alternate (http://www.iana.org/assignments/relation/alternate) は、 href 属性値である IRI が、 その atom:link 要素を含む要素によって記述された資源の代替となる識別することを表します RFC 4287 4.2.7.2.

仕様書#

制約#

[5] atom:feed 要素は、 rel 属性値alternate であって、 type 属性hreflang 属性の組が同じであるような atom:link 要素を複数含んではなりませんAtom 1.0 4.1.1.

[6] この「属性値が」というのが、 URL として表された長い形式でもよいのか、 正確に「alternate」でなければならないのかは不明です。

[8] atom:entry 要素atom:content 要素を含まない場合、 atom:entry 要素rel 属性alternateatom:link 要素を最低1つは含まなければなりません Atom 1.0 4.1.2.

[9] atom:entry 要素は、 rel 属性値alternate であって、 type 属性hreflang 属性の組が同じであるような atom:link 要素を複数含んではなりませんAtom 1.0 4.1.2.

rel 属性値 alternate (Atom 0.3、Atom API 仕様案)#

[3] Atom 0.3atom:link 要素rel 属性の値 alternate は、 それを含んでいる資源代替表現を指します Atom API 仕様案

仕様書#

[4]

alternate 擬似属性 (xml-stylesheet 処理指令)#

[13] xml-stylesheet 処理指令alternate 擬似属性は、参照されているスタイル・シート代替スタイル・シートであるか否かを表します。

仕様書#

属性値#

[15] 属性値yesno のいずれかでなければなりません >>14

[16] yes は、参照されているスタイル・シート代替スタイル・シートであることを表します >>14

[17] no の意味は仕様上明記されていません。

処理モデル#

[18] 仕様上処理モデルは明記されておらず、 yes 以外の値に至っては意味すら不明確です。

関連#

[19] yes である場合には、 title 擬似属性ない値を指定しなければなりません >>14

歴史#

[20] xml-stylesheet 仕様の第1版では HTML4.0 を参照する形で定義されていました。

代替スタイルシート#

[32] XXX

フィードへのリンク#

[36] XXX

[11] HTML5 Revision Tracker ( 版) http://html5.org/tools/web-apps-tracker?from=4963&to=4964

[12] Bug 9051 – feed autodiscovery for main feed on posts ( 版) http://www.w3.org/Bugs/Public/show_bug.cgi?id=9051

[26] draft-ietf-atompub-autodiscovery-01 - Atom Feed Autodiscovery ( ( 版)) http://tools.ietf.org/html/draft-ietf-atompub-autodiscovery-01

[61] Discover にコンテンツを掲載する | Google 検索セントラル | Google Developers, , https://developers.google.com/search/docs/advanced/mobile/google-discover?hl=ja#optimize-your-web-pages-for-the-follow-feature

メタ情報へのリンク#

[37] フィード以外の RDF/XML へのリンクも rel=alternate が使われることがありました。

[38] しかしメタ情報は「代替」とは言い難いため、 rel=meta がより適切と考えられるようになりました。

[39] oEmbed はその discovery のための link 要素rel=alternate を (なぜか) 採用しています >>314。 代替と言えるものかどうかは甚だ疑問です。

[40] Flickr はなぜか rel=alternative を使っています。
<link   rel="alternative" type="application/json+oembed"  href="https://www.flickr.com/services/oembed?url=https://www.flickr.com/photos/12348574@N07/22011912345&amp;format=json" data-dynamic-added-by="bb44774707b5780000000000000000000000000000000" data-dynamic="true" />
<link   rel="alternative" type="text/xml+oembed"  href="https://www.flickr.com/services/oembed?url=https://www.flickr.com/photos/12348574@N07/22011912345&amp;format=xml" data-dynamic-added-by="bb44774707b5780000000000000000000000000000000" data-dynamic="true" />
<link   rel="alternative"  media="only screen and (max-width: 640px)" href="https://m.flickr.com/photos/12348574@N07/22011912345/" data-dynamic-added-by="bb44774707b5780000000000000000000000000000000" data-dynamic="true" />

異なる媒体の版へのリンク#

[33] 印刷版
[34] スマートフォン版

[22] Building Smartphone-Optimized Websites - Webmasters — Google Developers ( 版) https://developers.google.com/webmasters/smartphone-sites/details

[25] App Indexing for Google Search — Google Developers ( ( 版)) https://developers.google.com/app-indexing/webmasters/details

[27] Google 検索用 App Indexing   |   Google Developers ( 版) https://developers.google.com/app-indexing/webmasters/server

ページ http://example.com/gizmos の HTML に、ディープ リンク http://example.com/gizmos を指定する <link> 要素を、次のように追加します:

<html>

<head>

...

<link rel="alternate" href="android-app://com.example.android/http/example.com/gizmos" />

...

[28] Google 検索用 App Indexing   |   Google Developers ( 版) https://developers.google.com/app-indexing/webmasters/server

<link> 要素をウェブサイトの XML サイトマップに指定して、ページとそのページをアプリで開く方法の関係を示すこともできます。以下に例を示します:

<?xml version="1.0" encoding="UTF-8" ?>

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"

xmlns:xhtml="http://www.w3.org/1999/xhtml">

<url>

<loc>http://example.com/gizmos</loc>

xhtml:link rel="alternate" href="android-app://com.example.android/example/gizmos" /

</url>

...

</urlset>

異なる言語の版へのリンク#

[35] XXX

[23] Official Google Webmaster Central Blog: New markup for multilingual content ( ( 版)) http://googlewebmastercentral.blogspot.co.uk/2011/12/new-markup-for-multilingual-content.html

[24] Official Google Webmaster Central Blog: Multilingual and multinational site annotations in Sitemaps ( ( 版)) http://googlewebmastercentral.blogspot.jp/2012/05/multilingual-and-multinational-site.html

[29] 言語や地域の URL に hreflang を使用する - Search Console ヘルプ ( 版) https://support.google.com/webmasters/answer/189077

[30] 言語や地域の URL に hreflang を使用する - Search Console ヘルプ ( 版) https://support.google.com/webmasters/answer/189077

URL に複数の言語バージョンがある場合、すべての言語のページで、そのページの言語を含むすべての言語バージョンを認識させる必要があります。たとえば、サイトのコンテンツをフランス語、英語、日本語で提供する場合、日本語バージョンのサイトには、フランス語バージョンと英語バージョンの rel="alternate" hreflang="x" リンクに加えて、日本語バージョン自体のリンクを追加する必要があります。同様に、英語バージョンとフランス語バージョンのサイトにも、フランス語バージョン、英語バージョン、日本語バージョンの同じリンクをそれぞれ追加する必要があります。

メモ#

[21] RFC 5988 - Web Linking ( ( 版)) http://tools.ietf.org/html/rfc5988#section-6.2.2

[312] HTTP 仕様書は 300 応答Link: ... rel=alternate を使う可能性に言及していますが、広く実装されるかには疑問も呈しています >>313

[41] ( 版) https://daichkr.hatelabo.jp/antenna/960679194075895898

<link rel="alternate" type="application/atom+xml" title="Atom" href="/antenna/960679194075895898/feed"/>

[43] ( 版) https://developer.mozilla.org/ja/docs/Web/JavaScript

<link rel="alternate" type="application/json" href="/ja/docs/Web/JavaScript$json">

[44] ( 版) https://ja.wikipedia.org/wiki/%E3%83%A6%E3%83%88%E3%83%AC%E3%83%92%E3%83%88%E5%A4%A7%E5%AD%A6

<link rel="alternate" href="android-app://org.wikipedia/http/ja.m.wikipedia.org/wiki/%E3%83%A6%E3%83%88%E3%83%AC%E3%83%92%E3%83%88%E5%A4%A7%E5%AD%A6" />

<link rel="alternate" type="application/x-wiki" title="編集" href="/w/index.php?title=%E3%83%A6%E3%83%88%E3%83%AC%E3%83%92%E3%83%88%E5%A4%A7%E5%AD%A6&amp;action=edit" />

[45] Podlove Alternate Feeds | Podlove ( 版) http://podlove.org/alternate-feeds/

The following example states feeds delivering different media containers for the same audio content:

<link rel="alternate"

href="http://mycoolpodcast.com/feed/mp3-low"

type="application/atom+xml"

title="MP3 audio low-bandwidth"/>

<link rel="alternate"

href="http://mycoolpodcast.com/feed/mp4"

type="application/atom+xml"

title="MP4 audio"/>

<link rel="alternate"

href="http://mycoolpodcast.com/feed/ogg"

type="application/atom+xml"

title="Ogg Vorbis audio"/>

[46] ( 版) http://www18.atwiki.jp/pazdra/

<link rel="alternate" href="http://www18.atwiki.jp/pazdra/rss10_new.xml" type="application/rss+xml" title="パズル&ドラゴンズ非公式wiki 【パズドラ】 新規作成ページRSS" />

<link rel="alternate" href="http://www18.atwiki.jp/pazdra/rss10.xml" type="application/rss+xml" title="パズル&ドラゴンズ非公式wiki 【パズドラ】 更新ページRSS" />

[47] ( 版) https://www.youtube.com/

<link rel="alternate" href="android-app://com.google.android.youtube/http/www.youtube.com/">

<link rel="alternate" href="ios-app://544007664/vnd.youtube/www.youtube.com/">

[48] ( 版) http://www.pixiv.net/

<link rel="alternate" media="only screen and (max-width: 640px)" href="http://touch.pixiv.net/index.php" >

[49] Editorial: synchronize with the DOM Standard · whatwg/html@21c6ec7 ( 版) https://github.com/whatwg/html/commit/21c6ec77594eb89b836d4872222f5916910967fd

[50] ( 版) http://n-styles.com/

<link rel="alternate" type="application/rss+xml" title="ROR" href="http://n-styles.com/sitemap.xml" />

リンク先は RSS+ROR ではなく Sitemap
[51] ( 版) http://ameblo.jp/

<link rel="alternate" type="application/rss+xml" title="ROR" href="http://ameblo.jp/sitemap_index_000.xml" />

リンク先は RSS+ROR ではなく Sitemap
[52] ROR - Resources of a Resource ( 版) http://www.rorweb.com/create-ror-file-rdf.htm

<link rel="alternate" type="application/rdf+xml"

 title="ROR" href="http://www.acme.com/folder/feed.xml" />

[53] ROR - Resources of a Resource ( 版) http://www.rorweb.com/create-ror-file-rss.htm

<link rel="alternate" type="application/rss+xml"

 title="ROR" href="http://www.acme.com/folder/feed.xml" />

[54] Expand on feed autodiscovery, and make it only apply to <link> ( (domenic著, )) https://github.com/whatwg/html/commit/a021607e61e78e7d24e9db857307948ea4379667

[55] 街のユニークなスキマ空間を“MaGaRi”(間借り) | MaGaRi ( (MaGaRi著, )) http://ma-ga-ri.com/

<link rel="alternate" type="application/atom+xml" title="adlensjapan RSS" href="" />

<link rel="pingback" href="http://ma-ga-ri.com/wp/xmlrpc.php" />

<link rel="EditURI" type="application/rsd+xml" title="RSD" href="/xmlrpc.php?rsd" />

<link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://ma-ga-ri.com/wp/xmlrpc.php?rsd" />

<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://ma-ga-ri.com/wp/wp-includes/wlwmanifest.xml" />

<link rel='index' title='MaGaRi' href='http://ma-ga-ri.com/' />

<meta name="generator" content="WordPress 3.0.3" />

[56] Wantedly(ウォンテッドリー)「はたらく」を面白くするビジネスSNS () https://www.wantedly.com/

<link href="https://www.wantedly.com/" hreflang="ja-jp" rel="alternate" /><link href="https://en-jp.wantedly.com/" hreflang="en-jp" rel="alternate" /><link href="https://us.wantedly.com/" hreflang="en-us" rel="alternate" /><link href="https://ca.wantedly.com/" hreflang="en-ca" rel="alternate" /><link href="https://gb.wantedly.com/" hreflang="en-gb" rel="alternate" /><link href="https://de.wantedly.com/" hreflang="en-de" rel="alternate" /><link href="https://tw.wantedly.com/" hreflang="en-tw" rel="alternate" /><link href="https://in.wantedly.com/" hreflang="en-in" rel="alternate" /><link href="https://id.wantedly.com/" hreflang="id-id" rel="alternate" /><link href="https://en-id.wantedly.com/" hreflang="en-id" rel="alternate" /><link href="https://th.wantedly.com/" hreflang="en-th" rel="alternate" /><link href="https://sg.wantedly.com/" hreflang="en-sg" rel="alternate" /><link href="https://my.wantedly.com/" hreflang="en-my" rel="alternate" /><link href="https://hk.wantedly.com/" hreflang="en-hk" rel="alternate" /><link href="https://vn.wantedly.com/" hreflang="en-vn" rel="alternate" /><link href="https://ph.wantedly.com/" hreflang="en-ph" rel="alternate" /><link href="https://au.wantedly.com/" hreflang="en-au" rel="alternate" /><link href="https://kr.wantedly.com/" hreflang="en-kr" rel="alternate" />

[57] RFC 7992 - HTML Format for RFCs () https://tools.ietf.org/html/rfc7992#section-6.3.4

The <head> element contains a <link> tag, with "rel" attribute of

"alternate", "type" attribute of "application/rfc+xml", and "href"

attribute pointing to the prepared XML source that was used to

generate this document.

<link rel="alternate" type="application/rfc+xml" href="source.xml">

[58] 別々の URL  |  Mobile Friendly Websites  |  Google Developers () https://developers.google.com/webmasters/mobile-sites/mobile-seo/separate-urls?hl=ja

パソコン用ページ(http://www.example.com/page-1)には、次のアノテーションを追加します。

<link rel="alternate" media="only screen and (max-width: 640px)"

 href="http://m.example.com/page-1">

モバイル用ページ(http://m.example.com/page-1)に追加する必要があるアノテーションは次のとおりです。

<link rel="canonical" href="http://www.example.com/page-1">

モバイル用 URL には、パソコン用ページを指すこの rel="canonical" タグが必要です。

[59] 別々の URL  |  Mobile Friendly Websites  |  Google Developers () https://developers.google.com/webmasters/mobile-sites/mobile-seo/separate-urls?hl=ja

サイトマップに、次のようなパソコン用ページの rel="alternate" アノテーションを含めることができます。

<?xml version="1.0" encoding="UTF-8"?>

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"

xmlns:xhtml="http://www.w3.org/1999/xhtml">

<url>

<loc>http://www.example.com/page-1/</loc>

xhtml:link

rel="alternate"

media="only screen and (max-width: 640px)"

href="http://m.example.com/page-1" />

</url>

</urlset>

[60] JSON Feed - JSON Feed Version 1 (, ) https://jsonfeed.org/version/1#discovery

[62] Discover にコンテンツを掲載する | Google 検索セントラル  |  ドキュメント  |  Google Developers (, ) https://developers.google.com/search/docs/advanced/mobile/google-discover?hl=ja