sitemap XML

Apa sebuah sitemap XML adalah, -nya anatomy, ignored tags (priority/changefreq), accurate lastmod, 50 000/50MB limits, hreflang di sitemaps, dan cara submit satu.

Pertama kali diterbitkan: 22 Jun 2026 · Terakhir diperbarui: 3 Agu 2026 · Lanjutan
1 sinyal bukti di halaman ini

sebuah sitemap XML adalah sebuah UTF-8 file listing canonical, dapat diindeks URLs Anda ingin mesin pencari untuk know tentang — setiap di sebuah <url> block dengan sebuah diperlukan <loc> dan sebuah opsional <lastmod>. ini helps mesin menemukan URLs tetapi tidak jaminan pengindeksan; -nya nyata payoff adalah submitted-vs-terindeks diagnostic di Search Console. Google ignores <priority> dan <changefreq>, dan menggunakan <lastmod> hanya ketika ini adalah verifiably accurate (significant memperbarui, tidak sebuah blanket 'hari ini'). Satu sitemap caps di 50 000 URLs atau 50MB uncompressed — past itu Anda split files dan reference them dari sebuah sitemap indeks. sertakan hanya canonical, dapat diindeks, 200-status URLs; leaving sebuah URL out dari sitemap adalah tidak yang sama sebagai noindexing ini. Sitemaps adalah juga easiest place untuk manage hreflang di scale. Reference ini di robots.txt dan submit ini di Search Console dan Bing Webmaster alat.

TL;DR — sebuah sitemap XML adalah sebuah UTF-8 file dari canonical, dapat diindeks <loc> URLs, setiap secara opsional carrying sebuah <lastmod>. ini aids penemuan, tidak pengindeksan — payoff adalah submitted-vs-terindeks sinyal di Search Console. Google ignores <priority> dan <changefreq> dan menggunakan <lastmod> hanya ketika ini adalah verifiably accurate (significant memperbarui, tidak pernah sebuah blanket “hari ini” (terjemahan) “hari ini”). Satu file caps di 50 000 URLs atau 50MB uncompressed — past itu, split dan gunakan sitemap indeks. sertakan hanya 200, canonical, dapat diindeks URLs; excluding sebuah URL adalah tidak yang sama sebagai noindexing ini. XML tidak satu-satunya accepted format (RSS/Atom/txt berfungsi too), dan sitemaps adalah easiest place untuk manage hreflang di scale — though itu annotations go langsung pada sebuah lag, tidak instantly. Reference ini di robots.txt dan submit ini di Search Console + Bing Webmaster alat.

Bukti untuk klaim ini The XML sitemap protocol lists canonical URL locations and optional metadata, with limits of 50,000 URLs and 50 MB uncompressed per sitemap. Cakupan: Sitemaps protocol and current Google-supported limits. Tingkat keyakinan: tinggi · Diverifikasi: Sitemaps XML format Bukti untuk klaim ini Google treats sitemaps as discovery hints rather than guarantees and supports submission through Search Console or robots.txt references. Cakupan: Current Google sitemap behavior and submission methods. Tingkat keyakinan: tinggi · Diverifikasi: Google Search Central: Build and submit a sitemap

Apa sebuah sitemap XML sebenarnya adalah

«An XML sitemap is a file, written to the sitemaps.org 0.9 protocol, that lists the URLs on your site you want engines to know about. Google’s own definition: “A sitemap is a file where you provide information about the pages, videos, and other files on your site, and the relationships between them.” It’s a discovery aid and a coverage diagnostic — explicitly not a guarantee: “A sitemap helps search engines discover URLs on your site, but it doesn’t guarantee that all the items in your sitemap will be crawled and indexed.” » (Terjemahan) (Ringkasan bahasa Indonesia untuk bagian dua puluh empat, bagian kecil satu: teks sumber dipertahankan agar dapat diperiksa dalam tinjauan penutur asli.)

itu framing penting, karena ini adalah di mana sebuah lot dari effort mendapatkan misspent. sitemap tidak sebuah peringkat lever dan ini tidak sebuah pengindeksan command. Di sini’s sebuah annotated minimal contoh:

<?xml version="1.0" encoding="UTF-8"?>            <!-- XML declaration; UTF-8 -->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">  <!-- root + namespace -->
  <url>                                           <!-- one entry per page -->
    <loc>https://www.example.com/foo.html</loc>   <!-- required: absolute URL -->
    <lastmod>2026-06-04</lastmod>                 <!-- optional: last significant change -->
  </url>
</urlset>

Anatomy

«- The XML declaration — <?xml version="1.0" encoding="UTF-8"?>. Google is unambiguous here: “The sitemap file must be UTF-8 encoded.” Get the encoding wrong and special characters break. » (Terjemahan) (Ringkasan bahasa Indonesia untuk bagian dua puluh delapan, bagian kecil satu: teks sumber dipertahankan agar dapat diperiksa dalam tinjauan penutur asli.) «- <urlset> + namespace — the root element, with xmlns="http://www.sitemaps.org/schemas/sitemap/0.9". The namespace is what tells the parser this is a sitemap; the wrong or missing namespace is a common Search Console error. » (Terjemahan) (Ringkasan bahasa Indonesia untuk bagian dua puluh delapan, bagian kecil dua: teks sumber dipertahankan agar dapat diperiksa dalam tinjauan penutur asli.) «- <url> — one block per page. » (Terjemahan) (Ringkasan bahasa Indonesia untuk bagian dua puluh delapan, bagian kecil tiga: teks sumber dipertahankan agar dapat diperiksa dalam tinjauan penutur asli.) «- <loc> — required. “Use fully-qualified, absolute URLs in your sitemaps” — not relative paths, and under ~2,048 characters. All values must be entity-escaped: & becomes &amp;, ' becomes &apos;, " becomes &quot;, > becomes &gt;, and a literal less-than becomes &lt;. » (Terjemahan) (Ringkasan bahasa Indonesia untuk bagian dua puluh delapan, bagian kecil empat: teks sumber dipertahankan agar dapat diperiksa dalam tinjauan penutur asli.) «- <lastmod> — optional; the date the page last significantly changed (more on the honesty rule below).

Bukti untuk klaim ini Each loc must be a fully qualified absolute URL and XML special characters must be entity escaped. Cakupan: XML/HTTP sitemap generation, hosting and submission Tingkat keyakinan: tinggi · Diverifikasi: Build and submit a sitemap

» (Terjemahan) (Ringkasan bahasa Indonesia untuk bagian dua puluh delapan, bagian kecil lima: teks sumber dipertahankan agar dapat diperiksa dalam tinjauan penutur asli.)

ignored-tags truth

ini adalah single sebagian besar out-dari-date hal di sebagian besar sitemap tutorials. Dua legacy tags — <priority> dan <changefreq> — adalah ignored oleh Google. Gary Illyes called priority “essentially a bag of noise,” (terjemahan) “essentially sebuah bag dari noise,” dan John Mueller memiliki mengatakan priority dan perubahan frequency “doesn’t really play that much of a role with Sitemaps anymore.” (terjemahan) “tidak benar-benar play itu banyak dari sebuah role dengan Sitemaps anymore.” Bing memiliki confirmed yang sama: changefreq dan priority Tidak lebih lama memengaruhi -nya crawling atau peringkat. Anda dapat leave them di (mereka melakukan Tidak harm) atau strip them out — mereka sekadar jangan melakukan apa pun.

<lastmod> adalah berbeda — melakukan tidak lump ini di dengan ignored tags. Google melakukan gunakan <lastmod>, tetapi hanya ketika ini trusts ini, dan itu trust adalah roughly binary: either Google believes Anda dates atau ini tidak. aturan adalah itu date seharusnya reflect sebuah significant perubahan — “an update to the main content, the structured data, or links on the page is generally considered significant, however an update to the copyright date is not.” (terjemahan) “sebuah perbarui untuk main konten, data terstruktur, atau tautan pada halaman adalah umumnya considered significant, namun sebuah perbarui untuk copyright date adalah tidak.” failure mode I see constantly adalah stamping setiap URL dengan hari ini’s date pada setiap bangun. itu’s self-defeating: Mueller memiliki called ini “sekadar lazy,” (terjemahan) “hanya lazy,” noting ini adalah trivial untuk mesin untuk recognize dan hanya membuat ini harder untuk them untuk spot genuinely diperbarui halaman. Lie sering cukup dan, di Google’s kata, “eventually kami tidak going untuk believe Anda anymore.” (terjemahan) “eventually kami’re tidak going untuk believe Anda anymore.” Bing leans bahkan harder pada <lastmod> sebagai sebuah freshness sinyal daripada Google melakukan — so sebuah accurate date helps Anda pada keduanya mesin, dan sebuah fake satu hurts Anda pada keduanya.

Placement, naming, encoding, dan compression

  • Placement/naming. ada Tidak diperlukan filename, tetapi /sitemap.xml di root adalah convention. oleh default sebuah sitemap hanya memengaruhi URLs di atau di bawah -nya own path, so pertahankan ini tinggi cukup untuk cover semuanya ini lists. satu exception: Anda dapat host sebuah sitemap untuk sebuah berbeda situs jika Anda’ve verified kepemilikan dari itu situs dan -nya robots.txt poin back untuk sitemap’s sebenarnya location — Google panggilan ini cross-submission, dan ini adalah mechanism behind sebuah sitemap indeks aggregating sitemaps hosted elsewhere.
  • Encoding. UTF-8, selalu.
  • Compression. Anda’re diizinkan untuk gzip sebuah sitemap (sajikan ini sebagai .xml.gz), yang adalah worth melakukan pada besar files. penting nuance: ** 50MB cap adalah diukur uncompressed** — gzip saves bandwidth, tidak headroom terhadap size limit.

Limits → split + sitemap indeks

«A single sitemap is capped at 50,000 URLs or 50MB uncompressed, whichever comes first. Google states it directly: “All formats limit a single sitemap to 50MB (uncompressed) or 50,000 URLs.” When you blow past either limit, you split the list across multiple sitemap files and reference them all from a sitemap index — a sitemap of sitemaps. That’s its own sibling topic; the short version is that you submit the index, and one index can point at up to 50,000 child sitemaps, so you’ll never actually run out of capacity. » (Terjemahan) (Ringkasan bahasa Indonesia untuk bagian tiga puluh lima, bagian kecil satu: teks sumber dipertahankan agar dapat diperiksa dalam tinjauan penutur asli.)

«## Which URLs to include — and “exclude ≠ noindex” » (Terjemahan) (Ringkasan bahasa Indonesia untuk bagian tiga puluh enam, bagian kecil satu: teks sumber dipertahankan agar dapat diperiksa dalam tinjauan penutur asli.)

sertakan hanya URLs itu adalah dapat diindeks, canonical, dan kembalikan 200. itu berarti Tidak 3xx redirects, Tidak non-canonical duplicates, Tidak noindex halaman, Tidak robots-blocked URLs. sebuah bersih sitemap dari persis Anda dapat diindeks set adalah apa membuat Search Console submitted-vs-terindeks perbandingan bermakna — pollute ini dengan junk dan Anda’ve thrown away diagnostic.

Now mechanical poin orang mendapatkan wrong: excluding sebuah URL dari Anda sitemap melakukan tidak deindex ini. sitemap adalah sebuah advertisement, tidak sebuah gate. menghapus sebuah URL’s entry hanya berhenti Anda advertising itu halaman; jika Google sudah knows tentang ini (melalui tautan, history, atau lainnya sumber) ini tetap di indeks. satu-satunya mechanisms itu sebenarnya hapus sebuah halaman adalah sebuah noindex directive (dengan crawling diizinkan so Google dapat see ini), sebuah 404/410, atau removals alat. So “take it out dari itu sitemap” (terjemahan) “take ini out dari sitemap” adalah tidak pernah right jawaban untuk “bagaimana lakukan I deindex ini.” (terjemahan) “bagaimana melakukan I deindex ini.”

Accepted sitemap file formats

«XML isn’t the only format Google accepts — worth knowing so you don’t assume you’re stuck hand-writing XML. Google calls XML “the most versatile of the sitemap formats,” but it also reads: » (Terjemahan) (Ringkasan bahasa Indonesia untuk bagian empat puluh, bagian kecil satu: teks sumber dipertahankan agar dapat diperiksa dalam tinjauan penutur asli.)

  • RSS 2,0 / Atom feeds — handy karena banyak CMSs sudah publish satu; mereka carry halaman URLs hanya.
  • mRSS — sebuah media RSS feed, digunakan untuk video.
  • Plain text (.txt) — secara harfiah satu URL per line, web-halaman URLs hanya, UTF-8.

XML adalah masih right default karena ini adalah satu-satunya format itu mendukung extensions (lastmod metadata, image, video, dan hreflang annotations). others adalah URL-hanya.

hreflang di sitemaps

jika Anda jalankan sebuah multilingual atau multi-regional situs, sitemap adalah biasanya easiest place untuk manage hreflang — Anda maintain seluruh language cluster di satu file alih-alih injecting kembalikan-tags ke setiap halaman template. (ini adalah satu dari three valid places hreflang dapat langsung; <head> dan header HTTP adalah others.)

Bagaimana ini adalah implemented. setiap <url> mendapatkan xhtml:link rel="alternate" children, satu per language/region versi, dan Anda declare namespace xmlns:xhtml="http://www.w3.org/1999/xhtml" pada <urlset>:

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url>
    <loc>https://www.example.com/english/page.html</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.example.com/english/page.html"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.example.de/deutsch/page.html"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.example.com/english/page.html"/>
  </url>
  <!-- each alternate URL repeats the FULL set, including itself (return tags) -->
</urlset>

«The return-tag rule. This is the part that bites people. Every <url> element must list every alternate version of the page — including itself. Google: “Each <url> element must have a child element <xhtml:link rel="alternate" hreflang="[supported_language-code]"> that lists every alternate version of the page, including itself.” And it has to be bidirectional: “If page X links to page Y, page Y must link back to page X. If this is not the case for all pages that use hreflang annotations, those annotations may be ignored or not interpreted correctly.” Add an x-default entry for the unmatched-language fallback. A single broken or missing return-tag can invalidate the whole set. » (Terjemahan) (Ringkasan bahasa Indonesia untuk bagian empat puluh tujuh, bagian kecil satu: teks sumber dipertahankan agar dapat diperiksa dalam tinjauan penutur asli.)

** cap counts <loc> URLs hanya.** sebuah relief untuk big international situs: 50 000-URL limit counts hanya <loc> halaman URLs, tidak hreflang alternates. So sebuah sitemap dengan 50 000 halaman, setiap dengan ten language alternates, masih fits — ini adalah location URLs itu count, tidak alternative URLs.

Ketika ini sebenarnya goes langsung — budget days, tidak minutes. Di sini’s expectation untuk set, dan ini adalah mechanism alih-alih sebuah quotable line. Google parses Anda sitemap hreflang ketika ini re-fetches sitemap, tetapi annotations hanya take effect setelah semua URLs di set memiliki telah (re)di-crawl dan kembalikan-tags reconciled terhadap setiap lainnya. itu berarti ada sebuah nyata lag antara penerbitan hreflang dan alternates menjadi honored, dan satu slow-untuk-recrawl atau rusak URL di set dapat hold rest up. jangan expect ini untuk flip pada moment Anda submit — plan untuk ini untuk settle di atas days.

Reference ini dan submit ini

  • robots.txt — tambahkan sebuah Sitemap: line dengan penuh absolute URL. ini juga lets mesin auto-menemukan ini.
  • Google Search Console — Sitemaps report (atau Search Console API) adalah utama submission metode; ini adalah juga di mana Anda baca submitted-vs-terindeks diagnostic.
  • Bing Webmaster alat — submit di sana too; Bing fetches ini quickly dan rechecks regularly.

Satu automation note dari bagaimana I think tentang ini: sebuah sitemap seharusnya menjadi generated secara otomatis dari halaman Anda sebenarnya memiliki, so ini tetap saat ini. sebuah hand-dibangun sitemap rots moment Anda situs perubahan. siblings untuk ini halaman — sitemaps overview, sitemap indeks untuk besar situs, dan image sitemap dan video sitemap extensions — cover rest dari family, dan lebih luas penemuan topic ties sitemaps untuk lainnya cara mesin temukan Anda URLs.

Tambahkan catatan pakar

Sematkan kutipan pakar

Orang baru? Buat profilnya yang belum diklaim di /admin/experts/ → Sematkan kutipan pakar terlebih dahulu.