{"title":"The sitemap framework","version":"5.2","locale":"pt-br","docname":"ref/contrib/sitemaps","url":"/pt-br/5.2/ref/contrib/sitemaps/","canonical":"https://djangodocs.dev/pt-br/5.2/ref/contrib/sitemaps/","summary":"Django comes with a high-level sitemap-generating framework to create sitemap XML files. Visão Geral Link para este cabeçalho # A sitemap is an XML file on your…","html":"<span id=\"the-sitemap-framework\"></span><h1>The sitemap framework<a class=\"heading-anchor\" href=\"#module-django.contrib.sitemaps\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>Django comes with a high-level sitemap-generating framework to create <a class=\"reference external\" href=\"https://www.sitemaps.org/\">sitemap</a>\nXML files.</p>\n<section id=\"overview\">\n<h2>Visão Geral<a class=\"heading-anchor\" href=\"#overview\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>A sitemap is an XML file on your website that tells search-engine indexers how\nfrequently your pages change and how “important” certain pages are in relation\nto other pages on your site. This information helps search engines index your\nsite.</p>\n<p>The Django sitemap framework automates the creation of this XML file by letting\nyou express this information in Python code.</p>\n<p>It works much like Django’s <a class=\"reference internal\" href=\"/pt-br/5.2/ref/contrib/syndication/\"><span class=\"doc\">syndication framework</span></a>. To create a sitemap, write a\n<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> class and point to it in your\n<a class=\"reference internal\" href=\"/pt-br/5.2/topics/http/urls/\"><span class=\"doc\">URLconf</span></a>.</p>\n</section>\n<section id=\"installation\">\n<h2>Instalação<a class=\"heading-anchor\" href=\"#installation\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>To install the sitemap app, follow these steps:</p>\n<ol class=\"arabic simple\">\n<li><p>Add <code class=\"docutils literal notranslate\"><span class=\"pre\">'django.contrib.sitemaps'</span></code> to your <a class=\"reference internal\" href=\"/pt-br/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> setting.</p></li>\n<li><p>Make sure your <a class=\"reference internal\" href=\"/pt-br/5.2/ref/settings/#std-setting-TEMPLATES\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">TEMPLATES</span></code></a> setting contains a <code class=\"docutils literal notranslate\"><span class=\"pre\">DjangoTemplates</span></code>\nbackend whose <code class=\"docutils literal notranslate\"><span class=\"pre\">APP_DIRS</span></code> options is set to <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>. It’s in there by\ndefault, so you’ll only need to change this if you’ve changed that setting.</p></li>\n<li><p>Make sure you’ve installed the <a class=\"reference internal\" href=\"/pt-br/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\">framework</span></code></a>.</p></li>\n</ol>\n<p>(Note: The sitemap application doesn’t install any database tables. The only\nreason it needs to go into <a class=\"reference internal\" href=\"/pt-br/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> is so that the\n<a class=\"reference internal\" href=\"/pt-br/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> template\nloader can find the default templates.)</p>\n</section>\n<section id=\"initialization\">\n<h2>Initialization<a class=\"heading-anchor\" href=\"#initialization\"><span class=\"visually-hidden\">Link para este cabeçalho</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 para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>To activate sitemap generation on your Django site, add this line to your\n<a class=\"reference internal\" href=\"/pt-br/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>This tells Django to build a sitemap when a client accesses <code class=\"file docutils literal notranslate\"><span class=\"pre\">/sitemap.xml</span></code>.</p>\n<p>The name of the sitemap file is not important, but the location is. Search\nengines will only index links in your sitemap for the current URL level and\nbelow. For instance, if <code class=\"file docutils literal notranslate\"><span class=\"pre\">sitemap.xml</span></code> lives in your root directory, it may\nreference any URL in your site. However, if your sitemap lives at\n<code class=\"file docutils literal notranslate\"><span class=\"pre\">/content/sitemap.xml</span></code>, it may only reference URLs that begin with\n<code class=\"file docutils literal notranslate\"><span class=\"pre\">/content/</span></code>.</p>\n<p>The sitemap view takes an extra, required argument: <code class=\"docutils literal notranslate\"><span class=\"pre\">{'sitemaps':</span> <span class=\"pre\">sitemaps}</span></code>.\n<code class=\"docutils literal notranslate\"><span class=\"pre\">sitemaps</span></code> should be a dictionary that maps a short section label (e.g.,\n<code class=\"docutils literal notranslate\"><span class=\"pre\">blog</span></code> or <code class=\"docutils literal notranslate\"><span class=\"pre\">news</span></code>) to its <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> class\n(e.g., <code class=\"docutils literal notranslate\"><span class=\"pre\">BlogSitemap</span></code> or <code class=\"docutils literal notranslate\"><span class=\"pre\">NewsSitemap</span></code>). It may also map to an <em>instance</em> of\na <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> class (e.g.,\n<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> classes<a class=\"heading-anchor\" href=\"#sitemap-classes\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>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> class is a Python class that\nrepresents a “section” of entries in your sitemap. For example, one\n<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> class could represent all the entries\nof your blog, while another could represent all of the events in your events\ncalendar.</p>\n<p>In the simplest case, all these sections get lumped together into one\n<code class=\"file docutils literal notranslate\"><span class=\"pre\">sitemap.xml</span></code>, but it’s also possible to use the framework to generate a\nsitemap index that references individual sitemap files, one per section. (See\n<a class=\"reference internal\" href=\"#creating-a-sitemap-index\">Creating a sitemap index</a> below.)</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> classes must subclass\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.sitemaps.Sitemap</span></code>. They can live anywhere in your codebase.</p>\n</section>\n<section id=\"an-example\">\n<h2>Um exemplo<a class=\"heading-anchor\" href=\"#an-example\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Let’s assume you have a blog system, with an <code class=\"docutils literal notranslate\"><span class=\"pre\">Entry</span></code> model, and you want your\nsitemap to include all the links to your individual blog entries. Here’s how\nyour sitemap class might look:</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>Note:</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> and <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> are class\nattributes corresponding to <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;changefreq&gt;</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;priority&gt;</span></code> elements,\nrespectively. They can be made callable as functions, as\n<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> was in the example.</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> is a method that returns a <a class=\"reference external\" href=\"https://docs.python.org/3/glossary.html#term-sequence\" title=\"(em Python v3.14)\"><span class=\"xref std std-term\">sequence</span></a> or\n<code class=\"docutils literal notranslate\"><span class=\"pre\">QuerySet</span></code> of objects. The objects returned will get passed to any callable\nmethods corresponding to a sitemap property (<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>,\n<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>, and\n<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> should return a <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.datetime\" title=\"(em Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">datetime</span></code></a>.</p></li>\n<li><p>There is no <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> method in this example, but you\ncan provide it in order to specify the URL for your object. By default,\n<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> calls <code class=\"docutils literal notranslate\"><span class=\"pre\">get_absolute_url()</span></code> on each object\nand returns the result.</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> class reference<a class=\"heading-anchor\" href=\"#sitemap-class-reference\"><span class=\"visually-hidden\">Link para este cabeçalho</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 para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>A <code class=\"docutils literal notranslate\"><span class=\"pre\">Sitemap</span></code> class can define the following methods/attributes:</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 para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><strong>Required.</strong> A method that returns a <a class=\"reference external\" href=\"https://docs.python.org/3/glossary.html#term-sequence\" title=\"(em Python v3.14)\"><span class=\"xref std std-term\">sequence</span></a> or <code class=\"docutils literal notranslate\"><span class=\"pre\">QuerySet</span></code>\nof objects. The framework doesn’t care what <em>type</em> of objects they are;\nall that matters is that these objects get passed to the\n<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>,\n<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> and <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> methods.</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 para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><strong>Optional.</strong> Either a method or attribute.</p>\n<p>If it’s a method, it should return the absolute path for a given object\nas returned by <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>If it’s an attribute, its value should be a string representing an\nabsolute path to use for <em>every</em> object returned by\n<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>In both cases, “absolute path” means a URL that doesn’t include the\nprotocol or domain. Examples:</p>\n<ul class=\"simple\">\n<li><p>Good: <code class=\"docutils literal notranslate\"><span class=\"pre\">'/foo/bar/'</span></code></p></li>\n<li><p>Bad: <code class=\"docutils literal notranslate\"><span class=\"pre\">'example.com/foo/bar/'</span></code></p></li>\n<li><p>Bad: <code class=\"docutils literal notranslate\"><span class=\"pre\">'https://example.com/foo/bar/'</span></code></p></li>\n</ul>\n<p>If <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> isn’t provided, the framework will call\nthe <code class=\"docutils literal notranslate\"><span class=\"pre\">get_absolute_url()</span></code> method on each object as returned by\n<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>To specify a protocol other than <code class=\"docutils literal notranslate\"><span class=\"pre\">'http'</span></code>, use\n<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 para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><strong>Optional.</strong> Either a method or attribute.</p>\n<p>If it’s a method, it should take one argument – an object as returned\nby <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> – and return that object’s last-modified\ndate/time as a <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.datetime\" title=\"(em Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">datetime</span></code></a>.</p>\n<p>If it’s an attribute, its value should be a <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.datetime\" title=\"(em Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">datetime</span></code></a>\nrepresenting the last-modified date/time for <em>every</em> object returned by\n<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>If all items in a sitemap have 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>, the sitemap\ngenerated by <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> will have a <code class=\"docutils literal notranslate\"><span class=\"pre\">Last-Modified</span></code>\nheader equal to the latest <code class=\"docutils literal notranslate\"><span class=\"pre\">lastmod</span></code>. You can activate the\n<a class=\"reference internal\" href=\"/pt-br/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> to make\nDjango respond appropriately to requests with an <code class=\"docutils literal notranslate\"><span class=\"pre\">If-Modified-Since</span></code>\nheader which will prevent sending the sitemap if it hasn’t changed.</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 para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><strong>Optional.</strong></p>\n<p>This property returns a <a class=\"reference internal\" href=\"/pt-br/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> for\n<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>. If you generate sitemaps in a batch you may\nwant to override this as a cached property in order to avoid multiple\n<code class=\"docutils literal notranslate\"><span class=\"pre\">items()</span></code> calls.</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 para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><strong>Optional.</strong> Either a method or attribute.</p>\n<p>If it’s a method, it should take one argument – an object as returned\nby <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> – and return that object’s change\nfrequency as a string.</p>\n<p>If it’s an attribute, its value should be a string representing the\nchange frequency of <em>every</em> object returned by <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>Possible values for <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>, whether you use a\nmethod or attribute, are:</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 para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><strong>Optional.</strong> Either a method or attribute.</p>\n<p>If it’s a method, it should take one argument – an object as returned\nby <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> – and return that object’s priority as\neither a string or float.</p>\n<p>If it’s an attribute, its value should be either a string or float\nrepresenting the priority of <em>every</em> object returned by\n<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>Example values for <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>. The\ndefault priority of a page is <code class=\"docutils literal notranslate\"><span class=\"pre\">0.5</span></code>. See the <a class=\"reference external\" href=\"https://www.sitemaps.org/protocol.html#prioritydef\">sitemaps.org\ndocumentation</a> for more.</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 para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><strong>Optional.</strong></p>\n<p>This attribute defines the protocol (<code class=\"docutils literal notranslate\"><span class=\"pre\">'http'</span></code> or <code class=\"docutils literal notranslate\"><span class=\"pre\">'https'</span></code>) of the\nURLs in the sitemap. If it isn’t set, the protocol with which the\nsitemap was requested is used. If the sitemap is built outside the\ncontext of a request, the default is <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 para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><strong>Optional.</strong></p>\n<p>This attribute defines the maximum number of URLs included on each page\nof the sitemap. Its value should not exceed the default value of\n<code class=\"docutils literal notranslate\"><span class=\"pre\">50000</span></code>, which is the upper limit allowed in the <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 para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><strong>Optional.</strong></p>\n<p>A boolean attribute that defines if the URLs of this sitemap should\nbe generated using all of your <a class=\"reference internal\" href=\"/pt-br/5.2/ref/settings/#std-setting-LANGUAGES\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">LANGUAGES</span></code></a>. The default is\n<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 para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><strong>Optional.</strong></p>\n<p>A <a class=\"reference external\" href=\"https://docs.python.org/3/glossary.html#term-sequence\" title=\"(em Python v3.14)\"><span class=\"xref std std-term\">sequence</span></a> of <a class=\"reference internal\" href=\"/pt-br/5.2/topics/i18n/#term-language-code\"><span class=\"xref std std-term\">language codes</span></a> to use for\ngenerating alternate links when <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> is enabled.\nDefaults to <a class=\"reference internal\" href=\"/pt-br/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 para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><strong>Optional.</strong></p>\n<p>A boolean attribute. When used in conjunction with\n<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> generated URLs will each have a list of alternate\nlinks pointing to other language versions using the <a class=\"reference external\" href=\"https://developers.google.com/search/docs/advanced/crawling/localized-versions\">hreflang\nattribute</a>. The default is <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 para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><strong>Optional.</strong></p>\n<p>A boolean attribute. When <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> the alternate links generated by\n<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> will contain a <code class=\"docutils literal notranslate\"><span class=\"pre\">hreflang=&quot;x-default&quot;</span></code>\nfallback entry with a value of <a class=\"reference internal\" href=\"/pt-br/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>. The default is\n<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 para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><strong>Optional.</strong> A method that returns the latest value returned by\n<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>. This function is used to add the <code class=\"docutils literal notranslate\"><span class=\"pre\">lastmod</span></code>\nattribute to <a class=\"reference internal\" href=\"#sitemap-index-context-variables\"><span class=\"std std-ref\">Sitemap index context\nvariables</span></a>.</p>\n<p>By default <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> returns:</p>\n<ul class=\"simple\">\n<li><p>If <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> is an attribute:\n<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>If <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> is a method:\nThe latest <code class=\"docutils literal notranslate\"><span class=\"pre\">lastmod</span></code> returned by calling the method with all\nitems returned by <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>.</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 para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><strong>Optional.</strong> A method that returns the sequence of language codes for\nwhich the item is displayed. By default\n<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> returns\n<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>Shortcuts<a class=\"heading-anchor\" href=\"#shortcuts\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>The sitemap framework provides a convenience class for a common case:</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 para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>The <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> class allows you to\ncreate a sitemap by passing it a dictionary which has to contain at least\na <code class=\"docutils literal notranslate\"><span class=\"pre\">queryset</span></code> entry. This queryset will be used to generate the items\nof the sitemap. It may also have a <code class=\"docutils literal notranslate\"><span class=\"pre\">date_field</span></code> entry that\nspecifies a date field for objects retrieved from the <code class=\"docutils literal notranslate\"><span class=\"pre\">queryset</span></code>.\nThis will be used for the <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> attribute and\n<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> methods in the in the\ngenerated sitemap.</p>\n<p>The <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>,\nand <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> keyword arguments allow specifying these\nattributes for all URLs.</p>\n</dd></dl>\n\n<section id=\"example\">\n<h3>Exemplo<a class=\"heading-anchor\" href=\"#example\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Here’s an example of a <a class=\"reference internal\" href=\"/pt-br/5.2/topics/http/urls/\"><span class=\"doc\">URLconf</span></a> using\n<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>:</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>Sitemap for static views<a class=\"heading-anchor\" href=\"#sitemap-for-static-views\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Often you want the search engine crawlers to index views which are neither\nobject detail pages nor flatpages. The solution is to explicitly list URL\nnames for these views in <code class=\"docutils literal notranslate\"><span class=\"pre\">items</span></code> and call <a class=\"reference internal\" href=\"/pt-br/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> in\nthe <code class=\"docutils literal notranslate\"><span class=\"pre\">location</span></code> method of the sitemap. For example:</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>Creating a sitemap index<a class=\"heading-anchor\" href=\"#creating-a-sitemap-index\"><span class=\"visually-hidden\">Link para este cabeçalho</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 para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>The sitemap framework also has the ability to create a sitemap index that\nreferences individual sitemap files, one per each section defined in your\n<code class=\"docutils literal notranslate\"><span class=\"pre\">sitemaps</span></code> dictionary. The only differences in usage are:</p>\n<ul class=\"simple\">\n<li><p>You use two views in your URLconf: <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>\nand <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>The <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> view should take a\n<code class=\"docutils literal notranslate\"><span class=\"pre\">section</span></code> keyword argument.</p></li>\n</ul>\n<p>Here’s what the relevant URLconf lines would look like for the example above:</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>This will automatically generate a <code class=\"file docutils literal notranslate\"><span class=\"pre\">sitemap.xml</span></code> file that references\nboth <code class=\"file docutils literal notranslate\"><span class=\"pre\">sitemap-flatpages.xml</span></code> and <code class=\"file docutils literal notranslate\"><span class=\"pre\">sitemap-blog.xml</span></code>. The\n<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> classes and the <code class=\"docutils literal notranslate\"><span class=\"pre\">sitemaps</span></code>\ndict don’t change at all.</p>\n<p>If all sitemaps have a <code class=\"docutils literal notranslate\"><span class=\"pre\">lastmod</span></code> returned by\n<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> the sitemap index will have a\n<code class=\"docutils literal notranslate\"><span class=\"pre\">Last-Modified</span></code> header equal to the latest <code class=\"docutils literal notranslate\"><span class=\"pre\">lastmod</span></code>.</p>\n<p>You should create an index file if one of your sitemaps has more than 50,000\nURLs. In this case, Django will automatically paginate the sitemap, and the\nindex will reflect that.</p>\n<p>If you’re not using the vanilla sitemap view – for example, if it’s wrapped\nwith a caching decorator – you must name your sitemap view and pass\n<code class=\"docutils literal notranslate\"><span class=\"pre\">sitemap_url_name</span></code> to the index view:</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>Template customization<a class=\"heading-anchor\" href=\"#template-customization\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>If you wish to use a different template for each sitemap or sitemap index\navailable on your site, you may specify it by passing a <code class=\"docutils literal notranslate\"><span class=\"pre\">template_name</span></code>\nparameter to the <code class=\"docutils literal notranslate\"><span class=\"pre\">sitemap</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">index</span></code> views via the 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;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>These views return <a class=\"reference internal\" href=\"/pt-br/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>\ninstances which allow you to easily customize the response data before\nrendering. For more details, see the <a class=\"reference internal\" href=\"/pt-br/5.2/ref/template-response/\"><span class=\"doc\">TemplateResponse documentation</span></a>.</p>\n<section id=\"context-variables\">\n<h3>Context variables<a class=\"heading-anchor\" href=\"#context-variables\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>When customizing the templates for the\n<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> and\n<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> views, you can rely on the\nfollowing context variables.</p>\n</section>\n<section id=\"index\">\n<span id=\"sitemap-index-context-variables\"></span><h3>Índice<a class=\"heading-anchor\" href=\"#index\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>The variable <code class=\"docutils literal notranslate\"><span class=\"pre\">sitemaps</span></code> is a list of objects containing the <code class=\"docutils literal notranslate\"><span class=\"pre\">location</span></code> and\n<code class=\"docutils literal notranslate\"><span class=\"pre\">lastmod</span></code> attribute for each of the sitemaps. Each URL exposes the following\nattributes:</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">location</span></code>: The location (url &amp; page) of the sitemap.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">lastmod</span></code>: Populated by the <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>\nmethod for each sitemap.</p></li>\n</ul>\n</section>\n<section id=\"id1\">\n<h3>Sitemap<a class=\"heading-anchor\" href=\"#id1\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>The variable <code class=\"docutils literal notranslate\"><span class=\"pre\">urlset</span></code> is a list of URLs that should appear in the\nsitemap. Each URL exposes attributes as defined in the\n<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> class:</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>The <code class=\"docutils literal notranslate\"><span class=\"pre\">alternates</span></code> attribute is available when <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> and\n<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> are enabled. It is a list of other language\nversions, including the optional <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> fallback, for each\nURL. Each alternate is a dictionary with <code class=\"docutils literal notranslate\"><span class=\"pre\">location</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">lang_code</span></code> keys.</p>\n<p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">item</span></code> attribute has been added for each URL to allow more flexible\ncustomization of the templates, such as <a class=\"reference external\" href=\"https://support.google.com/news/publisher-center/answer/9606710\">Google news sitemaps</a>. Assuming\nSitemap’s <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> would return a list of items with\n<code class=\"docutils literal notranslate\"><span class=\"pre\">publication_data</span></code> and a <code class=\"docutils literal notranslate\"><span class=\"pre\">tags</span></code> field something like this would\ngenerate a Google News compatible sitemap:</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":"Visão Geral","anchor":"overview","children":[]},{"title":"Instalação","anchor":"installation","children":[]},{"title":"Initialization","anchor":"initialization","children":[]},{"title":"Sitemap classes","anchor":"sitemap-classes","children":[]},{"title":"Um exemplo","anchor":"an-example","children":[]},{"title":"Sitemap class reference","anchor":"sitemap-class-reference","children":[]},{"title":"Shortcuts","anchor":"shortcuts","children":[{"title":"Exemplo","anchor":"example","children":[]}]},{"title":"Sitemap for static views","anchor":"sitemap-for-static-views","children":[]},{"title":"Creating a sitemap index","anchor":"creating-a-sitemap-index","children":[]},{"title":"Template customization","anchor":"template-customization","children":[{"title":"Context variables","anchor":"context-variables","children":[]},{"title":"Índice","anchor":"index","children":[]},{"title":"Sitemap","anchor":"id1","children":[]}]}],"breadcrumbs":[{"docname":"ref/index","title":"Referência da API","url":"/pt-br/5.2/ref/"},{"docname":"ref/contrib/index","title":"contrib packages","url":"/pt-br/5.2/ref/contrib/"}],"prev":{"docname":"ref/contrib/redirects","title":"The redirects app","url":"/pt-br/5.2/ref/contrib/redirects/"},"next":{"docname":"ref/contrib/sites","title":"The “sites” framework","url":"/pt-br/5.2/ref/contrib/sites/"},"formats":{"html":"/pt-br/5.2/ref/contrib/sitemaps/","markdown":"/pt-br/5.2/ref/contrib/sitemaps.md","json":"/pt-br/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/pt-br/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"]}