{"title":"サイトマップ・フレームワーク","version":"5.2","locale":"ja","docname":"ref/contrib/sitemaps","url":"/ja/5.2/ref/contrib/sitemaps/","canonical":"https://djangodocs.dev/ja/5.2/ref/contrib/sitemaps/","summary":"Djangoには、 sitemap XML ファイルを作成するための高レベルなサイトマップ生成フレームワークが付属しています。 概要 Link to this heading #…","html":"<span id=\"the-sitemap-framework\"></span><h1>サイトマップ・フレームワーク<a class=\"heading-anchor\" href=\"#module-django.contrib.sitemaps\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>Djangoには、 <a class=\"reference external\" href=\"https://www.sitemaps.org/\">sitemap</a> XML ファイルを作成するための高レベルなサイトマップ生成フレームワークが付属しています。</p>\n<section id=\"overview\">\n<h2>概要<a class=\"heading-anchor\" href=\"#overview\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>サイトマップとは、検索エンジンのインデクサーに、ページの変更頻度や、あるページがサイト内の他のページと比較してどの程度「重要」であるかを伝える、ウェブサイト上のXMLファイルのことです。この情報は、検索エンジンがあなたのサイトをインデックスするのに役立ちます。</p>\n<p>Django サイトマップフレームワークは、この情報を Python コードで表現することで、XML ファイルの作成を自動化します。</p>\n<p>これは Django の <a class=\"reference internal\" href=\"/ja/5.2/ref/contrib/syndication/\"><span class=\"doc\">配信 (syndication) フレームワーク</span></a> のように動作します。サイトマップを作成するには、 <a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap\" title=\"django.contrib.sitemaps.Sitemap\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Sitemap</span></code></a> クラスを書き、 <a class=\"reference internal\" href=\"/ja/5.2/topics/http/urls/\"><span class=\"doc\">URLconf</span></a> の中でそれを指定します。</p>\n</section>\n<section id=\"installation\">\n<h2>インストール<a class=\"heading-anchor\" href=\"#installation\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>サイトマップ アプリをインストールするには、以下の手順に従ってください。</p>\n<ol class=\"arabic simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">'django.contrib.sitemaps'</span></code> を <a class=\"reference internal\" href=\"/ja/5.2/ref/settings/#std-setting-INSTALLED_APPS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">INSTALLED_APPS</span></code></a> 設定に追加します。</p></li>\n<li><p><a class=\"reference internal\" href=\"/ja/5.2/ref/settings/#std-setting-TEMPLATES\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">TEMPLATES</span></code></a> 設定には、<code class=\"docutils literal notranslate\"><span class=\"pre\">DjangoTemplates</span></code> バックエンドが含まれており、<code class=\"docutils literal notranslate\"><span class=\"pre\">APP_DIRS</span></code> オプションが <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> に設定されていることを確認してください。これはデフォルトで設定されているので、設定を変更していない場合は、この設定を変更する必要はありません。</p></li>\n<li><p><a class=\"reference internal\" href=\"/ja/5.2/ref/contrib/sites/#module-django.contrib.sites\" title=\"django.contrib.sites: Lets you operate multiple websites from the same database and Django project\"><code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">sites</span> <span class=\"pre\">フレームワーク</span></code></a> がインストールされていることを確認してください。</p></li>\n</ol>\n<p>(注意: サイトマップアプリケーションはデータベーステーブルをインストールしません。 <a class=\"reference internal\" href=\"/ja/5.2/ref/settings/#std-setting-INSTALLED_APPS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">INSTALLED_APPS</span></code></a> に入れる必要があるのは、 <a class=\"reference internal\" href=\"/ja/5.2/ref/templates/api/#django.template.loaders.app_directories.Loader\" title=\"django.template.loaders.app_directories.Loader\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">Loader()</span></code></a> テンプレートローダーがデフォルトのテンプレートを見つけられるようにするためです)。</p>\n</section>\n<section id=\"initialization\">\n<h2>初期設定<a class=\"heading-anchor\" href=\"#initialization\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.sitemaps.views.sitemap\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">views.</span></span><span class=\"sig-name descname\"><span class=\"pre\">sitemap</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">request</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">sitemaps</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">section</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">template_name</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">'sitemap.xml'</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">content_type</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">'application/xml'</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.sitemaps.views.sitemap\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Django サイトでサイトマップの生成を有効にするには、 <a class=\"reference internal\" href=\"/ja/5.2/topics/http/urls/\"><span class=\"doc\">URLconf</span></a> に以下の行を追加します:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.contrib.sitemaps.views</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">sitemap</span>\n\n<span class=\"n\">path</span><span class=\"p\">(</span>\n    <span class=\"s2\">&quot;sitemap.xml&quot;</span><span class=\"p\">,</span>\n    <span class=\"n\">sitemap</span><span class=\"p\">,</span>\n    <span class=\"p\">{</span><span class=\"s2\">&quot;sitemaps&quot;</span><span class=\"p\">:</span> <span class=\"n\">sitemaps</span><span class=\"p\">},</span>\n    <span class=\"n\">name</span><span class=\"o\">=</span><span class=\"s2\">&quot;django.contrib.sitemaps.views.sitemap&quot;</span><span class=\"p\">,</span>\n<span class=\"p\">)</span>\n</code></pre></div>\n<p>これは Django に、クライアントが <code class=\"file docutils literal notranslate\"><span class=\"pre\">/sitemap.xml</span></code> にアクセスしたときにサイトマップを構築するように指示します。</p>\n<p>サイトマップファイルの名前は重要ではありませんが、場所は重要です。検索エンジンは、現在のURLレベル以下のサイトマップのリンクだけをインデックスします。例えば、 <code class=\"file docutils literal notranslate\"><span class=\"pre\">sitemap.xml</span></code> がルートディレクトリにある場合、サイト内のどのURLでも参照できます。しかし、サイトマップが <code class=\"file docutils literal notranslate\"><span class=\"pre\">/content/sitemap.xml</span></code> にある場合は、 <code class=\"file docutils literal notranslate\"><span class=\"pre\">/content/</span></code> で始まるURLのみを参照できます。</p>\n<p>サイトマップビューは追加の必須引数を取ります: <code class=\"docutils literal notranslate\"><span class=\"pre\">{'sitemaps':</span> <span class=\"pre\">sitemaps}</span></code>. <code class=\"docutils literal notranslate\"><span class=\"pre\">sitemaps</span></code> は短いセクションラベル (例えば <code class=\"docutils literal notranslate\"><span class=\"pre\">blog</span></code> や <code class=\"docutils literal notranslate\"><span class=\"pre\">news</span></code>) を <a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap\" title=\"django.contrib.sitemaps.Sitemap\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Sitemap</span></code></a> クラス (例えば <code class=\"docutils literal notranslate\"><span class=\"pre\">BlogSitemap</span></code> や <code class=\"docutils literal notranslate\"><span class=\"pre\">NewsSitemap</span></code>) にマップする辞書です。また、 <a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap\" title=\"django.contrib.sitemaps.Sitemap\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Sitemap</span></code></a> クラスの <em>インスタンス</em> (例えば <code class=\"docutils literal notranslate\"><span class=\"pre\">BlogSitemap(some_var)</span></code>) にマップすることもできます。</p>\n</section>\n<section id=\"sitemap-classes\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">Sitemap</span></code> クラス<a class=\"heading-anchor\" href=\"#sitemap-classes\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p><a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap\" title=\"django.contrib.sitemaps.Sitemap\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Sitemap</span></code></a> クラスは、サイトマップ内のエントリの「セクション」を表す Python クラスです。例えば、1 つの <a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap\" title=\"django.contrib.sitemaps.Sitemap\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Sitemap</span></code></a> クラスはブログのすべてのエントリを表し、別のクラスはイベントカレンダー内のすべてのイベントを表すことができます。</p>\n<p>最も単純なケースでは、これらのセクションはすべて1つの <code class=\"file docutils literal notranslate\"><span class=\"pre\">sitemap.xml</span></code> にまとめられますが、フレームワークを使って、セクションごとに1つのサイトマップファイルを参照するサイトマップインデックスを生成することもできます。(下記の <a class=\"reference internal\" href=\"#creating-a-sitemap-index\">Creating a sitemap index</a> を参照してください)。</p>\n<p><a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap\" title=\"django.contrib.sitemaps.Sitemap\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Sitemap</span></code></a> クラスは <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.sitemaps.Sitemap</span></code> のサブクラスでなければなりません。これらはコードベースのどこにあっても構いません。</p>\n</section>\n<section id=\"an-example\">\n<h2>例<a class=\"heading-anchor\" href=\"#an-example\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>たとえば、 <code class=\"docutils literal notranslate\"><span class=\"pre\">Entry</span></code> モデルのブログシステムがあり、サイトマップに個々のブログエントリへのリンクをすべて含めたいとします。サイトマップクラスは次のようになります:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.contrib.sitemaps</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">Sitemap</span>\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">blog.models</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">Entry</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">BlogSitemap</span><span class=\"p\">(</span><span class=\"n\">Sitemap</span><span class=\"p\">):</span>\n    <span class=\"n\">changefreq</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;never&quot;</span>\n    <span class=\"n\">priority</span> <span class=\"o\">=</span> <span class=\"mf\">0.5</span>\n\n    <span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">items</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">):</span>\n        <span class=\"k\">return</span> <span class=\"n\">Entry</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">is_draft</span><span class=\"o\">=</span><span class=\"kc\">False</span><span class=\"p\">)</span>\n\n    <span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">lastmod</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> <span class=\"n\">obj</span><span class=\"p\">):</span>\n        <span class=\"k\">return</span> <span class=\"n\">obj</span><span class=\"o\">.</span><span class=\"n\">pub_date</span>\n</code></pre></div>\n<p>備考:</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap.changefreq\" title=\"django.contrib.sitemaps.Sitemap.changefreq\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">changefreq</span></code></a> と <a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap.priority\" title=\"django.contrib.sitemaps.Sitemap.priority\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">priority</span></code></a> はそれぞれ <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;changefreq&gt;</span></code> と <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;priority&gt;</span></code> 要素に対応するクラス属性です。これらは例の <a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap.lastmod\" title=\"django.contrib.sitemaps.Sitemap.lastmod\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">lastmod</span></code></a> のように関数として呼び出すことができます。</p></li>\n<li><p><a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap.items\" title=\"django.contrib.sitemaps.Sitemap.items\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">items()</span></code></a> はオブジェクトの <a class=\"reference external\" href=\"https://docs.python.org/3/glossary.html#term-sequence\" title=\"(in Python v3.14)\"><span class=\"xref std std-term\">sequence</span></a> または <code class=\"docutils literal notranslate\"><span class=\"pre\">QuerySet</span></code> を返すメソッドです。返されたオブジェクトはサイトマップのプロパティに対応する呼び出し可能なメソッドに渡されます (<a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap.location\" title=\"django.contrib.sitemaps.Sitemap.location\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">location</span></code></a>、<a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap.lastmod\" title=\"django.contrib.sitemaps.Sitemap.lastmod\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">lastmod</span></code></a>、<a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap.changefreq\" title=\"django.contrib.sitemaps.Sitemap.changefreq\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">changefreq</span></code></a>、<a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap.priority\" title=\"django.contrib.sitemaps.Sitemap.priority\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">priority</span></code></a>)。</p></li>\n<li><p><a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap.lastmod\" title=\"django.contrib.sitemaps.Sitemap.lastmod\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">lastmod</span></code></a> は <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.datetime\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">datetime</span></code></a> を返すべきです。</p></li>\n<li><p>この例では <a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap.location\" title=\"django.contrib.sitemaps.Sitemap.location\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">location</span></code></a> メソッドはありませんが、オブジェクトのURLを指定するために使用できます。デフォルトでは <a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap.location\" title=\"django.contrib.sitemaps.Sitemap.location\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">location()</span></code></a> は各オブジェクトに対して <code class=\"docutils literal notranslate\"><span class=\"pre\">get_absolute_url()</span></code> を呼び出し、その結果を返します。</p></li>\n</ul>\n</section>\n<section id=\"sitemap-class-reference\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">Sitemap</span></code> クラス リファレンス<a class=\"heading-anchor\" href=\"#sitemap-class-reference\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.sitemaps.Sitemap\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">Sitemap</span></span><a class=\"heading-anchor\" href=\"#django.contrib.sitemaps.Sitemap\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>サイトマップ <code class=\"docutils literal notranslate\"><span class=\"pre\">Sitemap</span></code> クラスは以下のメソッドや属性を定義できます:</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.sitemaps.Sitemap.items\">\n<span class=\"sig-name descname\"><span class=\"pre\">items</span></span><a class=\"heading-anchor\" href=\"#django.contrib.sitemaps.Sitemap.items\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><strong>必須項目.</strong> オブジェクトの <a class=\"reference external\" href=\"https://docs.python.org/3/glossary.html#term-sequence\" title=\"(in Python v3.14)\"><span class=\"xref std std-term\">sequence</span></a> または <code class=\"docutils literal notranslate\"><span class=\"pre\">QuerySet</span></code> を返すメソッド。フレームワークはこれらのオブジェクトの <em>タイプ</em> が何であるかについては関心を持ちません; 大切なのはこれらのオブジェクトが <a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap.location\" title=\"django.contrib.sitemaps.Sitemap.location\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">location()</span></code></a>, <a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap.lastmod\" title=\"django.contrib.sitemaps.Sitemap.lastmod\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">lastmod()</span></code></a>, <a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap.changefreq\" title=\"django.contrib.sitemaps.Sitemap.changefreq\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">changefreq()</span></code></a>、および <a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap.priority\" title=\"django.contrib.sitemaps.Sitemap.priority\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">priority()</span></code></a> メソッドに渡されることです。</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.sitemaps.Sitemap.location\">\n<span class=\"sig-name descname\"><span class=\"pre\">location</span></span><a class=\"heading-anchor\" href=\"#django.contrib.sitemaps.Sitemap.location\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><strong>オプション。</strong> メソッドまたは属性のいずれか。</p>\n<p>メソッドであれば、<a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap.items\" title=\"django.contrib.sitemaps.Sitemap.items\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">items()</span></code></a> が返すオブジェクトの絶対パスを返す必要があります。</p>\n<p>属性である場合、その値は <a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap.items\" title=\"django.contrib.sitemaps.Sitemap.items\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">items()</span></code></a> が返す <em>すべての</em> オブジェクトに使用する絶対パスを表す文字列でなければなりません。</p>\n<p>どちらの場合も、「絶対パス」とは、プロトコルやドメインを含まないURLを意味します。たとえば:</p>\n<ul class=\"simple\">\n<li><p>良い例: <code class=\"docutils literal notranslate\"><span class=\"pre\">'/foo/bar/'</span></code></p></li>\n<li><p>悪い例: <code class=\"docutils literal notranslate\"><span class=\"pre\">'example.com/foo/bar/'</span></code></p></li>\n<li><p>悪い例: <code class=\"docutils literal notranslate\"><span class=\"pre\">'https://example.com/foo/bar/'</span></code></p></li>\n</ul>\n<p><a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap.location\" title=\"django.contrib.sitemaps.Sitemap.location\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">location</span></code></a> が提供されていない場合、フレームワークは <a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap.items\" title=\"django.contrib.sitemaps.Sitemap.items\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">items()</span></code></a> が返す各オブジェクトに対して <code class=\"docutils literal notranslate\"><span class=\"pre\">get_absolute_url()</span></code> メソッドを呼び出します。</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">'http'</span></code> 以外のプロトコルを指定するには、 <a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap.protocol\" title=\"django.contrib.sitemaps.Sitemap.protocol\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">protocol</span></code></a> を使用してください。</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.sitemaps.Sitemap.lastmod\">\n<span class=\"sig-name descname\"><span class=\"pre\">lastmod</span></span><a class=\"heading-anchor\" href=\"#django.contrib.sitemaps.Sitemap.lastmod\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><strong>オプション。</strong> メソッドまたは属性のいずれか。</p>\n<p>メソッドであれば、 <a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap.items\" title=\"django.contrib.sitemaps.Sitemap.items\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">items()</span></code></a> が返すオブジェクトを引数に取り、そのオブジェクトの最終更新日時を <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.datetime\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">datetime</span></code></a> として返す必要があります。</p>\n<p>属性であれば、その値は <a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap.items\" title=\"django.contrib.sitemaps.Sitemap.items\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">items()</span></code></a> で返されるすべてのオブジェクトの最終更新日時を表す <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.datetime\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">datetime</span></code></a> である必要があります。</p>\n<p>サイトマップ内のすべてのアイテムに <a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap.lastmod\" title=\"django.contrib.sitemaps.Sitemap.lastmod\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">lastmod</span></code></a> がある場合、 <a class=\"reference internal\" href=\"#django.contrib.sitemaps.views.sitemap\" title=\"django.contrib.sitemaps.views.sitemap\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">views.sitemap()</span></code></a> によって生成されるサイトマップには、最新の <code class=\"docutils literal notranslate\"><span class=\"pre\">lastmod</span></code> に等しい <code class=\"docutils literal notranslate\"><span class=\"pre\">Last-Modified</span></code> ヘッダーが付きます。リクエストに <code class=\"docutils literal notranslate\"><span class=\"pre\">If-Modified-Since</span></code> ヘッダーがある場合、Django が適切に応答するようにするには、 <a class=\"reference internal\" href=\"/ja/5.2/ref/middleware/#django.middleware.http.ConditionalGetMiddleware\" title=\"django.middleware.http.ConditionalGetMiddleware\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ConditionalGetMiddleware</span></code></a> をアクティブにします。これにより、サイトマップが変更されていない場合には送信を防ぎます。</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.sitemaps.Sitemap.paginator\">\n<span class=\"sig-name descname\"><span class=\"pre\">paginator</span></span><a class=\"heading-anchor\" href=\"#django.contrib.sitemaps.Sitemap.paginator\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><strong>オプション。</strong></p>\n<p>このプロパティは、 <a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap.items\" title=\"django.contrib.sitemaps.Sitemap.items\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">items()</span></code></a> のための <a class=\"reference internal\" href=\"/ja/5.2/ref/paginator/#django.core.paginator.Paginator\" title=\"django.core.paginator.Paginator\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Paginator</span></code></a> を返します。サイトマップを一括生成する場合は、複数の <code class=\"docutils literal notranslate\"><span class=\"pre\">items()</span></code> 呼び出しを避けるためにこのキャッシュされたプロパティをオーバーライドすると良いでしょう。</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.sitemaps.Sitemap.changefreq\">\n<span class=\"sig-name descname\"><span class=\"pre\">changefreq</span></span><a class=\"heading-anchor\" href=\"#django.contrib.sitemaps.Sitemap.changefreq\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><strong>オプション。</strong> メソッドまたは属性のいずれか。</p>\n<p>メソッドの場合、1つの引数 (<a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap.items\" title=\"django.contrib.sitemaps.Sitemap.items\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">items()</span></code></a> で返されるオブジェクト) を取るべきであり、そのオブジェクトの変更頻度を文字列で返すべきです。</p>\n<p>属性であれば、その値は <a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap.items\" title=\"django.contrib.sitemaps.Sitemap.items\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">items()</span></code></a> が返す <em>すべての</em> オブジェクトの変更頻度を表す文字列でなければなりません。</p>\n<p><a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap.changefreq\" title=\"django.contrib.sitemaps.Sitemap.changefreq\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">changefreq</span></code></a> の可能な値は、メソッドの場合も属性の場合も、以下の通りです。</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">'always'</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">'hourly'</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">'daily'</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">'weekly'</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">'monthly'</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">'yearly'</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">'never'</span></code></p></li>\n</ul>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.sitemaps.Sitemap.priority\">\n<span class=\"sig-name descname\"><span class=\"pre\">priority</span></span><a class=\"heading-anchor\" href=\"#django.contrib.sitemaps.Sitemap.priority\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><strong>オプション。</strong> メソッドまたは属性のいずれか。</p>\n<p>メソッドであれば、1つの引数 (<a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap.items\" title=\"django.contrib.sitemaps.Sitemap.items\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">items()</span></code></a> が返すオブジェクト) を取り、そのオブジェクトの優先順位を文字列か浮動小数点数で返します。</p>\n<p>属性であれば、その値は、<a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap.items\" title=\"django.contrib.sitemaps.Sitemap.items\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">items()</span></code></a> で返される <em>すべて</em> のオブジェクトの優先度を表す文字列または浮動小数点数である必要があります。</p>\n<p><a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap.priority\" title=\"django.contrib.sitemaps.Sitemap.priority\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">priority</span></code></a> の例として、<code class=\"docutils literal notranslate\"><span class=\"pre\">0.4</span></code>、<code class=\"docutils literal notranslate\"><span class=\"pre\">1.0</span></code> を指定します。ページのデフォルトの優先度は <code class=\"docutils literal notranslate\"><span class=\"pre\">0.5</span></code> です。詳細については、<a class=\"reference external\" href=\"https://www.sitemaps.org/protocol.html#prioritydef\">sitemaps.org documentation</a> を参照してください。</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.sitemaps.Sitemap.protocol\">\n<span class=\"sig-name descname\"><span class=\"pre\">protocol</span></span><a class=\"heading-anchor\" href=\"#django.contrib.sitemaps.Sitemap.protocol\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><strong>オプション。</strong></p>\n<p>この属性はサイトマップのURLのプロトコル (<code class=\"docutils literal notranslate\"><span class=\"pre\">'http'</span></code> または <code class=\"docutils literal notranslate\"><span class=\"pre\">'https'</span></code>) を定義します。設定されていない場合は、サイトマップがリクエストされたプロトコルが使用されます。サイトマップがリクエストのコンテキスト外で作成された場合、デフォルトは <code class=\"docutils literal notranslate\"><span class=\"pre\">'https'</span></code> です。</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.sitemaps.Sitemap.limit\">\n<span class=\"sig-name descname\"><span class=\"pre\">limit</span></span><a class=\"heading-anchor\" href=\"#django.contrib.sitemaps.Sitemap.limit\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><strong>オプション。</strong></p>\n<p>この属性はサイトマップの各ページに含まれるURLの最大数を定義します。この値はデフォルト値の <code class=\"docutils literal notranslate\"><span class=\"pre\">50000</span></code> を超えてはいけません。これは <a class=\"reference external\" href=\"https://www.sitemaps.org/protocol.html#index\">Sitemaps protocol</a> で許可されている上限値です。</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.sitemaps.Sitemap.i18n\">\n<span class=\"sig-name descname\"><span class=\"pre\">i18n</span></span><a class=\"heading-anchor\" href=\"#django.contrib.sitemaps.Sitemap.i18n\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><strong>オプション。</strong></p>\n<p>このサイトマップのURLを <a class=\"reference internal\" href=\"/ja/5.2/ref/settings/#std-setting-LANGUAGES\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">LANGUAGES</span></code></a> のすべてを使用して生成するかどうかを定義するブール値の属性です。デフォルトは <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code> です。</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.sitemaps.Sitemap.languages\">\n<span class=\"sig-name descname\"><span class=\"pre\">languages</span></span><a class=\"heading-anchor\" href=\"#django.contrib.sitemaps.Sitemap.languages\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><strong>オプション。</strong></p>\n<p><a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap.i18n\" title=\"django.contrib.sitemaps.Sitemap.i18n\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">i18n</span></code></a> が有効のときに代替リンクを生成するために使用する <a class=\"reference internal\" href=\"/ja/5.2/topics/i18n/#term-language-code\"><span class=\"xref std std-term\">言語コード</span></a> の <a class=\"reference external\" href=\"https://docs.python.org/3/glossary.html#term-sequence\" title=\"(in Python v3.14)\"><span class=\"xref std std-term\">sequence</span></a>。デフォルトは <a class=\"reference internal\" href=\"/ja/5.2/ref/settings/#std-setting-LANGUAGES\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">LANGUAGES</span></code></a>。</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.sitemaps.Sitemap.alternates\">\n<span class=\"sig-name descname\"><span class=\"pre\">alternates</span></span><a class=\"heading-anchor\" href=\"#django.contrib.sitemaps.Sitemap.alternates\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><strong>オプション。</strong></p>\n<p>真偽値属性。これを <a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap.i18n\" title=\"django.contrib.sitemaps.Sitemap.i18n\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">i18n</span></code></a> と併用すると、生成される各URLには他言語バージョンを指す代替リンクのリストがあり、 <a class=\"reference external\" href=\"https://developers.google.com/search/docs/advanced/crawling/localized-versions\">hreflang attribute</a> を使用します。デフォルトは <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code> です。</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.sitemaps.Sitemap.x_default\">\n<span class=\"sig-name descname\"><span class=\"pre\">x_default</span></span><a class=\"heading-anchor\" href=\"#django.contrib.sitemaps.Sitemap.x_default\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><strong>オプション。</strong></p>\n<p>真偽値属性です。<code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> の場合、 <a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap.alternates\" title=\"django.contrib.sitemaps.Sitemap.alternates\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">alternates</span></code></a> によって生成された代替リンクには、 <code class=\"docutils literal notranslate\"><span class=\"pre\">hreflang=&quot;x-default&quot;</span></code> フォールバックエントリーが含まれ、その値は <a class=\"reference internal\" href=\"/ja/5.2/ref/settings/#std-setting-LANGUAGE_CODE\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">LANGUAGE_CODE</span></code></a> になります。デフォルトは <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code> です。</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.sitemaps.Sitemap.get_latest_lastmod\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_latest_lastmod</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.sitemaps.Sitemap.get_latest_lastmod\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><strong>オプション。</strong> <a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap.lastmod\" title=\"django.contrib.sitemaps.Sitemap.lastmod\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">lastmod</span></code></a> で返される最新の値を返すメソッド。この関数は、 <a class=\"reference internal\" href=\"#sitemap-index-context-variables\"><span class=\"std std-ref\">Sitemap インデックス コンテキスト変数</span></a> に <code class=\"docutils literal notranslate\"><span class=\"pre\">lastmod</span></code> 属性を追加するために使用されます。</p>\n<p>デフォルトでは、 <a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap.get_latest_lastmod\" title=\"django.contrib.sitemaps.Sitemap.get_latest_lastmod\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">get_latest_lastmod()</span></code></a> は以下を返します:</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap.lastmod\" title=\"django.contrib.sitemaps.Sitemap.lastmod\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">lastmod</span></code></a> が属性の場合:  <a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap.lastmod\" title=\"django.contrib.sitemaps.Sitemap.lastmod\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">lastmod</span></code></a> 。</p></li>\n<li><p><a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap.lastmod\" title=\"django.contrib.sitemaps.Sitemap.lastmod\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">lastmod</span></code></a> がメソッドの場合、 <a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap.items\" title=\"django.contrib.sitemaps.Sitemap.items\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">Sitemap.items()</span></code></a> で返されるすべてのアイテムを使用してメソッドを呼び出した結果、最新の <code class=\"docutils literal notranslate\"><span class=\"pre\">lastmod</span></code> が返されます。</p></li>\n</ul>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.sitemaps.Sitemap.get_languages_for_item\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_languages_for_item</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">item</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.sitemaps.Sitemap.get_languages_for_item\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><strong>オプション。</strong> アイテムが表示される言語コードのシーケンスを返すメソッド。デフォルトでは、 <a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap.get_languages_for_item\" title=\"django.contrib.sitemaps.Sitemap.get_languages_for_item\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">get_languages_for_item()</span></code></a> は <a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap.languages\" title=\"django.contrib.sitemaps.Sitemap.languages\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">languages</span></code></a> を返します。</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n<section id=\"shortcuts\">\n<h2>ショートカット<a class=\"heading-anchor\" href=\"#shortcuts\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>サイトマップフレームワークは、一般的なケースに対する便利なクラスを提供します。</p>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.sitemaps.GenericSitemap\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">GenericSitemap</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">info_dict</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">priority</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">changefreq</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">protocol</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.sitemaps.GenericSitemap\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><a class=\"reference internal\" href=\"#django.contrib.sitemaps.GenericSitemap\" title=\"django.contrib.sitemaps.GenericSitemap\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.contrib.sitemaps.GenericSitemap</span></code></a> クラスでは、少なくとも <code class=\"docutils literal notranslate\"><span class=\"pre\">queryset</span></code> エントリを含む辞書を渡すことで、サイトマップを作成できます。この <code class=\"docutils literal notranslate\"><span class=\"pre\">queryset</span></code> は、サイトマップのアイテムを生成するために使用されます。また、<code class=\"docutils literal notranslate\"><span class=\"pre\">queryset</span></code> から取得されたオブジェクトの日付フィールドを指定する <code class=\"docutils literal notranslate\"><span class=\"pre\">date_field</span></code> エントリを持つこともできます。これは、生成されたサイトマップの <a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap.lastmod\" title=\"django.contrib.sitemaps.Sitemap.lastmod\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">lastmod</span></code></a> 属性および <a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap.get_latest_lastmod\" title=\"django.contrib.sitemaps.Sitemap.get_latest_lastmod\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">get_latest_lastmod()</span></code></a> メソッドに使用されます。</p>\n<p><a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap.priority\" title=\"django.contrib.sitemaps.Sitemap.priority\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">priority</span></code></a> 、 <a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap.changefreq\" title=\"django.contrib.sitemaps.Sitemap.changefreq\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">changefreq</span></code></a>、 <a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap.protocol\" title=\"django.contrib.sitemaps.Sitemap.protocol\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">protocol</span></code></a> キーワード引数を使用すると、すべてのURLに対してこれらの属性を指定できます。</p>\n</dd></dl>\n\n<section id=\"example\">\n<h3>カスタマイズ例<a class=\"heading-anchor\" href=\"#example\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>以下は <a class=\"reference internal\" href=\"#django.contrib.sitemaps.GenericSitemap\" title=\"django.contrib.sitemaps.GenericSitemap\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">GenericSitemap</span></code></a> を使用した <a class=\"reference internal\" href=\"/ja/5.2/topics/http/urls/\"><span class=\"doc\">URLconf</span></a> の例です:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.contrib.sitemaps</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">GenericSitemap</span>\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.contrib.sitemaps.views</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">sitemap</span>\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.urls</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">path</span>\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">blog.models</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">Entry</span>\n\n<span class=\"n\">info_dict</span> <span class=\"o\">=</span> <span class=\"p\">{</span>\n    <span class=\"s2\">&quot;queryset&quot;</span><span class=\"p\">:</span> <span class=\"n\">Entry</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">all</span><span class=\"p\">(),</span>\n    <span class=\"s2\">&quot;date_field&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;pub_date&quot;</span><span class=\"p\">,</span>\n<span class=\"p\">}</span>\n\n<span class=\"n\">urlpatterns</span> <span class=\"o\">=</span> <span class=\"p\">[</span>\n    <span class=\"c1\"># some generic view using info_dict</span>\n    <span class=\"c1\"># ...</span>\n    <span class=\"c1\"># the sitemap</span>\n    <span class=\"n\">path</span><span class=\"p\">(</span>\n        <span class=\"s2\">&quot;sitemap.xml&quot;</span><span class=\"p\">,</span>\n        <span class=\"n\">sitemap</span><span class=\"p\">,</span>\n        <span class=\"p\">{</span><span class=\"s2\">&quot;sitemaps&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span><span class=\"s2\">&quot;blog&quot;</span><span class=\"p\">:</span> <span class=\"n\">GenericSitemap</span><span class=\"p\">(</span><span class=\"n\">info_dict</span><span class=\"p\">,</span> <span class=\"n\">priority</span><span class=\"o\">=</span><span class=\"mf\">0.6</span><span class=\"p\">)}},</span>\n        <span class=\"n\">name</span><span class=\"o\">=</span><span class=\"s2\">&quot;django.contrib.sitemaps.views.sitemap&quot;</span><span class=\"p\">,</span>\n    <span class=\"p\">),</span>\n<span class=\"p\">]</span>\n</code></pre></div>\n</section>\n</section>\n<section id=\"sitemap-for-static-views\">\n<h2>静的ビューのサイトマップ<a class=\"heading-anchor\" href=\"#sitemap-for-static-views\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>検索エンジンのクローラに、オブジェクト詳細ページでもフラットページでもないビューをインデックスさせたいことがよくあります。その解決策は、 <code class=\"docutils literal notranslate\"><span class=\"pre\">items</span></code> にこれらのビューの URL 名を明示的に列挙し、サイトマップの <code class=\"docutils literal notranslate\"><span class=\"pre\">location</span></code> メソッドで <a class=\"reference internal\" href=\"/ja/5.2/ref/urlresolvers/#django.urls.reverse\" title=\"django.urls.reverse\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">reverse()</span></code></a> を呼び出すことです。例えば次のようにします:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"c1\"># sitemaps.py</span>\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.contrib</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">sitemaps</span>\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.urls</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">reverse</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">StaticViewSitemap</span><span class=\"p\">(</span><span class=\"n\">sitemaps</span><span class=\"o\">.</span><span class=\"n\">Sitemap</span><span class=\"p\">):</span>\n    <span class=\"n\">priority</span> <span class=\"o\">=</span> <span class=\"mf\">0.5</span>\n    <span class=\"n\">changefreq</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;daily&quot;</span>\n\n    <span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">items</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">):</span>\n        <span class=\"k\">return</span> <span class=\"p\">[</span><span class=\"s2\">&quot;main&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;about&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;license&quot;</span><span class=\"p\">]</span>\n\n    <span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">location</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> <span class=\"n\">item</span><span class=\"p\">):</span>\n        <span class=\"k\">return</span> <span class=\"n\">reverse</span><span class=\"p\">(</span><span class=\"n\">item</span><span class=\"p\">)</span>\n\n\n<span class=\"c1\"># urls.py</span>\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.contrib.sitemaps.views</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">sitemap</span>\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.urls</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">path</span>\n\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">.sitemaps</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">StaticViewSitemap</span>\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">.</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">views</span>\n\n<span class=\"n\">sitemaps</span> <span class=\"o\">=</span> <span class=\"p\">{</span>\n    <span class=\"s2\">&quot;static&quot;</span><span class=\"p\">:</span> <span class=\"n\">StaticViewSitemap</span><span class=\"p\">,</span>\n<span class=\"p\">}</span>\n\n<span class=\"n\">urlpatterns</span> <span class=\"o\">=</span> <span class=\"p\">[</span>\n    <span class=\"n\">path</span><span class=\"p\">(</span><span class=\"s2\">&quot;&quot;</span><span class=\"p\">,</span> <span class=\"n\">views</span><span class=\"o\">.</span><span class=\"n\">main</span><span class=\"p\">,</span> <span class=\"n\">name</span><span class=\"o\">=</span><span class=\"s2\">&quot;main&quot;</span><span class=\"p\">),</span>\n    <span class=\"n\">path</span><span class=\"p\">(</span><span class=\"s2\">&quot;about/&quot;</span><span class=\"p\">,</span> <span class=\"n\">views</span><span class=\"o\">.</span><span class=\"n\">about</span><span class=\"p\">,</span> <span class=\"n\">name</span><span class=\"o\">=</span><span class=\"s2\">&quot;about&quot;</span><span class=\"p\">),</span>\n    <span class=\"n\">path</span><span class=\"p\">(</span><span class=\"s2\">&quot;license/&quot;</span><span class=\"p\">,</span> <span class=\"n\">views</span><span class=\"o\">.</span><span class=\"n\">license</span><span class=\"p\">,</span> <span class=\"n\">name</span><span class=\"o\">=</span><span class=\"s2\">&quot;license&quot;</span><span class=\"p\">),</span>\n    <span class=\"c1\"># ...</span>\n    <span class=\"n\">path</span><span class=\"p\">(</span>\n        <span class=\"s2\">&quot;sitemap.xml&quot;</span><span class=\"p\">,</span>\n        <span class=\"n\">sitemap</span><span class=\"p\">,</span>\n        <span class=\"p\">{</span><span class=\"s2\">&quot;sitemaps&quot;</span><span class=\"p\">:</span> <span class=\"n\">sitemaps</span><span class=\"p\">},</span>\n        <span class=\"n\">name</span><span class=\"o\">=</span><span class=\"s2\">&quot;django.contrib.sitemaps.views.sitemap&quot;</span><span class=\"p\">,</span>\n    <span class=\"p\">),</span>\n<span class=\"p\">]</span>\n</code></pre></div>\n</section>\n<section id=\"creating-a-sitemap-index\">\n<h2>サイトマップインデックスを作成する<a class=\"heading-anchor\" href=\"#creating-a-sitemap-index\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.sitemaps.views.index\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">views.</span></span><span class=\"sig-name descname\"><span class=\"pre\">index</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">request</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">sitemaps</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">template_name</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">'sitemap_index.xml'</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">content_type</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">'application/xml'</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">sitemap_url_name</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">'django.contrib.sitemaps.views.sitemap'</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.sitemaps.views.index\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>サイトマップフレームワークには、 <code class=\"docutils literal notranslate\"><span class=\"pre\">sitemaps</span></code> 辞書で定義された各セクションごとに1つずつ、個別のサイトマップファイルを参照するサイトマップインデックスを作成する機能もあります。使用上の唯一の違いは下記です:</p>\n<ul class=\"simple\">\n<li><p>URLconf で 2 つのビューを使用しています: <a class=\"reference internal\" href=\"#django.contrib.sitemaps.views.index\" title=\"django.contrib.sitemaps.views.index\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">django.contrib.sitemaps.views.index()</span></code></a> と <a class=\"reference internal\" href=\"#django.contrib.sitemaps.views.sitemap\" title=\"django.contrib.sitemaps.views.sitemap\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">django.contrib.sitemaps.views.sitemap()</span></code></a> 。</p></li>\n<li><p><a class=\"reference internal\" href=\"#django.contrib.sitemaps.views.sitemap\" title=\"django.contrib.sitemaps.views.sitemap\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">django.contrib.sitemaps.views.sitemap()</span></code></a> ビューは、<code class=\"docutils literal notranslate\"><span class=\"pre\">section</span></code> キーワード引数を受け取るべきです。</p></li>\n</ul>\n<p>上記の例に対する関連するURLconfの行は、次のようになります:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.contrib.sitemaps</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">views</span>\n\n<span class=\"n\">urlpatterns</span> <span class=\"o\">=</span> <span class=\"p\">[</span>\n    <span class=\"n\">path</span><span class=\"p\">(</span>\n        <span class=\"s2\">&quot;sitemap.xml&quot;</span><span class=\"p\">,</span>\n        <span class=\"n\">views</span><span class=\"o\">.</span><span class=\"n\">index</span><span class=\"p\">,</span>\n        <span class=\"p\">{</span><span class=\"s2\">&quot;sitemaps&quot;</span><span class=\"p\">:</span> <span class=\"n\">sitemaps</span><span class=\"p\">},</span>\n        <span class=\"n\">name</span><span class=\"o\">=</span><span class=\"s2\">&quot;django.contrib.sitemaps.views.index&quot;</span><span class=\"p\">,</span>\n    <span class=\"p\">),</span>\n    <span class=\"n\">path</span><span class=\"p\">(</span>\n        <span class=\"s2\">&quot;sitemap-&lt;section&gt;.xml&quot;</span><span class=\"p\">,</span>\n        <span class=\"n\">views</span><span class=\"o\">.</span><span class=\"n\">sitemap</span><span class=\"p\">,</span>\n        <span class=\"p\">{</span><span class=\"s2\">&quot;sitemaps&quot;</span><span class=\"p\">:</span> <span class=\"n\">sitemaps</span><span class=\"p\">},</span>\n        <span class=\"n\">name</span><span class=\"o\">=</span><span class=\"s2\">&quot;django.contrib.sitemaps.views.sitemap&quot;</span><span class=\"p\">,</span>\n    <span class=\"p\">),</span>\n<span class=\"p\">]</span>\n</code></pre></div>\n<p>これにより、自動的に <code class=\"file docutils literal notranslate\"><span class=\"pre\">sitemap.xml</span></code> ファイルが生成され、 <code class=\"file docutils literal notranslate\"><span class=\"pre\">sitemap-flatpages.xml</span></code> と <code class=\"file docutils literal notranslate\"><span class=\"pre\">sitemap-blog.xml</span></code> の両方が参照されます。 <a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap\" title=\"django.contrib.sitemaps.Sitemap\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Sitemap</span></code></a> クラスと <code class=\"docutils literal notranslate\"><span class=\"pre\">sitemaps</span></code> 辞書は全く変わりません。</p>\n<p>すべてのサイトマップが <a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap.get_latest_lastmod\" title=\"django.contrib.sitemaps.Sitemap.get_latest_lastmod\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">Sitemap.get_latest_lastmod()</span></code></a> で返される <code class=\"docutils literal notranslate\"><span class=\"pre\">lastmod</span></code> を持っている場合、サイトマップインデックスは最新の <code class=\"docutils literal notranslate\"><span class=\"pre\">lastmod</span></code> と同じ <code class=\"docutils literal notranslate\"><span class=\"pre\">Last-Modified</span></code> ヘッダーを持ちます。</p>\n<p>サイトマップの URL が 50,000 を超える場合は、インデックスファイルを作成すべきです。この場合、 Django は自動的にサイトマップをページ分割し、インデックスに反映します。</p>\n<p>通常のサイトマップビューを使用していない場合 (たとえば、キャッシュデコレータでラップされている場合) は、サイトマップビューに名前を付けて、インデックスビューに <code class=\"docutils literal notranslate\"><span class=\"pre\">sitemap_url_name</span></code> を渡さなければなりません:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.contrib.sitemaps</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">views</span> <span class=\"k\">as</span> <span class=\"n\">sitemaps_views</span>\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.views.decorators.cache</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">cache_page</span>\n\n<span class=\"n\">urlpatterns</span> <span class=\"o\">=</span> <span class=\"p\">[</span>\n    <span class=\"n\">path</span><span class=\"p\">(</span>\n        <span class=\"s2\">&quot;sitemap.xml&quot;</span><span class=\"p\">,</span>\n        <span class=\"n\">cache_page</span><span class=\"p\">(</span><span class=\"mi\">86400</span><span class=\"p\">)(</span><span class=\"n\">sitemaps_views</span><span class=\"o\">.</span><span class=\"n\">index</span><span class=\"p\">),</span>\n        <span class=\"p\">{</span><span class=\"s2\">&quot;sitemaps&quot;</span><span class=\"p\">:</span> <span class=\"n\">sitemaps</span><span class=\"p\">,</span> <span class=\"s2\">&quot;sitemap_url_name&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;sitemaps&quot;</span><span class=\"p\">},</span>\n    <span class=\"p\">),</span>\n    <span class=\"n\">path</span><span class=\"p\">(</span>\n        <span class=\"s2\">&quot;sitemap-&lt;section&gt;.xml&quot;</span><span class=\"p\">,</span>\n        <span class=\"n\">cache_page</span><span class=\"p\">(</span><span class=\"mi\">86400</span><span class=\"p\">)(</span><span class=\"n\">sitemaps_views</span><span class=\"o\">.</span><span class=\"n\">sitemap</span><span class=\"p\">),</span>\n        <span class=\"p\">{</span><span class=\"s2\">&quot;sitemaps&quot;</span><span class=\"p\">:</span> <span class=\"n\">sitemaps</span><span class=\"p\">},</span>\n        <span class=\"n\">name</span><span class=\"o\">=</span><span class=\"s2\">&quot;sitemaps&quot;</span><span class=\"p\">,</span>\n    <span class=\"p\">),</span>\n<span class=\"p\">]</span>\n</code></pre></div>\n</section>\n<section id=\"template-customization\">\n<h2>テンプレートをカスタマイズする<a class=\"heading-anchor\" href=\"#template-customization\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>サイト上で利用可能な各サイトマップやサイトマップインデックスごとに異なるテンプレートを使用したい場合は、URLconf を介して <code class=\"docutils literal notranslate\"><span class=\"pre\">sitemap</span></code> ビューや <code class=\"docutils literal notranslate\"><span class=\"pre\">index</span></code> ビューに <code class=\"docutils literal notranslate\"><span class=\"pre\">template_name</span></code> パラメータを渡すことで指定できます:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.contrib.sitemaps</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">views</span>\n\n<span class=\"n\">urlpatterns</span> <span class=\"o\">=</span> <span class=\"p\">[</span>\n    <span class=\"n\">path</span><span class=\"p\">(</span>\n        <span class=\"s2\">&quot;custom-sitemap.xml&quot;</span><span class=\"p\">,</span>\n        <span class=\"n\">views</span><span class=\"o\">.</span><span class=\"n\">index</span><span class=\"p\">,</span>\n        <span class=\"p\">{</span><span class=\"s2\">&quot;sitemaps&quot;</span><span class=\"p\">:</span> <span class=\"n\">sitemaps</span><span class=\"p\">,</span> <span class=\"s2\">&quot;template_name&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;custom_sitemap.html&quot;</span><span class=\"p\">},</span>\n        <span class=\"n\">name</span><span class=\"o\">=</span><span class=\"s2\">&quot;django.contrib.sitemaps.views.index&quot;</span><span class=\"p\">,</span>\n    <span class=\"p\">),</span>\n    <span class=\"n\">path</span><span class=\"p\">(</span>\n        <span class=\"s2\">&quot;custom-sitemap-&lt;section&gt;.xml&quot;</span><span class=\"p\">,</span>\n        <span class=\"n\">views</span><span class=\"o\">.</span><span class=\"n\">sitemap</span><span class=\"p\">,</span>\n        <span class=\"p\">{</span><span class=\"s2\">&quot;sitemaps&quot;</span><span class=\"p\">:</span> <span class=\"n\">sitemaps</span><span class=\"p\">,</span> <span class=\"s2\">&quot;template_name&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;custom_sitemap.html&quot;</span><span class=\"p\">},</span>\n        <span class=\"n\">name</span><span class=\"o\">=</span><span class=\"s2\">&quot;django.contrib.sitemaps.views.sitemap&quot;</span><span class=\"p\">,</span>\n    <span class=\"p\">),</span>\n<span class=\"p\">]</span>\n</code></pre></div>\n<p>これらのビューは <a class=\"reference internal\" href=\"/ja/5.2/ref/template-response/#django.template.response.TemplateResponse\" title=\"django.template.response.TemplateResponse\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">TemplateResponse</span></code></a> インスタンスを返し、レンダリング前のレスポンスデータを簡単にカスタマイズできます。詳細は <a class=\"reference internal\" href=\"/ja/5.2/ref/template-response/\"><span class=\"doc\">TemplateResponse のドキュメント</span></a> を参照してください。</p>\n<section id=\"context-variables\">\n<h3>コンテキスト変数<a class=\"heading-anchor\" href=\"#context-variables\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>テンプレートをカスタマイズする際に、 <a class=\"reference internal\" href=\"#django.contrib.sitemaps.views.index\" title=\"django.contrib.sitemaps.views.index\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">index()</span></code></a> と <a class=\"reference internal\" href=\"#django.contrib.sitemaps.views.sitemap\" title=\"django.contrib.sitemaps.views.sitemap\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">sitemap()</span></code></a> ビューには、以下のコンテキスト変数に依存できます。</p>\n</section>\n<section id=\"index\">\n<span id=\"sitemap-index-context-variables\"></span><h3>インデックス<a class=\"heading-anchor\" href=\"#index\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>変数 <code class=\"docutils literal notranslate\"><span class=\"pre\">sitemaps</span></code> は各サイトマップの <code class=\"docutils literal notranslate\"><span class=\"pre\">location</span></code> と <code class=\"docutils literal notranslate\"><span class=\"pre\">lastmod</span></code> 属性を含むオブジェクトのリストです。各URLは以下の属性を持ちます:</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">location</span></code>: サイトマップの場所 (URLとページ)。</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">lastmod</span></code>: 各サイトマップに対して <a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap.get_latest_lastmod\" title=\"django.contrib.sitemaps.Sitemap.get_latest_lastmod\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">get_latest_lastmod()</span></code></a> メソッドによって設定されます。</p></li>\n</ul>\n</section>\n<section id=\"id1\">\n<h3>サイトマップ<a class=\"heading-anchor\" href=\"#id1\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>変数 <code class=\"docutils literal notranslate\"><span class=\"pre\">urlset</span></code> は、サイトマップに表示されるべきURLのリストです。各URLは、 <a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap\" title=\"django.contrib.sitemaps.Sitemap\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Sitemap</span></code></a> クラスで定義された属性を公開しています。</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">alternates</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">changefreq</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">item</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">lastmod</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">location</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">priority</span></code></p></li>\n</ul>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">alternates</span></code> 属性は、 <a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap.i18n\" title=\"django.contrib.sitemaps.Sitemap.i18n\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">i18n</span></code></a> と <a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap.alternates\" title=\"django.contrib.sitemaps.Sitemap.alternates\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">alternates</span></code></a> が有効になっている場合に利用可能です。それは、各URLに対してオプションの <a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap.x_default\" title=\"django.contrib.sitemaps.Sitemap.x_default\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">x_default</span></code></a> フォールバックを含む、他の言語バージョンのリストです。各代替バージョンは、<code class=\"docutils literal notranslate\"><span class=\"pre\">location</span></code> と <code class=\"docutils literal notranslate\"><span class=\"pre\">lang_code</span></code> キーを持つ辞書です。</p>\n<p>各URLに <code class=\"docutils literal notranslate\"><span class=\"pre\">item</span></code> 属性が追加され、<a class=\"reference external\" href=\"https://support.google.com/news/publisher-center/answer/9606710\">Google news sitemaps</a> のようなテンプレートをより柔軟にカスタマイズできるようになりました。Sitemapの <a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap.items\" title=\"django.contrib.sitemaps.Sitemap.items\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">items()</span></code></a> が <code class=\"docutils literal notranslate\"><span class=\"pre\">publication_data</span></code> と <code class=\"docutils literal notranslate\"><span class=\"pre\">tags</span></code> フィールドを持つアイテムのリストを返すと仮定すると、このようにGoogleニュース互換のサイトマップが生成されます:</p>\n<div class=\"code-block\" data-language=\"xml+django\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Xml Django</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Xml Django code\"><code><span class=\"cp\">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;</span>\n<span class=\"nt\">&lt;urlset</span>\n<span class=\"w\">  </span><span class=\"na\">xmlns=</span><span class=\"s\">&quot;https://www.sitemaps.org/schemas/sitemap/0.9&quot;</span>\n<span class=\"w\">  </span><span class=\"na\">xmlns:news=</span><span class=\"s\">&quot;https://www.google.com/schemas/sitemap-news/0.9&quot;</span><span class=\"nt\">&gt;</span>\n<span class=\"cp\">{%</span> <span class=\"k\">spaceless</span> <span class=\"cp\">%}</span>\n<span class=\"cp\">{%</span> <span class=\"k\">for</span> <span class=\"nv\">url</span> <span class=\"k\">in</span> <span class=\"nv\">urlset</span> <span class=\"cp\">%}</span>\n<span class=\"w\">  </span><span class=\"nt\">&lt;url&gt;</span>\n<span class=\"w\">    </span><span class=\"nt\">&lt;loc&gt;</span><span class=\"cp\">{{</span> <span class=\"nv\">url.location</span> <span class=\"cp\">}}</span><span class=\"nt\">&lt;/loc&gt;</span>\n<span class=\"w\">    </span><span class=\"cp\">{%</span> <span class=\"k\">if</span> <span class=\"nv\">url.lastmod</span> <span class=\"cp\">%}</span><span class=\"nt\">&lt;lastmod&gt;</span><span class=\"cp\">{{</span> <span class=\"nv\">url.lastmod</span><span class=\"o\">|</span><span class=\"nf\">date</span><span class=\"s2\">:&quot;Y-m-d&quot;</span> <span class=\"cp\">}}</span><span class=\"nt\">&lt;/lastmod&gt;</span><span class=\"cp\">{%</span> <span class=\"k\">endif</span> <span class=\"cp\">%}</span>\n<span class=\"w\">    </span><span class=\"cp\">{%</span> <span class=\"k\">if</span> <span class=\"nv\">url.changefreq</span> <span class=\"cp\">%}</span><span class=\"nt\">&lt;changefreq&gt;</span><span class=\"cp\">{{</span> <span class=\"nv\">url.changefreq</span> <span class=\"cp\">}}</span><span class=\"nt\">&lt;/changefreq&gt;</span><span class=\"cp\">{%</span> <span class=\"k\">endif</span> <span class=\"cp\">%}</span>\n<span class=\"w\">    </span><span class=\"cp\">{%</span> <span class=\"k\">if</span> <span class=\"nv\">url.priority</span> <span class=\"cp\">%}</span><span class=\"nt\">&lt;priority&gt;</span><span class=\"cp\">{{</span> <span class=\"nv\">url.priority</span> <span class=\"cp\">}}</span><span class=\"nt\">&lt;/priority&gt;</span><span class=\"cp\">{%</span> <span class=\"k\">endif</span> <span class=\"cp\">%}</span>\n<span class=\"w\">    </span><span class=\"nt\">&lt;news:news&gt;</span>\n<span class=\"w\">      </span><span class=\"cp\">{%</span> <span class=\"k\">if</span> <span class=\"nv\">url.item.publication_date</span> <span class=\"cp\">%}</span><span class=\"nt\">&lt;news:publication_date&gt;</span><span class=\"cp\">{{</span> <span class=\"nv\">url.item.publication_date</span><span class=\"o\">|</span><span class=\"nf\">date</span><span class=\"s2\">:&quot;Y-m-d&quot;</span> <span class=\"cp\">}}</span><span class=\"nt\">&lt;/news:publication_date&gt;</span><span class=\"cp\">{%</span> <span class=\"k\">endif</span> <span class=\"cp\">%}</span>\n<span class=\"w\">      </span><span class=\"cp\">{%</span> <span class=\"k\">if</span> <span class=\"nv\">url.item.tags</span> <span class=\"cp\">%}</span><span class=\"nt\">&lt;news:keywords&gt;</span><span class=\"cp\">{{</span> <span class=\"nv\">url.item.tags</span> <span class=\"cp\">}}</span><span class=\"nt\">&lt;/news:keywords&gt;</span><span class=\"cp\">{%</span> <span class=\"k\">endif</span> <span class=\"cp\">%}</span>\n<span class=\"w\">    </span><span class=\"nt\">&lt;/news:news&gt;</span>\n<span class=\"w\">   </span><span class=\"nt\">&lt;/url&gt;</span>\n<span class=\"cp\">{%</span> <span class=\"k\">endfor</span> <span class=\"cp\">%}</span>\n<span class=\"cp\">{%</span> <span class=\"k\">endspaceless</span> <span class=\"cp\">%}</span>\n<span class=\"nt\">&lt;/urlset&gt;</span>\n</code></pre></div>\n</section>\n</section>","rootId":"module-django.contrib.sitemaps","toc":[{"title":"概要","anchor":"overview","children":[]},{"title":"インストール","anchor":"installation","children":[]},{"title":"初期設定","anchor":"initialization","children":[]},{"title":"Sitemap クラス","anchor":"sitemap-classes","children":[]},{"title":"例","anchor":"an-example","children":[]},{"title":"Sitemap クラス リファレンス","anchor":"sitemap-class-reference","children":[]},{"title":"ショートカット","anchor":"shortcuts","children":[{"title":"カスタマイズ例","anchor":"example","children":[]}]},{"title":"静的ビューのサイトマップ","anchor":"sitemap-for-static-views","children":[]},{"title":"サイトマップインデックスを作成する","anchor":"creating-a-sitemap-index","children":[]},{"title":"テンプレートをカスタマイズする","anchor":"template-customization","children":[{"title":"コンテキスト変数","anchor":"context-variables","children":[]},{"title":"インデックス","anchor":"index","children":[]},{"title":"サイトマップ","anchor":"id1","children":[]}]}],"breadcrumbs":[{"docname":"ref/index","title":"API リファレンス","url":"/ja/5.2/ref/"},{"docname":"ref/contrib/index","title":"contrib パッケージ","url":"/ja/5.2/ref/contrib/"}],"prev":{"docname":"ref/contrib/redirects","title":"redirects （リダイレクト）アプリ","url":"/ja/5.2/ref/contrib/redirects/"},"next":{"docname":"ref/contrib/sites","title":"\"sites\" フレームワーク","url":"/ja/5.2/ref/contrib/sites/"},"formats":{"html":"/ja/5.2/ref/contrib/sitemaps/","markdown":"/ja/5.2/ref/contrib/sitemaps.md","json":"/ja/5.2/ref/contrib/sitemaps.json"},"source":"https://github.com/django/django/blob/stable/5.2.x/docs/ref/contrib/sitemaps.txt","official":"https://docs.djangoproject.com/ja/5.2/ref/contrib/sitemaps/","inVersions":["6.1","6.0","5.2","5.1","5.0","4.2","4.1","4.0","3.2","3.1","3.0","2.2","2.1","2.0","1.11","1.10","1.9"],"inLocales":["en","sv","zh-hans","ga","fr","ja","id","it","pt-br","ko","es","el","pl"]}