TypePadでのSitemapの作成

| | コメント() | トラックバック(0)
仕事で使っているTypePadでは、Sitemapはナレッジベースに載っているものをすこし手を加えたものを利用することにした。

しかし、ここでトップレベルのSitemapに問題が発生。


現状、下記のような構成になっているのだが、

example.domain /corp/           本社のブログ
|
+/branch_A/ 支店Aのブログ
|
+/branch_B/ 支店Bのブログ
|
.
.
.

このドメインは本社のブログに割り当てているのだが、TypePadの仕様上ブログはサブディレクトリ以下に作ることが望ましい、とのことなので、corpディレクトリ以下に作っている。

インデックステンプレートを作成すると、corpディレクトリ以下に作成されてしまい、トップレベルのsitemapが自動生成されない。また、作成されたとしても、各支店のsitemap.xmlをどうやって読んでもらうようにすればいいのか。

まあ、こういうときの基本は本家のドキュメントをしっかりと読む、ということにつきる。
サイトマップ インデックス ファイル (複数のサイトマップ ファイルのインデックス) を使用する場合
つまり、こう記述すればよいわけだ。

<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
   /* 本社のサイトマップ */
   <sitemap>
   <loc>http://example.dmain/corp/</loc>
   </sitemap>  
   /* 支店Aのサイトマップ */
   <sitemap>
   <loc>http://example.dmain/branch_A/</loc>
   </sitemap>  
   /* 支店Bのサイトマップ */
   <sitemap>
   <loc>http://example.dmain/branch_B/</loc>
   </sitemap>  
   .
   .
   .
</sitemapindex>  
トップレベルのsitemapは各ブログが自動生成するsitemap.xmlへのポインタだけの役割に徹する、各ブログのsitemap.xmlはTypePadが更新の旅に自動生成するため、最新の状態が保てるという仕組みになる。

あとはrobots.txtにサイトマップの位置を記述して、各検索エンジンのクローラーに教えてあげればよい。
About /robots.txt In a nutshell Web site owners use the /robots.txt file to give instructions about their site to web robots; this is called The Robots Exclusion Protocol.
こんな感じの内容になる。
$ cat ./robots.txt
User-agent: *

Sitemap : http://example.domain/sitemap.xml
Google Webmaster ToolsのURLの合計値が、支店のsitemap.xmlで記述されたURLの合計になっていることを確認できる。

google_sitemap10.png数時間後にはGoogleのクローラーがきて、いろいろ収集してくれる。

トラックバック(0)

このブログ記事を参照しているブログ一覧: TypePadでのSitemapの作成

このブログ記事に対するトラックバックURL: http://blog.on-net.jp/tf/cgi-bin/mt-tb.cgi/11

コメント