検索エンジン用サイトマップ(sitemap)の作り方

 検索エンジンにサイトの構造を記したsitemapを登録すると、クローラーがまんべんなく巡回してくれます。

  1. サイトマップの作成
    1. 注意点
      ファイルは UTF-8 エンコードで作成する必要があります
      サイトマップに含めるURLの数が50,000個を超える、またはファイルサイズが10 MBを超える場合は、複数のサイトマップファイルを作成し、サイトマップインデックスファイルにリストします
    2. サイトマップの種類
      1. ブログのRSS2.0、Atom 1.0 のフィードをそのまま利用
        →簡単ですが、最新記事しか提供できないという難点があります
      2. テキストにURLを並べる
      3. サイトマッププロトコルに基づいたサイトマップの作成
        →同じファイルをsitemaps.org のメンバーである MSN や Yahoo! などの他の検索エンジンに送信することが可能

        ◇形式 ※繰り返し

        <?xml version="1.0" encoding="UTF-8"?>
        <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
        ┌<url>
        │   <loc>http://mocamoca.com/index.html</loc>
        ※   <lastmod>2007-04-08</lastmod>
        │   <changefreq>daily</changefreq>
        │   <priority>0.7</priority>
        └</url>
        </urlset>

  1. サイトマッププロトコルに基づいたサイトマップの作成

    Googleのサイトにいろいろと作り方が載っています。オンラインのサービスもいろいろとあるようですが、ページ数に制限があったり、広告掲載義務があったりしてあまりよくありません。
    私はとても良いperlのスクリプトを見つけたためそれを使わせいただいています。[Perl site map generator](こちらのperlsitemapgeneratorについては未確認)

    ◇使い方
    1. 上記のスクリプトをコピーし、適当な名前.cgiで保存します
    2. #!/usr/bin/perl         ←perlのパスを設定
      my $sitepath="/yourhtdocs";   ←フルパスを記入
      my $website="http://yoursite.com"; ←サイトトップのURLを記入

      ※サイト内にsitemapというディレクトリがあるとエラーになるので、スクリプトの
      open(O,">sitemap");
      unlink("sitemap.gz");
      system("gzip sitemap");
      の3ヶ所のsitemapという名前を適当に変えてあげます

    3. サイトのルートディレクトリにアップし、パーミッションを設定
    4. シェルかブラウザでcgiを起動
      (ブラウザから起動するとサーバーエラーになりますが、ファイルは出来ます)
    5. ルートディレクトリにsitemap.gzという圧縮ファイルが出来るので、それをサイトマップとして登録します

トラックバックURL

このエントリーへのリンク:

このエントリーのトラックバックURL:

コメントする