2004 年 7 月の履歴(もしくは日誌)


2004 年 7 月

7 月 14 日

「RSS に noindex」に対しての提案

blog.bulkfeeds.net で miyagawa さんが,検索エンジンのロボットが読む /robots.txt や HTML の META name="robot" content="noindex" に相当するメタデータをRSSに埋め込むための規格がほしいとおっしゃっています.

robots.txt に RSS についてもそのまま記述すれば良いと思うのですが,robot.txt の編集をする権利を持たないっていう人も少なく無い訳で,そうすると HTML の meta 要素のように,RSS 自体に組み込む仕組みが必要というわけですね.

ぼくも RSS 1.0 ベースで考えてみました.

ここで案が示されていますが,これは RDF との整合性が良く無いので,RSS 1.0 に組み込むとちょっと変です.
<robot:user-agent>*</robot:user-agent>
<robot:noindex>1</robot:noindex>

それをうけて STUDIO DDT ONLINE に RSS 1.0 用の案が出ています.

<channel rdf:about="">
 <!-- Bulkfeeds は許可 -->
 <robot:allowCrawling rdf:resource="http://bulkfeeds.net/" />
 <!-- Google は不許可 -->
 <robot:denyCrawling rdf:resource="http://www.google.com/" />
</channel>

この例だと,URI が何の URI か不明瞭かと思いました.
あるドキュメントは,あるソフトウェア(ロボットもしくはユーザエージェント)に読み込みを許可している.
許可されているソフトウェアの名前はなんとか.
許可されているソフトウェアの Web サイトの URI はこれこれ.
と,そういうった構造になるのかなぁ.

それでぼくの案です.RDF の場合であって RSS 2.0 とか Atom の場合は考えません.では,考えてみた robot 語彙のクラスとプロパティを示して,次に例もあげてみます.

Class
Class name comment
robot:Agent ある検索エンジンのロボットなどのソフトウェア.User agent or robot. Subclass of foaf:Agent
robot:AllAgent すべてのエージェント.All of user agent. Subclass of robot:Agent.
Property
Property name comment domain range
robot:allowableAgent あるドキュメントについてクローリングを許可されているロボット rdfs:Document robot:Agent
robot:disallowableAgent あるドキュメントについてクローリングを拒否されているロボット rdfs:Document robot:Agent
robot:uaName ロボットなどのユーザエージェント名の一部.Segment of User-Agent name. foaf:Agent rdfs:Literal
robot:homepage ロボットなどの Web page foaf:Agent rdfs:Document

例を示しましょう.RSS 1.0 の場合ならこんな感じでしょう:

<channel rdf:about="http://onohiroki.cycling.jp/info/weblog.rdf">
	<title>例ですよ</title>
	<link>http://onohiroki.cycling.jp/</link>
	<robot:allowableAgent>
		<robot:AllAgent/>
	</robot:allowableAgent>
	<robot:disallowableAgent>
		<robot:Agent>
			<robot:uaName>example crawler<robot:uaName>
		</robot:Agent>
	</robot:disallowableAgent>
	<items>
		<rdf:Seq>
			<rdf:li rdf:resource="http://onohiroki.cycling.jp/weblog200407.html" />
		</rdf:Seq>
	</items>
</channel>

この時に channnel の rdf:about で指している URI は RSS 1.0 の URI でないと成り立ちません.channnel の rdf:about で指している URI が Weblog の URI なんかだったりする場合は,下の RDF 一般の場合のような書き方をすることになります.

一般的な RDF に組み込むなら以下のようなかんじに.RSS 1.0 や FOAF とか RDFical とか:

<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:foaf="http://xmlns.com/foaf/0.1/"
	xmlns:robot="http://onohiroki.cycling.jp/ns/robot#"
	>
	<rdf:Description rdf:about="">
		<dc:title>Example of robot vocabulary</dc:title>
		
		<robot:allowableAgent>
			<robot:Agent>
				<robot:homepage rdf:resource="http://bulkfeeds.net"/>
			</robot:Agent>
		</robot:allowableAgent>
		<robot:disallowableAgent>
			<robot:AllAgent/>
		</robot:disallowableAgent>
		
	</rdf:Description>
	
	<foaf:Person>
		<foaf:name>ONO Hiroki</foaf:name>
		<foaf:mbox_sha1sum>911143978a8ce9e254485ff4ee93ed5e700ddd74</foaf:mbox_sha1sum>
		<foaf:made rdf:resource=""/> 
	</foaf:Person>
</rdf:RDF>

ご意見お聞かせくださいまし.

http://onohiroki.cycling.jp/tb/tb.cgi/weblog_d20040714n1 TrackBack

[ 上に戻る]