JavaScriptを有効にしてください

Sphinxでサイトマップを作る

 ·   5 min read

※記事内に商品プロモーションを含むことがあります。

はじめに

Sphinxでサイト構造を示すサイトマップ (sitemap.xml) を作成する方法をまとめました。sphinx-sitemapという拡張機能を使用します。

環境

OSはWindows 10 Home Ver. 21H1です。

  • Python v3.9.7
  • Sphinx v4.2.0
  • sphinx-sitemap v2.2.0

Sphinxとsphinx-sitemapのインストール

Pythonは既にインストールされているものとして、Sphinxとsphinx-sitemapをインストールします。

condaとpipのどちらでもインストール可能です。conda環境ではAnaconda Prompt(またはAnaconda PowerShell Prompt)から以下を実行します。-cオプションによって、インストール元のチャンネルを指定します。

1
2
conda install -c anaconda sphinx
conda install -c conda-forge sphinx-sitemap

pipの場合は以下を実行します。

1
2
pip install sphinx
pip install sphinx-sitemap

プロジェクトテンプレートの作成

適当な空フォルダを作成し、sphinx-quickstartコマンドを実行してプロジェクトテンプレートを作成します。

1
sphinx-quickstart

詳細は以下の記事を参考にしてください。

Sphinxを使ったHTMLドキュメント作成 – Helve Tech Blog

設定ファイルの編集

Sphinxの設定ファイルconf.pyを開き、extensionsのリストに"sphinx_sitemap"を追加します。

1
extensions = ["sphinx_sitemap"]

次に、conf.pyに以下の行を追加します。URLは公開するアドレスに合わせて変更します。

1
html_baseurl = 'https://example.com/'

サイトマップの生成

バッチファイルmake.batがあるフォルダで、.\make.bat htmlというコマンドを実行してサイトをビルドします。すると、sitemap.xmlというファイルも同時に生成されます。
sitemap.xmlの中身は以下のようになります(読みやすいように改行しています)。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
<?xml version='1.0' encoding='utf-8'?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
    <url>
        <loc>https://example.com/ja/index.html</loc>
    </url>
    <url>
        <loc>https://example.com/ja/genindex.html</loc>
    </url>
    <url>
        <loc>https://example.com/ja/search.html</loc>
    </url>
</urlset>

まとめ

Sphinxでsphinx-sitemapという拡張機能を使用し、サイトマップを生成する方法をまとめました。

参考

シェアする

Helve
WRITTEN BY
Helve
関西在住、電機メーカ勤務のエンジニア。X(旧Twitter)で新着記事を配信中です

サイト内検索