宣伝: 『「シミュレーション仏教」の試み』(JRF 著)。Amazon Kindle で、または、少し高いですが、DRM フリー EPUB を BOOTH で、販売中!
技術系電子本。Python による仏教社会シミュレーション( https://github.com/JRF-2018/simbd )の哲学的解説です。

« DDwin.js をダブルクリックで呼べるようにする | トップページ | Navi2ch でインラインに画像を表示する (Referer もつける) »

2006年3月 2日 (木)

ココログプロで Google サイトマップインデックスを作る

なかなか Google がクロールしてくれないので、Google Sitemapの機能を試してみる。Google Sitemap には Atom 0.3 でも良いから当初はそうしていたのだが、2 週間ほどたっても音沙汰なしだったので Google Sitemap 専用の XML フォーマットを使うことにした。

すでに下記参考のようにいくつかのサイトで Movable Type や Type Pad のテンプレートを使って Sitemap を作る試みがなされている。しかし、それらのテンプレートはあくまで一つのブログを対象にしたものでしかない。このサイトは複数のブログを管理しており、一つ一つブログのサイトマップを登録することもできるのだが、Google Sitemap Index という形式を使えばよりスマートに Sitemap を作ることができそうだとわかった。
適当に重み付けしたサイトマップを作る。


サイトマップでは Google にあくまで参考数値としてだが、記事のサイト内における重要度を 0.0 から 1.0 の範囲で設定することができる。

重み付けの方針は次の通りである。

1.
トップページを 1.0 にする。
2.
最近の記事を高めにする。
3.
「続きを読む」がある記事を高めにする。
4.
カテゴリページはそのカテゴリの記事すべてが載るので、高めにする。
5.
週ごとのアーカイブは今週のものだけ高めにする。


以上を基に、次のような sitemap-part.xml というテンプレートを作った。

<?xml version='1.0' encoding='UTF-8'?>
<urlset xmlns="http://www.google.com/schemas/sitemap/0.84"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.google.com/schemas/sitemap/0.84
  http://www.google.com/schemas/sitemap/0.84/sitemap.xsd">
<url>
<loc><$MTBlogURL encode_xml="1"$></loc>
<priority>1.0</priority>
<MTEntries lastn="1">
<lastmod><$MTEntryDateModified timezone="UTC" format_name="W3CDTF"$></lastmod>
</MTEntries>
<changefreq>daily</changefreq>
</url>
<MTEntries lastn="20">
<url>
<loc><$MTEntryPermalink encode_xml="1"$></loc>
<lastmod><$MTEntryDateModified timezone="UTC" format_name="W3CDTF"$></lastmod>
<MTEntryIfExtended>
<priority>0.9</priority>
<MTElse>
<priority>0.6</priority>
</MTElse>
</MTEntryIfExtended>
<changefreq>daily</changefreq>
</url>
</MTEntries>
<MTEntries offset="20" lastn="9999">
<url>
<loc><$MTEntryPermalink encode_xml="1"$></loc>
<lastmod><$MTEntryDateModified timezone="UTC" format_name="W3CDTF"$></lastmod>
<MTEntryIfExtended>
<priority>0.7</priority>
<MTElse>
<priority>0.5</priority>
</MTElse>
</MTEntryIfExtended>
<changefreq>monthly</changefreq>
</url>
</MTEntries>
<MTCategories>
<url>
<loc><$MTCategoryArchiveLink encode_xml="1"$></loc>
<MTEntries lastn="1">
<lastmod><$MTEntryDateModified timezone="UTC" format_name="W3CDTF"$></lastmod>
</MTEntries>
<priority>0.8</priority>
<changefreq>weekly</changefreq>
</url>
</MTCategories>
<MTBlogIfArchives>
<MTArchiveList archive_type="Weekly" offset="1">
<url>
<loc><$MTArchiveLink encode_xml="1"$></loc>
<lastmod><$MTArchiveDateEnd timezone="UTC" format_name="W3CDTF"$></lastmod>
<priority>0.6</priority>
<changefreq>yearly</changefreq>
</url>
</MTArchiveList>
<MTArchiveList archive_type="Weekly" lastn="1">
<url>
<loc><$MTArchiveLink encode_xml="1"$></loc>
<lastmod><$MTArchiveDateEnd timezone="UTC" format_name="W3CDTF"$></lastmod>
<priority>0.8</priority>
<changefreq>daily</changefreq>
</url>
</MTArchiveList>
</MTBlogIfArchives>
</urlset>


最低の priority は最近 20 個よりも前の個別記事で、「続きを読む」がないもの、その次が今週以外の週別アーカイブである。

ただ、MTArchiveList には offset を指定することができないため、しかたなく、今週分の週別アーカイブは二重に登録している。Google がこれをどのように解釈するかは、まったくわからない。


サイトマップインデックスファイルを作る。


方針として、まず、それぞれのブログごとにサイトマップインデックスファイルに入れるべき断片をテンプレートを用いて作り、その後 SSI (サーバーサイドインクルード)を使って、一つのサイトマップインデックスにする。

ただし、ココログでは .xml では SSI が使えず、また .htaccess を設定する方法もないことから、拡張子は .html にする必要がある。これまた、Google がどう解釈するかが問題だが、試した結果、「SITEMAP インデックス」と認識されている。

sitemap.html
を次のようなファイルにする。

<?xml version='1.0' encoding='UTF-8'?>
<sitemapindex xmlns="http://www.google.com/schemas/sitemap/0.84"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.google.com/schemas/sitemap/0.84
  http://www.google.com/schemas/sitemap/0.84/siteindex.xsd">
<!--#include virtual="/column/sitemap-index-part.xml" -->
<!--#include virtual="/religion/sitemap-index-part.xml" -->
<!--#include virtual="/society/sitemap-index-part.xml" -->
<!--#include virtual="/software/sitemap-index-part.xml" -->
</sitemapindex>


これから読む sitemap-index-part.xml は次のようなテンプレートにした。

<sitemap>
   <loc><$MTBlogURL encoded_xml="1"$>sitemap-part.xml</loc>
   <MTEntries lastn="1">
   <lastmod><$MTEntryDateModified timezone="UTC" format_name="W3CDTF"$></lastmod>
   </MTEntries>
</sitemap>


ちなみに Google はサイトマップインデックスに載せるのはサイトマップを最後に作った日付で最新記事の日付ではないと述べているが、記事の投稿ごとに更新するんだから、まぁ、これでいいんじゃないか?


まとめ


結論を言ってしまうと、このサイトは新しいため、ほとんどキャッシュに入っていない。その状況がいまだに変わっていないので、サイトマップが有効に機能しているかどうか判断がつかない。統計情報は今のところ「上位の検索クエリ」しか表示されない。クロールに関する情報もページ分析も表示できない。

サイトマップの送信とクロールされるかどうかは関係ないと Google も書いているが、まぁ、その通りなんだろうという感想だ。(このサイトがどれだけキャッシュされているかはここをクリックすればわかる。)


あと Google はいくつかのサーバーが時間ごとに交代でクロールや検索フロントエンド、クエリ処理をやっているのだろうか?時間によって、検索できるページが変わっている。今、現在試すと三つの記事しかキャッシュされてないが、たまに 100 個近くキャッシュされてるときもある。その数はバラバラではなく、3 個か 100 個かという感じだ。

自分のところへのリンクを増やすといっても、あんまり関係ない記事にトラックバックをかけるのもいかがかと思うし……といっても最近はできるだけトラックバックしようとはしています。


更新: 06/03/02
初公開: 2006年03月02日 03:12:23
最新版: 2006年04月24日 12:42:07

2006-03-02 03:12:23 (JST) in ウェブログ・ココログ関連 | | コメント (4) | トラックバック (1)

批評や挨拶のためのネットコミュニティ

  • はてなブックマーク(って何?) このエントリーをはてなブックマークに追加 このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク
  • Twitter (って何?)

トラックバック


トラックバックのポリシー

他サイトなどからこの記事に自薦された関連記事(トラックバック)の一覧です。
» JRF のソフトウェア Tips:ココログプロで Google サイトマップインデックスを作る (この記事)

» googleウェブマスター ツールにココログのサイトマップを登録 from お助けPC パソコン トラブル データ救出 自分で修理、解決。

googleウェブマスターツールにココログのサイトマッップの作成方法 自分でウェ 続きを読む

受信: 2007-03-07 11:36:37 (JST)

コメント

Sitemap のバージョンが上がって robots.txt などで設定できるようになったようです。詳しくは下記をご参照ください。

投稿: JRF | 2007-04-14 23:52:01 (JST)

現在、ココログプロでは SSI の include がうまく機能しないらしく、上のサイトマップインデックスファイルがほぼ使えなくなっているようです。(ココログのサポートに問い合わせたところ、SSI はサポート外だそうです。)

投稿: JRF | 2010-05-10 22:48:22 (JST)

SSI に替わる対策としては、サイトマップインデックスの lastmod はオプショナルなもの(なくてもいいもの)らしいので、生成した sitemap-part.xml を lastmod なしで並べるだけの sitemap.xml を作ったり、sitemap-part.xml 自体を登録すればよいようです。

例としてsitemap.xmlが、Google にちゃんと読み込まれたことを確認しています。

投稿: JRF | 2010-05-29 21:08:24 (JST)

この方法だと記事数が大くなると再構築に時間がかかってしまいます。↓では、DataBased Archives (月別アーカイブ)に sitemap を分散し、それを sitemap-index.xml で統合するという実装を試してみました。これで、再構築のスピードはかなり改善されました。(まだ、正しい sitemap か Google にチェックしてもらってませんが。)

aboutme2cocolog: アバウトミーの「ひとこと」をココログプロへ移転するツール

投稿: JRF | 2011-04-27 00:27:55 (JST)

コメントを書く



(メールアドレス形式)


※匿名投稿を許可しています。ゆるめのコメント管理のポリシーを持っています。この記事にまったく関係のないコメントはこのリンク先で受け付けています。
※暗号化パスワードを設定すれば、後に「削除」、すなわち JavaScript で非表示に設定できます。暗号解読者を気にしないならメールアドレスでもかまいません。この設定は平文のメールで管理者に届きます。
※コメントを書くために漢字[かんじ]でルビが、[google: キーワード] で検索指定が使えます。


ランダムことわざ: 七転び八起き。