Google サイトマップ用のサイトマップ生成(Ubuntu を使用)

Ubuntu環境でウェブサイトのサイトマップXMLファイルを生成する。Node.jsとsitemap-generatorライブラリを使用し、Google Search Consoleへ送信する。サイトマップは検索エンジンのクロール効率向上に寄与するものである。

前準備

Ubuntu のシステム更新

Ubuntu で OS のシステム更新を行うときは, 次のコマンドを実行する.最新の状態に保つことで,システムの安定性やセキュリティを確保できる.

Ubuntu のインストールは別ページ »で説明されている.

# パッケージリストの情報を最新の状態に更新する
sudo apt update
# インストール済みのパッケージを依存関係も考慮して包括的に更新する
sudo apt full-upgrade
# システム全体への変更を反映させるため再起動する
sudo shutdown -r now

Node.js バージョン 10 以上のインストール

サイトマップジェネレータを利用するためには Node.js バージョン 10 以上が必要である.Ubuntu 24.04 LTS 環境では Node.js v20(LTS)や v22 といった新しい LTS バージョンの使用が推奨されており,これらは多くの最新ライブラリの動作に最適である.

Node.js のインストール方法はいくつかあるが,Node Version Manager (nvm) を使用すると複数の Node.js バージョンを容易に管理でき,プロジェクトごとに適切なバージョンを切り替えられるため便利である.

サイトマップジェネレータ (sitemap-generator) のインストール

以下のサイトマップジェネレータライブラリを使用する.プログラム的な制御が必要な場合や,大規模サイト,定期的な更新が必要なサイトに適している.インストール手順はhttps://github.com/lgraubner/sitemap-generatorに記載の手順に従う.

# nvm を使用して Node.js の適切なバージョンを選択する(例: LTS バージョン v20)
nvm use 20
# プロジェクトを初期化する(package.json を作成)
npm init
# sitemap-generator ライブラリをインストールする
npm install -S sitemap-generator

npm init を実行すると対話形式で package.json の情報を入力するプロンプトが表示される.

サイトマップの生成

https://github.com/lgraubner/sitemap-generatorに記載のプログラムを利用してサイトマップファイルを生成する.

  1. 次のようなファイルを作成し,カレントディレクトリに,hoge.js のようなファイル名で保存する.

    https://example.com」のところはサイトマップを作成したいサイトの URL に書き換える必要がある.サイトマップには,ウェブサイトの完全修飾 URL(例:https://www.example.com/mypage.html)を使用し,相対 URL は使用しないようにする.

    const SitemapGenerator = require('sitemap-generator');
    
    // create generator
    var generator = SitemapGenerator('https://www.kkaneko.jp', {
      maxDepth: 0,
      filepath: './sitemap.xml',
      maxEntriesPerFile: 50000,
      stripQuerystring: true
    });
    
    // register event listeners
    generator.on('done', () => {
      // sitemaps created
    });
    
    // start the crawler
    generator.start();
    

    補足:

    • maxDepth: 0 は指定した URL のみをサイトマップに含める設定である.サイト全体をクロールする場合はこの設定を削除するか,適切なクロール深度を指定する必要がある.
    • filepath: './sitemap.xml' は,生成されたサイトマップファイルがこのスクリプトを実行したカレントディレクトリに sitemap.xml という名前で保存されることを示す.サイトマップファイルは UTF-8 でエンコードする必要があり,ウェブサイトのルートディレクトリに配置することが推奨される.sitemap.xml というファイル名を使うことで,検索エンジンとの互換性が向上する.
    • sitemap-generator は,クローリング時に robots.txt 設定や meta tags の nofollownoindex ルールを尊重する.
  2. node hoge.js で実行する.
    node hoge.js
    
  3. sitemap.xml が生成されるので確認する.

    生成された sitemap.xml ファイルをテキストエディタで開いて内容を確認する.オンラインのサイトマップバリデーターツールなどを利用すると,構文や内容が正しいか検証できて便利である.特に日本語などの非 ASCII 文字を含む URL が正しくエンコードされているか確認することを推奨する.サイトマップには URL ごとに タグを追加することで,Google にそのページの最終更新日を伝えることができ,クロール頻度の最適化に役立つ場合がある.

  4. Google Search Console を使用して送信する.
    1. Google Search Console にアクセスする.
    2. 左メニューの「サイトマップ」をクリックする.
    3. 新しいサイトマップを追加」のところに,生成したサイトマップの URL を入力する.サイトのルートからの相対パス(例: /sitemap.xml など)で指定することもできる.
    4. 送信」をクリックして,生成されたサイトマップを送信する.

    Google Search Console はサイトマップを Google に送信するだけでなく,送信したサイトマップのエラーや処理状況を確認することもできるため,定期的にチェックすることが重要である.