仕事で作ってるオープンなコミュニティサイトを、今風にAjaxで!ページ遷移なしで!なんてやってたら、全然クローラがインデックス作ってくれなくなっちゃったです。テヘペロ。

でも Google App Engine で作りこんでるから、いまから閲覧権限毎にページング作るとか超大変。

所でWebマスターな皆さんであれば、サイトマップは当然ご存知なんでしょう。

私はよく判って無かったです。

だけどアレ、XMLでしょう。

手書は論外として動的に生成するにしても、アーカイブが数10万ページとかある場合はどーすれば。

もっとカジュアルに Google サイトマップを用意したい・・・

いやただ単に面倒臭いだけなんですけど。

実は、Google の場合、サイトマップはテキストファイルにURLを列挙するだけでもOK なのです。

テキスト ファイル: 基本的なサイトマップ(画像、動画などの特殊なデータはなく、ウェブページの URL のみ含まれるサイトマップ)の場合、1 行につき 1 つの URL を記載したテキスト ファイルを Google に送信できます。

サイトマップの作成 – ウェブマスター ツール ヘルプ

ただ単にURLをテキストファイルに書くだけ。超簡単。

あとそのテキストファイルのURLは末尾が.txtで無くても全然だいじょうぶです。

但し、サイトマップ ファイルに含める URL は 50,000 個以下である必要があります。

なので、アーカイブが数十万なんて場合は適切に分割し、複数のサイトマップを持てばいい様です。

親サイトマップを1つ(複数でも可ですけど)作ってそこに、子サイトマップを登録すればいいと言う訳です。

親サイトマップは、Google ウェブマスターツールの、「最適化」の中の「サイトマップ」から登録します。

子サイトマップは、URL列挙のテキストだと、それをクロールされちゃうんで、XMLで書かないとダメでした。

なのでparentsitemap の中身はこんな感じです。

<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns=”http://www.sitemaps.org/schemas/sitemap/0.9″>
<sitemap>
    <loc>http://www.your.site/childsitemap1</loc>
</sitemap>
<sitemap>
    <loc>http://www.your.size/childsitemap2</loc>
</sitemap>
</sitemapindex>

Google以外のクローラとかのため、robots.txt にも親サイトマップを指定しておくと良いでしょう。

User-Agent: *
Sitemap: http://www.your.site/parentsitemap

その子サイトマップが参照するファイルは、URL+改行を列挙したテキストファイルにします。

/childsitemap1 の中身

http://www.example.com/file1.html
    http://www.example.com/file2.html

そうすると、Googleサンが適宜クロールしてくれる様になります。

 

 


参考にさせて頂いたサイト達

sitemap.xml(XMLサイトマップ)の設置と送信|インデックス|SEOまとめ

Google Sitemaps設定