<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ひげろぐ &#187; SEO</title>
	<atom:link href="http://brass.to/blog/tag/seo/feed" rel="self" type="application/rss+xml" />
	<link>http://brass.to/blog</link>
	<description>技術者として仕事人としての思うところや覚え書きやらです</description>
	<lastBuildDate>Fri, 30 Jul 2010 10:07:43 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>まあガンガレって言われた</title>
		<link>http://brass.to/blog/maa_gangare.html</link>
		<comments>http://brass.to/blog/maa_gangare.html#comments</comments>
		<pubDate>Fri, 29 Feb 2008 09:10:43 +0000</pubDate>
		<dc:creator>akahige</dc:creator>
				<category><![CDATA[未分類]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[ネタ]]></category>

		<guid isPermaLink="false">http://brass.to/blog/maa_gangare.html</guid>
		<description><![CDATA[なぜか今「まあガンガレ」で検索するとGoogle1位。

まあガンガリマス。
種明かし
アンカーテキストマッチってスゲーな。
ちなみにYahoo!でも一位だった。
everybody loves sunshine &#124; ひげよさらば
]]></description>
			<content:encoded><![CDATA[<p>なぜか今「まあガンガレ」で検索するとGoogle1位。</p>
<p><img src="http://brass.to/blog/wp-content/uploads/2008/02/gangare_by_google.gif" alt="gangare_by_google.gif" /></p>
<p>まあガンガリマス。</p>
<h4>種明かし</h4>
<p>アンカーテキストマッチってスゲーな。<br />
ちなみにYahoo!でも一位だった。</p>
<p><a href="http://lets-la-gon.jugem.jp/?eid=8" target="_blank">everybody loves sunshine | ひげよさらば</a></p>
]]></content:encoded>
			<wfw:commentRss>http://brass.to/blog/maa_gangare.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rails2.0でGoogleサイトマップとかのsitemap.xml作る</title>
		<link>http://brass.to/blog/sitemap_xml_by_rails2_0.html</link>
		<comments>http://brass.to/blog/sitemap_xml_by_rails2_0.html#comments</comments>
		<pubDate>Thu, 28 Feb 2008 11:22:26 +0000</pubDate>
		<dc:creator>akahige</dc:creator>
				<category><![CDATA[未分類]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[SEO]]></category>

		<guid isPermaLink="false">http://brass.to/blog/sitemap_xml_by_rails2_0.html</guid>
		<description><![CDATA[今日はsitemap.xmlを作ってたのでRailsでGoogleサイトマップを作るネタで書こうと思ってたら、以下のページでけっこう昔にすでに書かれてて俺涙目。
5分でできるRailsサイトのGoogleサイトマップ対応 : 僕は発展途上技術者
でもよく見てみたら昔だけあってRails2.0では使えないコードになっているので気を取り直して書いてみる。
コードと解説
サイトマップを表示するコントローラとsitemap.xmlのためのテンプレート、それにroutes.rbをいじる。
app/controllers/site_controller.rb
どうでもいいかもしれませんがサイトのトップページとかサイトそのものに関係するページはなんとなくSiteControllerって名前のコントローラにまとめる習慣になってます。個人的に。
class SiteController &#60; ApplicationController
  def sitemap
    @items = Item.find(:all)

    headers['Content-Type'] = 'text/xml; charset=utf-8'
    render(:layout =&#62; false)
  end
end
上記サイトで紹介されているものと比べてRails2.0になったことによる変更点は以下。

render_without_layout は使えなくなっているので render(:layout =&#62; false)
@headers は頭の@をつけた形では使えなくなっているので headers で。

なお@itemsは適当なデータ。
sitemap.xmlに含めたいデータがあれば適当に呼び出すかんじで。なければ呼び出さないかんじで。
app/views/site/sitemap.rxml
お次はテンプレート。
xml.instruct!
xml.urlset(:xmlns =&#62; "http://www.sitemaps.org/schemas/sitemap/0.9") do

  # サイトのトップページ
  xml.url do
    xml.loc(url_for(:controller =&#62; 'site', :action =&#62; 'index', [...]]]></description>
			<content:encoded><![CDATA[<p>今日はsitemap.xmlを作ってたのでRailsでGoogleサイトマップを作るネタで書こうと思ってたら、以下のページでけっこう昔にすでに書かれてて俺涙目。</p>
<p><a href="http://blog.champierre.com/archives/415" target="_blank">5分でできるRailsサイトのGoogleサイトマップ対応 : 僕は発展途上技術者</a></p>
<p>でもよく見てみたら昔だけあってRails2.0では使えないコードになっているので気を取り直して書いてみる。</p>
<h4>コードと解説</h4>
<p>サイトマップを表示するコントローラとsitemap.xmlのためのテンプレート、それにroutes.rbをいじる。</p>
<h5>app/controllers/site_controller.rb</h5>
<p>どうでもいいかもしれませんがサイトのトップページとかサイトそのものに関係するページはなんとなくSiteControllerって名前のコントローラにまとめる習慣になってます。個人的に。</p>
<pre><code>class SiteController &lt; ApplicationController
  def sitemap
    @items = Item.find(:all)

    headers['Content-Type'] = 'text/xml; charset=utf-8'
    render(:layout =&gt; false)
  end
end</code></pre>
<p>上記サイトで紹介されているものと比べてRails2.0になったことによる変更点は以下。</p>
<ul>
<li>render_without_layout は使えなくなっているので render(:layout =&gt; false)</li>
<li>@headers は頭の@をつけた形では使えなくなっているので headers で。</li>
</ul>
<p>なお@itemsは適当なデータ。<br />
sitemap.xmlに含めたいデータがあれば適当に呼び出すかんじで。なければ呼び出さないかんじで。</p>
<h5>app/views/site/sitemap.rxml</h5>
<p>お次はテンプレート。</p>
<pre><code>xml.instruct!
xml.urlset(:xmlns =&gt; "http://www.sitemaps.org/schemas/sitemap/0.9") do

  # サイトのトップページ
  xml.url do
    xml.loc(url_for(:controller =&gt; 'site', :action =&gt; 'index', :only_path =&gt; false))
    xml.priority("0.8")
  end

  # アイテムごとの詳細ページ
  @items.each do |item|
    xml.url do
      xml.loc(url_for(:controller =&gt; 'item', :action =&gt; 'show', :id =&gt; item.id, :only_path =&gt; false))
      xml.priority("0.5")
    end
  end

end</code></pre>
<p>Rails2.0になったことによる変更点はないのだけど、変更した点は以下。</p>
<ul>
<li>xmlns の指定を http://www.google.com/schemas/sitemap/0.84 から http://www.sitemaps.org/schemas/sitemap/0.9 に変更することでGoogleだけでなくYahoo!とMSNにも対応。</li>
<li>url_forを使ってURLのlocを記述。URL設計を変えてもRails的には大丈夫に。</li>
</ul>
<p>まあRails的には大丈夫と言ってもいきなりURL変わったら対外的には困るだろうけど。</p>
<h5>config/routes.rb</h5>
<p>最後にルーティングをいじって終わり。</p>
<pre><code>  map.connect 'sitemap.xml', :controller =&gt; 'site', :action =&gt; 'sitemap'</code></pre>
<p>これで/sitemap.xmlにアクセスするとXML形式のサイトマップが表示されるはず。</p>
<h4>サイトマップ登録</h4>
<p>いつの間にかGoogleサイトマップと互換を持つ形でサイトマップのプロトコルが標準化されていたらしい。（なんというかけっこう前だ）<br />
なので作ったサイトマップをGoogleだけじゃなくてYahoo!とMSNにも登録できる。</p>
<p>サイトマップの内容を確認したら<a href="http://www.google.com/webmasters/tools/" target="_blank">Googleウェブマスターツール</a>や<a href="http://siteexplorer.search.yahoo.com/" target="_blank">Yahoo! Site Explorer</a>から登録。</p>
<p>MSNは登録ツールがないのでレイアウトファイルに以下のようなメタタグを書いておく。</p>
<pre><code>&lt;link rel="alternate" type="application/rss+xml" title="ROR" href="sitemap.xml" /&gt;</code></pre>
<p>これを書いておくとGoogleもYahoo!も取っていってくれるらしいけど、なんとなく手動で登録した方が確実な気がするので各ツールで登録してしまった。</p>
<p>サイトマップ登録に関しては以下のサイトがわかりやすかった。</p>
<p><a href="http://www.s-tips.com/e42.html" target="_blank">サイトTips::Yahoo!とGoogleとMSNにsitemap(サイトマップ)を登録する</a></p>
<h4>参考</h4>
<p><a href="http://www.sitemaps.org/protocol.php" target="_blank">sitemaps.org &#8211; Protocol</a><br />
<a href="http://www.google.com/support/webmasters/bin/answer.py?answer=34654&amp;hl=en" target="_blank">How do I create a Sitemap file?</a></p>
]]></content:encoded>
			<wfw:commentRss>http://brass.to/blog/sitemap_xml_by_rails2_0.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
