{"title":"Kerangka peta situs","version":"2.1","locale":"id","docname":"ref/contrib/sitemaps","url":"/id/2.1/ref/contrib/sitemaps/","canonical":"https://djangodocs.dev/id/2.1/ref/contrib/sitemaps/","summary":"Django datang dengan kerangka kerja membangkitkan-peta situs tingkat-tinggi yang membuat pembuatan berkas-berkas XML sitemap mudah.","html":"<span id=\"the-sitemap-framework\"></span><h1>Kerangka peta situs<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 datang dengan kerangka kerja membangkitkan-peta situs tingkat-tinggi yang membuat pembuatan berkas-berkas XML <a class=\"reference external\" href=\"https://www.sitemaps.org/\">sitemap</a> mudah.</p>\n<section id=\"overview\">\n<h2>Ikhtisar<a class=\"heading-anchor\" href=\"#overview\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Sebuah peta situs adalah sebuah berkas file pada situs jaringan anda yang memberitahu pengindeks mesin-pencari seberapa sering halaman anda berubah dan seberapa &quot;penting&quot; halaman tertentu berada dalam hubungan ke halaman lain pada situs anda. Informasi ini membantu mesin pencari mengindeks situs anda.</p>\n<p>Kerangka kerja peta situs Django mengotomatiskan pembuatan dari berkas XML ini dengan membiarkan anda menyatakan informasi ini di kode Python.</p>\n<p>Ini sangat mirip <a class=\"reference internal\" href=\"/id/2.1/ref/contrib/syndication/\"><span class=\"doc\">syndication framework</span></a>  Django. Untuk membuat sebuah peta situs, cukup tulis sebuah kelas <a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap\" title=\"django.contrib.sitemaps.Sitemap\"><code class=\"xref py py-class docutils literal notranslate\">Sitemap</code></a> dan menunjuk ke itu dalam <a class=\"reference internal\" href=\"/id/2.1/topics/http/urls/\"><span class=\"doc\">URLconf</span></a> anda.</p>\n</section>\n<section id=\"installation\">\n<h2>Pemasangan<a class=\"heading-anchor\" href=\"#installation\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Untuk memasang aplikasi peta situs, ikuti langkah-langkah ini:</p>\n<ol class=\"arabic simple\">\n<li><p>Tambah <code class=\"docutils literal notranslate\">'django.contrib.sitemaps'</code> ke pengaturan <a class=\"reference internal\" href=\"/id/2.1/ref/settings/#std-setting-INSTALLED_APPS\"><code class=\"xref std std-setting docutils literal notranslate\">INSTALLED_APPS</code></a> anda.</p></li>\n<li><p>Pastikan pengaturan anda <a class=\"reference internal\" href=\"/id/2.1/ref/settings/#std-setting-TEMPLATES\"><code class=\"xref std std-setting docutils literal notranslate\">TEMPLATES</code></a> mengandung sebuah backend <code class=\"docutils literal notranslate\">DjangoTemplates</code> yang pilihan <code class=\"docutils literal notranslate\">APP_DIRS</code> disetel menjadi <code class=\"docutils literal notranslate\">True</code>. Itu ada disana secara awalan, jadi anda hanya akan butuh merubah ini jika anda yelah merubah pengaturan itu.</p></li>\n<li><p>Pastikan anda telah memasang <a class=\"reference internal\" href=\"/id/2.1/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\">sites framework</code></a>.</p></li>\n</ol>\n<p>(Catat: Aplikasi peta situs tidak memasang tabel-tabel basisdata apapun. Alasan satu-satunya itu butuh it needs untuk masuk <a class=\"reference internal\" href=\"/id/2.1/ref/settings/#std-setting-INSTALLED_APPS\"><code class=\"xref std std-setting docutils literal notranslate\">INSTALLED_APPS</code></a> adalah sehingga pemuat cetakan:func:~django.template.loaders.app_directories.Loader dapat menemukan cetakan-cetakan awalan.)</p>\n</section>\n<section id=\"initialization\">\n<h2>Inisialisasi<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\">views.</span><span class=\"sig-name descname\">sitemap</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">request</em>, <em class=\"sig-param\">sitemaps</em>, <em class=\"sig-param\">section<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">template_name<span class=\"o\">=</span><span class=\"default_value\">'sitemap.xml'</span></em>, <em class=\"sig-param\">content_type<span class=\"o\">=</span><span class=\"default_value\">'application/xml'</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>Untuk mengaktifkan pembangkitan peta situs pada situs Django anda, tambah baris ini ke <a class=\"reference internal\" href=\"/id/2.1/topics/http/urls/\"><span class=\"doc\">URLconf</span></a> anda:</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=\"nn\">django.contrib.sitemaps.views</span> <span class=\"kn\">import</span> sitemap\n\npath<span class=\"p\">(</span><span class=\"s1\">&#39;sitemap.xml&#39;</span><span class=\"p\">,</span> sitemap<span class=\"p\">,</span> <span class=\"p\">{</span><span class=\"s1\">&#39;sitemaps&#39;</span><span class=\"p\">:</span> sitemaps<span class=\"p\">},</span>\n     name<span class=\"o\">=</span><span class=\"s1\">&#39;django.contrib.sitemaps.views.sitemap&#39;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Ini mengatakan Django membangun sebuah peta situs ketika seorang klien mengakses <code class=\"file docutils literal notranslate\">/sitemap.xml</code>.</p>\n<p>Nama dari berkas peta situs adalah tidak penting, tetapi tempat penting. Mesin pencari hanya mengindeks tautan dalam peta situs anda untuk tingkat URL saat ini dan dibawah. Sebagai contoh, jika <code class=\"file docutils literal notranslate\">sitemap.xml</code> tinggal dalam direktori akar anda, itu mungkin mengacu URL apapun dalam situs anda. Bagaimanapun, jika peta situs anda tinggal di <code class=\"file docutils literal notranslate\">/content/sitemap.xml</code>, itu mungkin hanya mengacu URL yang dimulai dengan <code class=\"file docutils literal notranslate\">/content/</code>.</p>\n<p>Tampilan peta situs mengambil sebuah tambahan, argumen diwajibkan: <code class=\"docutils literal notranslate\">{'sitemaps': sitemaps}</code>. <code class=\"docutils literal notranslate\">sitemaps</code> harus berupa dictionary yang memetakan label bagian pendek (misalnya., <code class=\"docutils literal notranslate\">blog</code> atau <code class=\"docutils literal notranslate\">news</code>) ke kelas <a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap\" title=\"django.contrib.sitemaps.Sitemap\"><code class=\"xref py py-class docutils literal notranslate\">Sitemap</code></a> nya (misalnya, <code class=\"docutils literal notranslate\">BlogSitemap</code> atau <code class=\"docutils literal notranslate\">NewsSitemap</code>). Ity mungkin juga memetakan ke sebuah <em>instance</em> dari kelas <a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap\" title=\"django.contrib.sitemaps.Sitemap\"><code class=\"xref py py-class docutils literal notranslate\">Sitemap</code></a> (misalnya, <code class=\"docutils literal notranslate\">BlogSitemap(some_var)</code>).</p>\n</section>\n<section id=\"sitemap-classes\">\n<h2>Kelas <code class=\"docutils literal notranslate\">Sitemap</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>Sebuah kelas <a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap\" title=\"django.contrib.sitemaps.Sitemap\"><code class=\"xref py py-class docutils literal notranslate\">Sitemap</code></a> adalah sebuah kelas sederhana Python yang mewakili sebuah &quot;section&quot; dari masukan dalam peta situs anda. Sebagai contoh, satu kelas <a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap\" title=\"django.contrib.sitemaps.Sitemap\"><code class=\"xref py py-class docutils literal notranslate\">Sitemap</code></a> dapat mewakili semua masukan dari dari Weblog, selagi lainnya dapat mewakili semua dari acara-acara dalam kalender acara anda.</p>\n<p>Dalam kasus tersederhana, semua bagian-bagian ini semua bagian ini dapat lumpuh bersama-sama menjadi satu <code class=\"file docutils literal notranslate\">sitemap.xml</code>, tetapi itu juga memungkinkan menggunakan kerangka kerja untuk membangkitkan indeks peta situs yang mengacu berkas-berkas peta situs masing-masing, satu per bagian. (Lihat <a class=\"reference internal\" href=\"#creating-a-sitemap-index\">Creating a sitemap index</a> dibawah ini.)</p>\n<p>Kelas-kelas <a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap\" title=\"django.contrib.sitemaps.Sitemap\"><code class=\"xref py py-class docutils literal notranslate\">Sitemap</code></a> harus mengsubkelaskan <code class=\"docutils literal notranslate\">django.contrib.sitemaps.Sitemap</code>. Mereka dapat tinggal dimana saja dalam basis kode anda.</p>\n</section>\n<section id=\"a-simple-example\">\n<h2>Sebuah contoh sederhana<a class=\"heading-anchor\" href=\"#a-simple-example\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Mari kita beranggapan anda mempunyai sebuah sistem blog, dengan sebuah model <code class=\"docutils literal notranslate\">Entry</code>, dan anda ingin peta situs anda menyertakan semua tautan ke masukan blog pribadi anda. Ini adalah bagaimana kelas petasitus anda mungkin terlihat:</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=\"nn\">django.contrib.sitemaps</span> <span class=\"kn\">import</span> Sitemap\n<span class=\"kn\">from</span> <span class=\"nn\">blog.models</span> <span class=\"kn\">import</span> Entry\n\n<span class=\"k\">class</span> <span class=\"nc\">BlogSitemap</span><span class=\"p\">(</span>Sitemap<span class=\"p\">):</span>\n    changefreq <span class=\"o\">=</span> <span class=\"s2\">&quot;never&quot;</span>\n    priority <span class=\"o\">=</span> <span class=\"mf\">0.5</span>\n\n    <span class=\"k\">def</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> Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>is_draft<span class=\"o\">=</span><span class=\"kc\">False</span><span class=\"p\">)</span>\n\n    <span class=\"k\">def</span> <span class=\"nf\">lastmod</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> obj<span class=\"p\">):</span>\n        <span class=\"k\">return</span> obj<span class=\"o\">.</span>pub_date\n</code></pre></div>\n<p>Catatan:</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\">changefreq</code></a> dan <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\">priority</code></a> adalah atribut kelas berhubungan pada unsur <code class=\"docutils literal notranslate\">&lt;changefreq&gt;</code> dan <code class=\"docutils literal notranslate\">&lt;priority&gt;</code>, masing-masing. Mereka dapat dibuat callable sebagai fungsi, seperti <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\">lastmod</code></a> calam contoh ini.</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\">items()</code></a> adalah metode sederhana yang mengembalikan daftar obyek. Kembalian obyek-obyek akan dilewatkan ke metode callable apapun berhubungan pada sifat peta situs (<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\">location</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\">lastmod</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\">changefreq</code></a>, dan <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\">priority</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\">lastmod</code></a> harus mengembalikan sebuah <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.datetime\" title=\"(di Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\">datetime</code></a>.</p></li>\n<li><p>Tidak ada metode <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\">location</code></a> daam contoh ini, tetapi anda dapat menyediakan itu untuk menentukan URL untuk obyek anda. Secara awalan, <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\">location()</code></a> memanggil <code class=\"docutils literal notranslate\">get_absolute_url()</code> pada setiap obyek dan mengembalikan hasil.</p></li>\n</ul>\n</section>\n<section id=\"sitemap-class-reference\">\n<h2>Acuan kelas <code class=\"docutils literal notranslate\">Sitemap</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\">class</span> </em><span class=\"sig-name descname\">Sitemap</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>Sebuah kelas <code class=\"docutils literal notranslate\">Sitemap</code> dapat menentukan metode/atribut berikut:</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\">items</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>Diwajibkan.</strong> Sebuah metode yang mengembalikan daftar dari obyek. Kerangka kerja tidak peduli <em>jenis</em> apa dari obyek-obyek mereka; semua yang penting adalah obyek ini dilewatkan ke metode <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\">location()</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\">lastmod()</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\">changefreq()</code></a> dan <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\">priority()</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\">location</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>Pilihan.</strong> Antara sebuah metode atau atribut.</p>\n<p>Jika itu adalah sebuah metode, itu harus mengembalikan jalur mutlak untuk obyek yang diberikan sebagai dikembalikan oleh <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\">items()</code></a>.</p>\n<p>Jika itu adalah sebuah atribut, nilainya harus berupa string mewakili sebuah jalur mutlak untuk digunakan <em>setiap</em> obyek dikembalikan oleh <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\">items()</code></a>.</p>\n<p>Di kedua kasus, &quot;absolute path&quot; berarti sebuah URL yang tidak menyertakan protokol atau ranah. Contoh:</p>\n<ul class=\"simple\">\n<li><p>Baik: <code class=\"file docutils literal notranslate\">'/foo/bar/'</code></p></li>\n<li><p>Buruk: <code class=\"file docutils literal notranslate\">'example.com/foo/bar/'</code></p></li>\n<li><p>Buruk: <code class=\"file docutils literal notranslate\">'https://example.com/foo/bar/'</code></p></li>\n</ul>\n<p>Jika <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\">location</code></a> tidak disediakan, kerangka kerja akan memanggil metode <code class=\"docutils literal notranslate\">get_absolute_url()</code> pada setiap obyek sebagai dikembalikan oleh <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\">items()</code></a>.</p>\n<p>Untuk menentukan sebuah protokol selain dari <code class=\"docutils literal notranslate\">'http'</code>, gunakan <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\">protocol</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\">lastmod</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>Pilihan.</strong> Antara sebuah metode atau atribut.</p>\n<p>Jika itu adalah sebuah metode, itu harus mengambil satu argumen - sebuah obyek seperti dikembalikan oleh <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\">items()</code></a> -- dan mengembalikan tanggal/waktu dirubah-terakhir obyek itu seperti <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.datetime\" title=\"(di Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\">datetime</code></a>.</p>\n<p>Jika itu adalah sebuah atribut, nilainya harus berupa <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.datetime\" title=\"(di Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\">datetime</code></a> mewakilitanggal/waktu dirubah terakhir untuk <em>setiap</em> obyek dikembalikan oleh <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\">items()</code></a>.</p>\n<p>Jika semua barang dalam peta situs memiliki <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\">lastmod</code></a>, peta situs dibangkitkan oleh <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\">views.sitemap()</code></a> akan mempunyai kepala <code class=\"docutils literal notranslate\">Last-Modified</code> setara pada <code class=\"docutils literal notranslate\">lastmod</code> terakhir. Anda dapat mengaktifkan <a class=\"reference internal\" href=\"/id/2.1/ref/middleware/#django.middleware.http.ConditionalGetMiddleware\" title=\"django.middleware.http.ConditionalGetMiddleware\"><code class=\"xref py py-class docutils literal notranslate\">ConditionalGetMiddleware</code></a> untuk membuat Django menjawab sesuai permintaan dengan sebuah kepala <code class=\"docutils literal notranslate\">If-Modified-Since</code> yang akan mencegah mengirim peta situs jika itu belum berubah.</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\">changefreq</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>Pilihan.</strong> Antara sebuah metode atau atribut.</p>\n<p>Jika itu adalah metode, itu harus mangambil satu argumen -- sebuah obyek seperti dikembalikan oleh <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\">items()</code></a> -- dan mengembalikan frekuensi perubahan obyek sebagai sebuah string.</p>\n<p>Jika itu adalah sebuah atribut, nilainya harus berupa string mewakili frekuensi perubahan dari <em>setiap</em> obyek dikembalikan oleh <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\">items()</code></a>.</p>\n<p>Nilai memungkinkan untuk <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\">changefreq</code></a>, apakah anda menggunakan sebuah metode atau atribut, adalah:</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\">'always'</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">'hourly'</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">'daily'</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">'daily'</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">'daily'</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">'yearly'</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">'never'</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\">priority</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>Pilihan.</strong> Antara sebuah metode atau atribut.</p>\n<p>Jika itu adalah sebuah metode, itu harus mengambil satu argumen - sebuah obyek seperti dikembalikan oleh <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\">items()</code></a> -- dan mengembalikan prioritas obyek itu antara string atau float.</p>\n<p>Jika itu adalah sebuah atribut, nilainya harus antra string atau float mewakili prioritas dari <em>setiap</em> obyek dikembalikan oleh <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\">items()</code></a>.</p>\n<p>Contoh nilai-nilai untuk <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\">priority</code></a>: <code class=\"docutils literal notranslate\">0.4</code>, <code class=\"docutils literal notranslate\">1.0</code>. Prioritas awalan dari sebuah halaman adalah <code class=\"docutils literal notranslate\">0.5</code>. Lihat <a class=\"reference external\" href=\"https://www.sitemaps.org/protocol.html#prioritydef\">sitemaps.org documentation</a> untuk beberapa.</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\">protocol</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>Pilihan.</strong></p>\n<p>Atribut ini menentukan protokol (<code class=\"docutils literal notranslate\">'http'</code> atau <code class=\"docutils literal notranslate\">'https'</code>) dari URL di peta situs. Jika itu tidak disetel, protokol dengan peta situs mana yang telah diminta digunakan. Jika peta situs dibangun diluar konteks dari permintaan, awalan adalah <code class=\"docutils literal notranslate\">'http'</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\">limit</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>Pilihan.</strong></p>\n<p>Atribut ini menentukan angka maksimal dari URL disertakan pada setiap halaman dari peta situs. Nilainya tidak harus melebihi nilai awalan dari <code class=\"docutils literal notranslate\">50000</code>, yang merupakan batas teratas diijinkan dalam <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\">i18n</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>Pilihan.</strong></p>\n<p>Sebuah atribut boolean yang menentukan jika URL dari peta situs ini harus dibangkitkan menggunakan semua <a class=\"reference internal\" href=\"/id/2.1/ref/settings/#std-setting-LANGUAGES\"><code class=\"xref std std-setting docutils literal notranslate\">LANGUAGES</code></a> anda. Awalan adalah <code class=\"docutils literal notranslate\">False</code>.</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n<section id=\"shortcuts\">\n<h2>Jalan pintas<a class=\"heading-anchor\" href=\"#shortcuts\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Kerangka kerja peta situs menyediakan sebuah kelas mudah untuk kasus tertentu:</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\">class</span> </em><span class=\"sig-name descname\">GenericSitemap</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">info_dict</em>, <em class=\"sig-param\">priority<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">changefreq<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">protocol<span class=\"o\">=</span><span class=\"default_value\">None</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>Kelas <a class=\"reference internal\" href=\"#django.contrib.sitemaps.GenericSitemap\" title=\"django.contrib.sitemaps.GenericSitemap\"><code class=\"xref py py-class docutils literal notranslate\">django.contrib.sitemaps.GenericSitemap</code></a> mengizinkan anda membuat sebuah peta situs dengan melewatkan itu sebuah dictionary yang harus mengandung setidaknya sebuah masukan <code class=\"docutils literal notranslate\">queryset</code>. Himpunan permintaan ini akan digunakan untuk membangkitkan barang-barang dari peta situs. Itu mungkin juga memiliki masukan <code class=\"docutils literal notranslate\">date_field</code> yang menentukan bidang tanggal untuk obyek-obyek diambil dari <code class=\"docutils literal notranslate\">queryset</code>. Ini akan digunakan untuk atribut <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\">lastmod</code></a> dalam peta situs dibangkitkan.</p>\n<p>Argumen kata kunci <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\">priority</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\">changefreq</code></a>, dan <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\">protocol</code></a> mengizinkan menentukan atribut-atribut ini untuk semua URL.</p>\n<aside class=\"version-note version-added\" data-version=\"2.0\" role=\"note\">\n<p class=\"version-note-title\">New in Django 2.0</p><p>Argumen kata kunci <code class=\"docutils literal notranslate\">protocol</code> telah ditambahkan.</p>\n</aside>\n</dd></dl>\n\n<section id=\"example\">\n<h3>Contoh<a class=\"heading-anchor\" href=\"#example\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Ini adalah contoh dari <a class=\"reference internal\" href=\"/id/2.1/topics/http/urls/\"><span class=\"doc\">URLconf</span></a> menggunakan <a class=\"reference internal\" href=\"#django.contrib.sitemaps.GenericSitemap\" title=\"django.contrib.sitemaps.GenericSitemap\"><code class=\"xref py py-class docutils literal notranslate\">GenericSitemap</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=\"nn\">django.contrib.sitemaps</span> <span class=\"kn\">import</span> GenericSitemap\n<span class=\"kn\">from</span> <span class=\"nn\">django.contrib.sitemaps.views</span> <span class=\"kn\">import</span> sitemap\n<span class=\"kn\">from</span> <span class=\"nn\">django.urls</span> <span class=\"kn\">import</span> path\n<span class=\"kn\">from</span> <span class=\"nn\">blog.models</span> <span class=\"kn\">import</span> Entry\n\ninfo_dict <span class=\"o\">=</span> <span class=\"p\">{</span>\n    <span class=\"s1\">&#39;queryset&#39;</span><span class=\"p\">:</span> Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>all<span class=\"p\">(),</span>\n    <span class=\"s1\">&#39;date_field&#39;</span><span class=\"p\">:</span> <span class=\"s1\">&#39;pub_date&#39;</span><span class=\"p\">,</span>\n<span class=\"p\">}</span>\n\nurlpatterns <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\n    <span class=\"c1\"># the sitemap</span>\n    path<span class=\"p\">(</span><span class=\"s1\">&#39;sitemap.xml&#39;</span><span class=\"p\">,</span> sitemap<span class=\"p\">,</span>\n         <span class=\"p\">{</span><span class=\"s1\">&#39;sitemaps&#39;</span><span class=\"p\">:</span> <span class=\"p\">{</span><span class=\"s1\">&#39;blog&#39;</span><span class=\"p\">:</span> GenericSitemap<span class=\"p\">(</span>info_dict<span class=\"p\">,</span> priority<span class=\"o\">=</span><span class=\"mf\">0.6</span><span class=\"p\">)}},</span>\n         name<span class=\"o\">=</span><span class=\"s1\">&#39;django.contrib.sitemaps.views.sitemap&#39;</span><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>Peta situs untuk tampilan tetap<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>Sering anda ingin perayap mesin pencari untuk mengindeks tampilan-tampilan yang tidak juga halaman-halaman rinci obyek maupun halaman datar. Pemecahanannya adalah secara tersirat daftar nama-nama URL untuk tampilan-tampilan ini dalam <code class=\"docutils literal notranslate\">items</code> dan panggil <a class=\"reference internal\" href=\"/id/2.1/ref/urlresolvers/#django.urls.reverse\" title=\"django.urls.reverse\"><code class=\"xref py py-func docutils literal notranslate\">reverse()</code></a> dalam metode <code class=\"docutils literal notranslate\">location</code> dari peta situs. Sebagai contoh:</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=\"nn\">django.contrib</span> <span class=\"kn\">import</span> sitemaps\n<span class=\"kn\">from</span> <span class=\"nn\">django.urls</span> <span class=\"kn\">import</span> reverse\n\n<span class=\"k\">class</span> <span class=\"nc\">StaticViewSitemap</span><span class=\"p\">(</span>sitemaps<span class=\"o\">.</span>Sitemap<span class=\"p\">):</span>\n    priority <span class=\"o\">=</span> <span class=\"mf\">0.5</span>\n    changefreq <span class=\"o\">=</span> <span class=\"s1\">&#39;daily&#39;</span>\n\n    <span class=\"k\">def</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=\"s1\">&#39;main&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;about&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;license&#39;</span><span class=\"p\">]</span>\n\n    <span class=\"k\">def</span> <span class=\"nf\">location</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> item<span class=\"p\">):</span>\n        <span class=\"k\">return</span> reverse<span class=\"p\">(</span>item<span class=\"p\">)</span>\n\n<span class=\"c1\"># urls.py</span>\n<span class=\"kn\">from</span> <span class=\"nn\">django.contrib.sitemaps.views</span> <span class=\"kn\">import</span> sitemap\n<span class=\"kn\">from</span> <span class=\"nn\">django.urls</span> <span class=\"kn\">import</span> path\n\n<span class=\"kn\">from</span> <span class=\"nn\">.sitemaps</span> <span class=\"kn\">import</span> StaticViewSitemap\n<span class=\"kn\">from</span> <span class=\"nn\">.</span> <span class=\"kn\">import</span> views\n\nsitemaps <span class=\"o\">=</span> <span class=\"p\">{</span>\n    <span class=\"s1\">&#39;static&#39;</span><span class=\"p\">:</span> StaticViewSitemap<span class=\"p\">,</span>\n<span class=\"p\">}</span>\n\nurlpatterns <span class=\"o\">=</span> <span class=\"p\">[</span>\n    path<span class=\"p\">(</span><span class=\"s1\">&#39;&#39;</span><span class=\"p\">,</span> views<span class=\"o\">.</span>main<span class=\"p\">,</span> name<span class=\"o\">=</span><span class=\"s1\">&#39;main&#39;</span><span class=\"p\">),</span>\n    path<span class=\"p\">(</span><span class=\"s1\">&#39;about/&#39;</span><span class=\"p\">,</span> views<span class=\"o\">.</span>about<span class=\"p\">,</span> name<span class=\"o\">=</span><span class=\"s1\">&#39;about&#39;</span><span class=\"p\">),</span>\n    path<span class=\"p\">(</span><span class=\"s1\">&#39;license/&#39;</span><span class=\"p\">,</span> views<span class=\"o\">.</span>license<span class=\"p\">,</span> name<span class=\"o\">=</span><span class=\"s1\">&#39;license&#39;</span><span class=\"p\">),</span>\n    <span class=\"c1\"># ...</span>\n    path<span class=\"p\">(</span><span class=\"s1\">&#39;sitemap.xml&#39;</span><span class=\"p\">,</span> sitemap<span class=\"p\">,</span> <span class=\"p\">{</span><span class=\"s1\">&#39;sitemaps&#39;</span><span class=\"p\">:</span> sitemaps<span class=\"p\">},</span>\n         name<span class=\"o\">=</span><span class=\"s1\">&#39;django.contrib.sitemaps.views.sitemap&#39;</span><span class=\"p\">)</span>\n<span class=\"p\">]</span>\n</code></pre></div>\n</section>\n<section id=\"creating-a-sitemap-index\">\n<h2>Membuat indeks peta situs<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\">views.</span><span class=\"sig-name descname\">index</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">request</em>, <em class=\"sig-param\">sitemaps</em>, <em class=\"sig-param\">template_name<span class=\"o\">=</span><span class=\"default_value\">'sitemap_index.xml'</span></em>, <em class=\"sig-param\">content_type<span class=\"o\">=</span><span class=\"default_value\">'application/xml'</span></em>, <em class=\"sig-param\">sitemap_url_name<span class=\"o\">=</span><span class=\"default_value\">'django.contrib.sitemaps.views.sitemap'</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>Kerangka kerja peta situs juga memiliki kemampuan membuat sebuah indeks peta situs yang mengacu ke berkas-berkas peta situs masing-masing, satu per setiap bagian ditentukan dalam dictionary <code class=\"docutils literal notranslate\">sitemaps</code> anda. Perbedaan hanya dalam penggunaan adalah:</p>\n<ul class=\"simple\">\n<li><p>Anda dapat menggunakan dua tampilan dalam URLconf anda: <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\">django.contrib.sitemaps.views.index()</code></a> dan <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\">django.contrib.sitemaps.views.sitemap()</code></a>.</p></li>\n<li><p>Tampilan <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\">django.contrib.sitemaps.views.sitemap()</code></a> harus mengambil argumen kata kunci <code class=\"docutils literal notranslate\">section</code>.</p></li>\n</ul>\n<p>Ini adalah apa yang baris-barus URLconf bersangkutan akan terlihat untuk contoh diatas:</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=\"nn\">django.contrib.sitemaps</span> <span class=\"kn\">import</span> views\n\nurlpatterns <span class=\"o\">=</span> <span class=\"p\">[</span>\n    path<span class=\"p\">(</span><span class=\"s1\">&#39;sitemap.xml&#39;</span><span class=\"p\">,</span> views<span class=\"o\">.</span>index<span class=\"p\">,</span> <span class=\"p\">{</span><span class=\"s1\">&#39;sitemaps&#39;</span><span class=\"p\">:</span> sitemaps<span class=\"p\">}),</span>\n    path<span class=\"p\">(</span><span class=\"s1\">&#39;sitemap-&lt;section&gt;.xml&#39;</span><span class=\"p\">,</span> views<span class=\"o\">.</span>sitemap<span class=\"p\">,</span> <span class=\"p\">{</span><span class=\"s1\">&#39;sitemaps&#39;</span><span class=\"p\">:</span> sitemaps<span class=\"p\">},</span>\n         name<span class=\"o\">=</span><span class=\"s1\">&#39;django.contrib.sitemaps.views.sitemap&#39;</span><span class=\"p\">),</span>\n<span class=\"p\">]</span>\n</code></pre></div>\n<p>Ini akan otomatis membangkirkan sebuah berkas <code class=\"file docutils literal notranslate\">sitemap.xml</code> yang mengacu kedua <code class=\"file docutils literal notranslate\">sitemap-flatpages.xml</code> dan <code class=\"file docutils literal notranslate\">sitemap-blog.xml</code>. Kelas-kelas <a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap\" title=\"django.contrib.sitemaps.Sitemap\"><code class=\"xref py py-class docutils literal notranslate\">Sitemap</code></a> dan dict <code class=\"docutils literal notranslate\">sitemaps</code> tidak berubah sama sekali.</p>\n<p>Anda harus membuat sebuah berkas indeks jika satu dari peta situs anda mempunyai lebh dari 50,000 URL. Dalam kasus ini, Django akan otomatis memberikan nomor peta situs, dan indeks akan mencerminkan itu.</p>\n<p>Jika anda tidak menggunakan tampilan peta situs vanilla -- sebagai contoh, jika itu dibungkus dengan penghias cache --anda harus menamai tampilanpeta situs anda dan melewatkan <code class=\"docutils literal notranslate\">sitemap_url_name</code> ke tampilan indeks:</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=\"nn\">django.contrib.sitemaps</span> <span class=\"kn\">import</span> views <span class=\"k\">as</span> sitemaps_views\n<span class=\"kn\">from</span> <span class=\"nn\">django.views.decorators.cache</span> <span class=\"kn\">import</span> cache_page\n\nurlpatterns <span class=\"o\">=</span> <span class=\"p\">[</span>\n    path<span class=\"p\">(</span><span class=\"s1\">&#39;sitemap.xml&#39;</span><span class=\"p\">,</span>\n         cache_page<span class=\"p\">(</span><span class=\"mi\">86400</span><span class=\"p\">)(</span>sitemaps_views<span class=\"o\">.</span>index<span class=\"p\">),</span>\n         <span class=\"p\">{</span><span class=\"s1\">&#39;sitemaps&#39;</span><span class=\"p\">:</span> sitemaps<span class=\"p\">,</span> <span class=\"s1\">&#39;sitemap_url_name&#39;</span><span class=\"p\">:</span> <span class=\"s1\">&#39;sitemaps&#39;</span><span class=\"p\">}),</span>\n    path<span class=\"p\">(</span><span class=\"s1\">&#39;sitemap-&lt;section&gt;.xml&#39;</span><span class=\"p\">,</span>\n         cache_page<span class=\"p\">(</span><span class=\"mi\">86400</span><span class=\"p\">)(</span>sitemaps_views<span class=\"o\">.</span>sitemap<span class=\"p\">),</span>\n         <span class=\"p\">{</span><span class=\"s1\">&#39;sitemaps&#39;</span><span class=\"p\">:</span> sitemaps<span class=\"p\">},</span> name<span class=\"o\">=</span><span class=\"s1\">&#39;sitemaps&#39;</span><span class=\"p\">),</span>\n<span class=\"p\">]</span>\n</code></pre></div>\n</section>\n<section id=\"template-customization\">\n<h2>Penyesuaian cetakan<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>Jika anda berharap menggunakan cetakan berbeda untuk setiap peta situs atau indeks peta situs tersedia pada situs anda, anda mungkin menentukan itu dengan melewatkan parameter <code class=\"docutils literal notranslate\">template_name</code> ke tampilan <code class=\"docutils literal notranslate\">sitemap</code> dan <code class=\"docutils literal notranslate\">index</code> melalui 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=\"nn\">django.contrib.sitemaps</span> <span class=\"kn\">import</span> views\n\nurlpatterns <span class=\"o\">=</span> <span class=\"p\">[</span>\n    path<span class=\"p\">(</span><span class=\"s1\">&#39;custom-sitemap.xml&#39;</span><span class=\"p\">,</span> views<span class=\"o\">.</span>index<span class=\"p\">,</span> <span class=\"p\">{</span>\n        <span class=\"s1\">&#39;sitemaps&#39;</span><span class=\"p\">:</span> sitemaps<span class=\"p\">,</span>\n        <span class=\"s1\">&#39;template_name&#39;</span><span class=\"p\">:</span> <span class=\"s1\">&#39;custom_sitemap.html&#39;</span>\n    <span class=\"p\">}),</span>\n    path<span class=\"p\">(</span><span class=\"s1\">&#39;custom-sitemap-&lt;section&gt;.xml&#39;</span><span class=\"p\">,</span> views<span class=\"o\">.</span>sitemap<span class=\"p\">,</span> <span class=\"p\">{</span>\n        <span class=\"s1\">&#39;sitemaps&#39;</span><span class=\"p\">:</span> sitemaps<span class=\"p\">,</span>\n        <span class=\"s1\">&#39;template_name&#39;</span><span class=\"p\">:</span> <span class=\"s1\">&#39;custom_sitemap.html&#39;</span>\n    <span class=\"p\">},</span> name<span class=\"o\">=</span><span class=\"s1\">&#39;django.contrib.sitemaps.views.sitemap&#39;</span><span class=\"p\">),</span>\n<span class=\"p\">]</span>\n</code></pre></div>\n<p>Tampilan ini mengembalikan instance <a class=\"reference internal\" href=\"/id/2.1/ref/template-response/#django.template.response.TemplateResponse\" title=\"django.template.response.TemplateResponse\"><code class=\"xref py py-class docutils literal notranslate\">TemplateResponse</code></a> yang mengizinkan anda dengan mudah menyesuaikan data tanggapan sebelum membangun. Untuk rincian lebih, lihat <a class=\"reference internal\" href=\"/id/2.1/ref/template-response/\"><span class=\"doc\">TemplateResponse documentation</span></a>.</p>\n<section id=\"context-variables\">\n<h3>Variabel konteks<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>Ketika penyesuaian cetakan untuk tampilan <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\">index()</code></a> dan <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\">sitemap()</code></a>, anda dapat bergantung padavariabel konteks berikut.</p>\n</section>\n<section id=\"index\">\n<h3>Indeks<a class=\"heading-anchor\" href=\"#index\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Variabel <code class=\"docutils literal notranslate\">sitemaps</code> adalah daftar dari URL mutlak pada setiap peta situs.</p>\n</section>\n<section id=\"id1\">\n<h3>Peta situs<a class=\"heading-anchor\" href=\"#id1\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Variabel <code class=\"docutils literal notranslate\">urlset</code> adalah daftar dari URL yang harus muncul dalam peta situs. Setiap URL menampilkan atribut-atribut seperti ditentukan dalam kelas <a class=\"reference internal\" href=\"#django.contrib.sitemaps.Sitemap\" title=\"django.contrib.sitemaps.Sitemap\"><code class=\"xref py py-class docutils literal notranslate\">Sitemap</code></a>:</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\">changefreq</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">item</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">lastmod</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">tempat</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">prioritas</code></p></li>\n</ul>\n<p>Atribut <code class=\"docutils literal notranslate\">item</code> telah ditambahkan untuk setiap URL untuk mengizinkan penyesuaian lebih elastis dari cetakan-cetakan, seperti <a class=\"reference external\" href=\"https://support.google.com/news/publisher/answer/74288?hl=en\">Google news sitemaps</a>. Menganggap <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\">items()</code></a> Peta situs akan mengembalikan daftar dari barang-barang dengan bidang <code class=\"docutils literal notranslate\">publication_data</code> dan <code class=\"docutils literal notranslate\">tags</code> sesuatu seperti ini akan membangkitkan peta situs sesuai Google News:</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=\"na\">xmlns=</span><span class=\"s\">&quot;https://www.sitemaps.org/schemas/sitemap/0.9&quot;</span>\n  <span class=\"na\">xmlns:news=</span><span class=\"s\">&quot;http://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=\"nt\">&lt;url&gt;</span>\n    <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=\"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=\"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=\"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=\"nt\">&lt;news:news&gt;</span>\n      <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=\"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=\"nt\">&lt;/news:news&gt;</span>\n   <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>\n<section id=\"pinging-google\">\n<h2>Meminta Google<a class=\"heading-anchor\" href=\"#pinging-google\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Anda mugkin ingin &quot;ping&quot; Google ketika peta situs anda berubah, untuk membuat dia tahu indeks ulang situs anda. Kerangka kerja peta situs menyediakan fungsi untuk melakukan itu: <a class=\"reference internal\" href=\"#django.contrib.sitemaps.ping_google\" title=\"django.contrib.sitemaps.ping_google\"><code class=\"xref py py-func docutils literal notranslate\">django.contrib.sitemaps.ping_google()</code></a>.</p>\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.sitemaps.ping_google\">\n<span class=\"sig-name descname\">ping_google</span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.sitemaps.ping_google\"><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.ping_google\" title=\"django.contrib.sitemaps.ping_google\"><code class=\"xref py py-func docutils literal notranslate\">ping_google()</code></a> mengambil argumen pilihan, <code class=\"docutils literal notranslate\">sitemap_url</code>, yang harus berupa jalur mutlak ke peta situs situs anda (misalnya, <code class=\"file docutils literal notranslate\">'/sitemap.xml'</code>). Jika argumen ini tidak disediakan, <a class=\"reference internal\" href=\"#django.contrib.sitemaps.ping_google\" title=\"django.contrib.sitemaps.ping_google\"><code class=\"xref py py-func docutils literal notranslate\">ping_google()</code></a> akan berusaha mengetahui peta situs anda dengan melakukan pencarian terbaik dalam URLconf anda.</p>\n<p><a class=\"reference internal\" href=\"#django.contrib.sitemaps.ping_google\" title=\"django.contrib.sitemaps.ping_google\"><code class=\"xref py py-func docutils literal notranslate\">ping_google()</code></a> memunculkan pengecualian <code class=\"docutils literal notranslate\">django.contrib.sitemaps.SitemapNotFound</code> jika itu tidak bisa menentukan URL peta situs anda.</p>\n</dd></dl>\n\n<aside class=\"admonition-register-with-google-first admonition\" role=\"note\">\n<p class=\"admonition-title\">Daftar dengan Google dahulu!</p>\n<p>Perintah <a class=\"reference internal\" href=\"#django.contrib.sitemaps.ping_google\" title=\"django.contrib.sitemaps.ping_google\"><code class=\"xref py py-func docutils literal notranslate\">ping_google()</code></a> hanya bekerja jika anda telah mendaftarkan situs anda dengan <a class=\"reference external\" href=\"https://www.google.com/webmasters/tools/\">Google Webmaster Tools</a>.</p>\n</aside>\n<p>Satu cara berguna untuk memanggil <a class=\"reference internal\" href=\"#django.contrib.sitemaps.ping_google\" title=\"django.contrib.sitemaps.ping_google\"><code class=\"xref py py-func docutils literal notranslate\">ping_google()</code></a> adalah dari metode <code class=\"docutils literal notranslate\">save()</code> model:</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=\"nn\">django.contrib.sitemaps</span> <span class=\"kn\">import</span> ping_google\n\n<span class=\"k\">class</span> <span class=\"nc\">Entry</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    <span class=\"c1\"># ...</span>\n    <span class=\"k\">def</span> <span class=\"nf\">save</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> force_insert<span class=\"o\">=</span><span class=\"kc\">False</span><span class=\"p\">,</span> force_update<span class=\"o\">=</span><span class=\"kc\">False</span><span class=\"p\">):</span>\n        <span class=\"nb\">super</span><span class=\"p\">()</span><span class=\"o\">.</span>save<span class=\"p\">(</span>force_insert<span class=\"p\">,</span> force_update<span class=\"p\">)</span>\n        <span class=\"k\">try</span><span class=\"p\">:</span>\n            ping_google<span class=\"p\">()</span>\n        <span class=\"k\">except</span> <span class=\"ne\">Exception</span><span class=\"p\">:</span>\n            <span class=\"c1\"># Bare &#39;except&#39; because we could get a variety</span>\n            <span class=\"c1\"># of HTTP-related exceptions.</span>\n            <span class=\"k\">pass</span>\n</code></pre></div>\n<p>Sebuah pemecahan efesien lagi, bagaimanapun,akan dipanggil <a class=\"reference internal\" href=\"#django.contrib.sitemaps.ping_google\" title=\"django.contrib.sitemaps.ping_google\"><code class=\"xref py py-func docutils literal notranslate\">ping_google()</code></a> dari sebuah tulisan cron, atau beberapa tugas terjadwal lainnya. Fungsi membuat sebuah permintaan HTTP ke peladen Google, jadi anda mungkin tidak ingin memperkenalkan jaringan berlebih setiap kali anda memanggil <code class=\"docutils literal notranslate\">save()</code>.</p>\n<section id=\"pinging-google-via-manage-py\">\n<h3>Menghubungi Google melalui <code class=\"docutils literal notranslate\">manage.py</code><a class=\"heading-anchor\" href=\"#pinging-google-via-manage-py\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"std django-admin\">\n<dt class=\"sig sig-object std\" id=\"django-admin-ping_google\">\n<span class=\"sig-name descname\">django-admin ping_google [sitemap_url]</span><a class=\"heading-anchor\" href=\"#django-admin-ping_google\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Sekali aplikasi peta situs ditambahkan ke proyek anda, anda mungkin juga meng-ping Google menggunakan perintah pengelolaan <code class=\"docutils literal notranslate\">ping_google</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>python manage<span class=\"o\">.</span>py ping_google <span class=\"p\">[</span><span class=\"o\">/</span>sitemap<span class=\"o\">.</span>xml<span class=\"p\">]</span>\n</code></pre></div>\n</section>\n</section>","rootId":"module-django.contrib.sitemaps","toc":[{"title":"Ikhtisar","anchor":"overview","children":[]},{"title":"Pemasangan","anchor":"installation","children":[]},{"title":"Inisialisasi","anchor":"initialization","children":[]},{"title":"Kelas Sitemap","anchor":"sitemap-classes","children":[]},{"title":"Sebuah contoh sederhana","anchor":"a-simple-example","children":[]},{"title":"Acuan kelas Sitemap","anchor":"sitemap-class-reference","children":[]},{"title":"Jalan pintas","anchor":"shortcuts","children":[{"title":"Contoh","anchor":"example","children":[]}]},{"title":"Peta situs untuk tampilan tetap","anchor":"sitemap-for-static-views","children":[]},{"title":"Membuat indeks peta situs","anchor":"creating-a-sitemap-index","children":[]},{"title":"Penyesuaian cetakan","anchor":"template-customization","children":[{"title":"Variabel konteks","anchor":"context-variables","children":[]},{"title":"Indeks","anchor":"index","children":[]},{"title":"Peta situs","anchor":"id1","children":[]}]},{"title":"Meminta Google","anchor":"pinging-google","children":[{"title":"Menghubungi Google melalui manage.py","anchor":"pinging-google-via-manage-py","children":[]}]}],"breadcrumbs":[{"docname":"ref/index","title":"Acuan API","url":"/id/2.1/ref/"},{"docname":"ref/contrib/index","title":"Paket contrib","url":"/id/2.1/ref/contrib/"}],"prev":{"docname":"ref/contrib/redirects","title":"Aplikasi pengalihan","url":"/id/2.1/ref/contrib/redirects/"},"next":{"docname":"ref/contrib/sites","title":"Kerangka kerja \"sites\"","url":"/id/2.1/ref/contrib/sites/"},"formats":{"html":"/id/2.1/ref/contrib/sitemaps/","markdown":"/id/2.1/ref/contrib/sitemaps.md","json":"/id/2.1/ref/contrib/sitemaps.json"},"source":"https://github.com/django/django/blob/stable/2.1.x/docs/ref/contrib/sitemaps.txt","official":"https://docs.djangoproject.com/id/2.1/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","zh-hans","fr","ja","id","pt-br","ko","es","el","pl"]}