TOTAL:3481, TODAY:445

Googleサイトマップの設定

先日、Googleの検索エンジンに登録したので、統計情報や外部からリンクしているページ等が分かるGoogleサイトマップを設定しました。Google Sitemapを設定すれば、Googleにページが更新されたことを積極的に伝えてあげることができます。詳しいやり方は、Googleのウェブマスターツールに書いてあるので、そちらも参考にするといいと思います。但し、そのホームページの説明は分かりにくいので、ここでも簡単に紹介します。まず、Googleアカウントを作成します。既にお持ちならば必要ありません(当たり前)。アカウントを作成したら、Googleサイトマップにログインします。すると、次のような画面が出てくるので、自分のサイトを追加します。

この後、「google??????????????.html」のような長い名前の確認ファイルを、トップディレクトリに置くように言われますので、指定された名前のhtmlファイルをを作成して、トップディレクトリに置きます。中身は空でいいみたいです。私はemacsで作成しました。
また、python2.2以上が必要なため、いつものようにインストールしておきます。aptitudeで探すと、最新はpython2.4でしたので、python2.4をインストールしました。

$ aptitude update
$ aptitude search python
$ aptitude install python2.4

この後、google-sitemap_genを指定のサイトから。sitemap_gen-1.4.zipをダウンロードします。このzipファイルを展開すると、次の4つのファイルができます。

  • README
  • sitemap_gen.py
  • example_config.xml
  • example_urllist.txt

sitemap_gen.pyは、サイトマップを生成するpythonスクリプトであり、自分のホームページがあるトップディレクトリにコピーします。example_config.xmlは自分のサイトの構成を記述するファイルのテンプレートですので、config.xmlにコピーして編集します。編集箇所は次の通りです。base_urlと書かれた行を探して、例えば、次のように変更します。

<site
  base_url="http://www.arakin.dyndns.org/"
  store_into="/mnt/www/sitemap.xml.gz"
  verbose="1"
  >

次に、60行目ぐらいにあるurlの設定を次のように変更します。最終変更時間、変更頻度、プライオリティも設定できるようですが、面倒なので、サイトを羅列しておきます。後で気づいたのですが、ここに全部のページを記述しなくても、自動的にapacheのログファイル等を見るようになっているので、すべてのページが登録されます。

  <url  href="http://www.arakin.dyndns.org/index.html"  />
  <url  href="http://www.arakin.dyndns.org/download.html"  />
  <url  href="http://www.arakin.dyndns.org/link.html"  />
  <url  href="http://www.arakin.dyndns.org/diary.html"  />
  <url  href="http://www.arakin.dyndns.org/profile.html"  />

上記の設定は、別ファイル(例えば、urllist.txt)に書いておくこともできます。既にconfig.xmlに書いてしまったので、79行目の下記の部分は削除しておきます。

  <urllist  path="example_urllist.txt"  encoding="UTF-8"  />

次は93行目の部分を編集し、サーバ上のパス名と、サイトのurlとの紐付けを行います。例えば、次のように書きます。

  <directory path="/mnt/www/img" url="http://www.arakin.dyndns.org/img/" />
  <directory path="/mnt/www/dld" url="http://www.arakin.dyndns.org/dld/" />

次は112行目のaccess.logの設定です。サーバ上のlogファイル名を設定します。Debianのaptitudeでapache2.0をインストールしたならば、次のようになると思います。

  <accesslog  path="/var/log/apache2/access.log"       encoding="UTF-8"  />
  <accesslog  path="/var/log/apache2/access.log.1"     encoding="UTF-8"  />
  <accesslog  path="/var/log/apache2/access.log.2.gz"  encoding="UTF-8"  />

上記設定は3個のログファイルをチェックするようにしていますが、「玄箱にWebdruidを導入」した際、ログを毎日ローティトするように変更したため、15個のログファイルをチェックするように変更しました。
次に、125行目に既存のサイトマップがあれば記述します。自分がアレンジしたサイトマップページがあったとしても、それを指定する必要はありません。というか指定しても、後でエラーになります。ということで、下記の行を削除しました。

  <sitemap    path="/var/www/docroot/subpath/sitemap.xml" />

やっと最後の設定ですが、次は158行目の部分です。ここでは、サイトマップに含めたいファイルや除外したいファイルを指定します。ワイルドカードも使用可能です。色々な使い方があると思いますが、私の場合、次のようなhtmlファイルだけを指定しました。

  <filter action="pass" type="wildcard" pattern="*.htm*" />
  <filter action="drop" type="wildcard" pattern="*" />

これで、config.xmlの設定は終わりです(正直、かなり面倒なので疲れました)。後は、config.xmlとsitemap_gen.pyを自分のトップディレクトリにコピー(アップロード)します。そして、トップディレクトリで、次のコマンドを実行し、テストします。

 # python2.4 sitemap_gen.py --config=config.xml --testing

[WARNING]は気にしなくても大丈夫のようです。特にエラーがなければOKですので、次のように、--testingを外し、Googleに送るようにします。

 # python2.4 sitemap_gen.py --config=config.xml

私の場合、自宅のローカルLANにある玄箱から「http://www.arakin.dyndns.org/」にアクセスすると、ルーターの設定(AirStationの設定)ページにアクセスしてしまいます。これは駄目なので、玄箱の/etc/hostsに次のような記述を加えました。

 192.168.***.***  www.arakin.dyndns.org

もちろん、***.***には玄箱のアドレスを指定してください。うまくいったら、Googleサイトマップのサイトマップタグにアクセスすると、次のような表示になると思います。

私の場合、このような設定をしてから、2、3日後にGoogleに登録され、検索エンジンで探すことができるようになりました。これがどのぐらい効果があるのかはよく分かりません。

最新の7件

OpenGL

電子工作

玄箱HG

ホームページ

日記

Copyright (C) 2007 Arakin , All rights reserved.