Panduan Trailing Slash

Apakah trailing slash penting untuk SEO? Pelajari pengecualian domain root, riwayat file versus direktori, keunikan REST API, serta aturan Apache, Nginx, dan IIS yang siap disalin untuk menerapkan satu format—termasuk kapan URL sebaiknya tidak diubah.

Pertama kali diterbitkan: 3 Jul 2026 · Terakhir diperbarui: 21 Agu 2026 · Advanced
Bahasa
1 sinyal bukti di halaman ini

Trailing slash adalah karakter / di akhir URL. example.com dan example.com/ identik—pengecualian domain root ini merupakan satu-satunya aturan universal. Di lokasi lain, example.com/page dan example.com/page/ adalah URL berbeda; jika keduanya aktif tanpa konsolidasi, muncullah URL duplikat. Format yang dipilih tidak penting, tetapi Anda harus memilih satu lalu menerapkannya dengan pengalihan 301 sebagai sinyal kuat, didukung tag canonical, tautan internal yang konsisten, dan entri sitemap. Waspadai jalur file seperti page.html/, perbedaan rute REST API, garis miring ganda, serta rantai pengalihan HTTPS/www. Sesuai saran saya: bila konfigurasi Anda tidak menimbulkan masalah, jangan memaksakan perubahan URL.

TL;DR — example.com dan example.com/ identik—domain root adalah satu-satunya aturan universal. Di tempat lain, /page dan /page/ merupakan URL berbeda; jika keduanya aktif tanpa konsolidasi, muncullah URL duplikat. Format yang dipilih tidak penting. Terapkan satu format dengan pengalihan 301 sebagai sinyal kanonisasi yang kuat—trailing slash hanyalah satu dari sekitar 40 sinyal—lalu dukung dengan tag canonical ketika pengalihan tidak memungkinkan, tautan internal yang konsisten, dan entri sitemap. Waspadai path file (page.html/ adalah path berbeda yang perilakunya bergantung pada server), REST API (framework seperti Flask dapat memperlakukan /resource dan /resource/ sebagai rute berbeda), garis miring ganda, serta rantai pengalihan HTTPS/www. Saran saya tetap sama: jangan memaksakan perubahan kecuali konfigurasi itu memang menimbulkan masalah.

Evidence for this claim Google treats slash and non-slash URLs as separate URLs, either of which can be canonical if behavior is consistent. Scope: Google's documented trailing-slash handling. Confidence: high · Verified: Google Search Central Blog: To slash or not to slash Evidence for this claim Under URI resolution rules, a trailing slash changes path-base semantics; server behavior still determines the HTTP resource returned. Scope: URI reference resolution, distinct from search-engine canonical choice. Confidence: high · Verified: IETF RFC 3986: Reference resolution

Apa itu trailing slash, dan dari mana asalnya

Trailing slash adalah garis miring ke depan di akhir URL. Seperti yang saya tulis dalam panduan trailing slash Ahrefs, “A trailing slash is a forward slash (”/”) placed at the end of a URL such as domain.com/ or domain.com/page/.” (terjemahan) “Trailing slash adalah garis miring ke depan yang ditempatkan di akhir URL seperti pada dua contoh tersebut.”

Dahulu, slash memiliki makna khusus. Folder memakai trailing slash, sedangkan file tidak. Slash menjadi cara server menyatakan “ini adalah direktori, wadah bagi hal lain”, bukan satu file seperti index.html. Perbedaan itu kini lebih bersifat historis: pada kebanyakan sistem modern, URL tidak menunjuk langsung ke file, melainkan ke rekaman dalam basis data. CMS mengarahkan /blog/trailing-slash/ ke sebuah baris basis data, bukan folder pada hard drive. Karena itu, makna direktori-versus-file sebagian besar berubah menjadi konvensi pemformatan.

Konvensinya memudar, tetapi perilaku server yang dahulu melahirkannya tidak sepenuhnya hilang. Dari sinilah masalah mekanis berikut berasal.

Satu aturan universal: pengecualian domain root

Inilah satu aturan yang berlaku di mana pun: trailing slash pada domain root tanpa path tidak berpengaruh. example.com dan example.com/ adalah URL yang sama.

Ini bukan sekadar aturan SEO, melainkan cara kerja HTTP. Permintaan beranda secara teknis adalah permintaan untuk /; slash setelah hostname selalu ada, meski browser menyembunyikannya di bilah alamat. John Mueller menjelaskan bahwa slash pada root hadir secara implisit dan tersirat untuk kanonisasi. Jadi, bagi Google, https://example.com secara fungsional sama dengan https://example.com/. Tidak ada URL kedua yang perlu dialihkan pada root; keduanya adalah sumber daya yang sama. Versi sederhana saya: domain.com = domain.com/“These URLs are treated exactly the same and it doesn’t matter which version you use.” (terjemahan) “URL-URL ini diperlakukan sama persis dan versi mana yang Anda gunakan tidaklah penting.”

Di lokasi lain, kesetaraan tersebut tidak berlaku.

Di tempat lain, URL-nya benar-benar berbeda

Begitu ada path setelah domain, slash menjadi bagian nyata dari URL. Seperti yang saya tulis: untuk setiap kasus selain trailing slash tepat setelah domain root, URL dengan trailing slash diperlakukan sebagai URL terpisah. Karena itu, example.com/shoes dan example.com/shoes/ adalah dua alamat berbeda.

Jika keduanya memuat konten yang sama dan tidak ada yang dikonsolidasikan ke versi lain, Anda menciptakan URL duplikat—masalah yang diselesaikan oleh kanonisasi. Pada kebanyakan konfigurasi, hal ini tidak menjadi bencana karena tag canonical yang merujuk diri sendiri atau penanganan duplikat Google biasanya memilih satu versi. Namun, “biasanya” bukan “selalu”. Membiarkannya berarti mengandalkan tebakan Google alih-alih memberi sinyal yang jelas.

Masalah yang tetap ada: jangan tambahkan slash pada file nyata

Makna file-versus-direktori telah memudar, tetapi perilaku mekanisnya belum. Pada kebanyakan kasus, jika trailing slash ditambahkan pada file seperti .html, .php, .js, .css, .pdf, atau .jpg, file itu tidak akan dimuat. Contoh Mueller adalah https://www.google.com/humans.txt dibandingkan dengan https://www.google.com/humans.txt/. Menambahkan slash pada path file nyata menghasilkan URL berbeda yang biasanya tidak mengarah ke file tersebut—sering kali 404 atau ditangani secara keliru. Jadi, aturan “tambahkan slash di mana-mana” justru merusak URL yang berakhir dengan nama file. Itulah sebabnya aturan server di bawah harus mengenali file.

REST API memiliki perilaku berbeda

Hampir semua artikel trailing slash berasumsi bahwa /page dan /page/ pada frontend CMS menyajikan konten yang sama dan hanya perlu dikonsolidasikan. Asumsi itu tidak berlaku untuk REST API.

Banyak framework API memperlakukan /resource dan /resource/ sebagai rute yang benar- benar berbeda, bukan dua tampilan duplikat. Flask adalah contoh terdokumentasi yang jelas: jika rute didefinisikan dengan trailing slash, permintaan tanpa slash otomatis dialihkan ke versi berslash. Jika rute didefinisikan tanpa trailing slash, permintaan berslash menghasilkan 404, kecuali perilaku tersebut dilonggarkan dengan strict_slashes=False. Express, Django REST Framework, dan framework lain memiliki konvensi serta pengaturannya sendiri. Jangan menganggap toleransi slash pada CMS juga berlaku pada lapisan API. Frontend headless dapat toleran terhadap slash sementara API- nya ketat; yang satu menimbulkan duplikasi SEO, sedangkan yang lain memicu 404 di aplikasi.

Pilih satu format dan terapkan—pengalihan dahulu, canonical sebagai cadangan

Jawaban jujur untuk “slash atau tanpa slash?” adalah bahwa pilihan formatnya tidak penting. Menggunakan trailing slash atau tidak lebih merupakan preferensi pribadi. Perwakilan Google telah lama menyarankan hal yang sama: gunakan satu versi URL secara konsisten—tautkan ke versi itu, alihkan ke sana, pakai di sitemap, dan tetapkan sebagai URL canonical. “Konsisten” adalah kata kuncinya. Semua sinyal kanonisasi harus selaras:

  • Semua tautan internal memakai format pilihan.
  • Sitemap hanya mencantumkan versi pilihan.
  • Tag canonical menunjuk ke versi pilihan.
  • Pengalihan mengirim versi lainnya ke versi pilihan.

Untuk sinyal yang paling kuat, pengalihan jauh lebih kuat daripada tag canonical saja. Trailing slash hanya satu dari banyak sinyal kanonisasi yang dipertimbangkan Google. Gary Illyes pernah menyebut lebih dari dua puluh, dan pada 2025 Google membicarakan sekitar empat puluh; daftar lengkapnya saya bahas dalam panduan kanonisasi. Illyes menyatakan, “301 redirect, or any sort of redirect actually, should be much higher weight when it comes to canonicalization than whether the page is on an http URL or https.” (terjemahan) “Pengalihan 301, atau pengalihan jenis apa pun, seharusnya memiliki bobot jauh lebih tinggi dalam kanonisasi daripada apakah halaman berada di URL HTTP atau HTTPS.” Google juga menegaskan bahwa canonical adalah petunjuk, bukan aturan dan “may choose a different page as canonical than you do.” (terjemahan) “dapat memilih halaman canonical yang berbeda dari pilihan Anda.” Jadi, gunakan pengalihan bila bisa; gunakan canonical hanya jika pengalihan benar-benar tidak memungkinkan, misalnya pada hosting bersama tanpa akses konfigurasi server, CDN/edge tanpa dukungan rewrite, atau sistem lama yang harus mempertahankan kedua versi.

Menerapkannya dalam konfigurasi server

Detail implementasi terpenting—dan yang paling sering salah pada cuplikan siap salin— adalah aturan harus mengenali file dan direktori. Aturan tidak boleh menghapus slash dari direktori nyata atau menambahkannya ke file nyata. Aturan Apache saya menggunakan guard !-d (bukan direktori) dan !-f (bukan file); versi Nginx dan IIS menerapkan logika yang sama. Cuplikan lengkap untuk kedua arah pada ketiga server tersedia di tab Skrip.

Detail lain yang mudah terlewat: aturan “hapus trailing slash” harus mengecualikan root. Permintaan beranda adalah permintaan untuk /. Jika slash dihapus dengan pola naif ^(.*)/$, aturan mencocokkan hasilnya sendiri dan mengalihkan / ke /. Itu adalah 301 ke URL yang sama dan, tergantung server serta klien, dapat membentuk loop. Karena root merupakan satu-satunya tempat slash tidak berpengaruh, kecualikan secara eksplisit. Mesin apa pun yang digunakan juga harus meneruskan string kueri asli tanpa perubahan; jangan hilangkan ?utm_source=... atau parameter serupa saat mengalihkan slash.

  • Apache.htaccess dengan mod_rewrite, menggunakan guard !-d / !-f.
  • Nginx — aturan rewrite ... permanent (atau return 301), dengan try_files untuk menangani file dan direktori nyata.
  • IIS — modul URL Rewrite, dinyatakan sebagai blok <rule> di web.config.

Apa pun servernya, tangani seluruh keputusan dalam satu aturan agar tidak menumpuk beberapa hop pengalihan. Masalah ini dibahas lagi pada bagian jebakan umum.

Default CMS dan platform

Kebanyakan orang tidak pernah menyentuh konfigurasi server karena platform sudah memilih format. Anda hanya perlu mengetahui pilihannya lalu menstandarkan seluruh sinyal padanya.

  • WordPress secara default menambahkan trailing slash pada struktur permalink “Post name”. Pengaturannya berada di Settings > Permalinks. Seperti yang saya tulis, /%postname%/ would add the trailing slash to URLs /%postname% would remove the trailing slash from URLs.” (terjemahan) “Struktur pertama menambahkan trailing slash pada URL, sedangkan struktur kedua menghapusnya.” Mengubah struktur khusus berlaku surut pada seluruh situs. Itu adalah perubahan URL dengan semua risiko yang menyertainya.
  • Platform lain berbeda-beda. Shopify, Squarespace, Wix, dan generator situs statis memiliki default serta kemampuan perubahan masing-masing, yang kadang terbatas. Jangan berasumsi; periksa platform Anda, lalu selaraskan tautan internal, canonical, dan sitemap dengan URL yang benar-benar dihasilkannya.

Jebakan umum

Beberapa pola kegagalan yang sering muncul bersama ketidakkonsistenan trailing slash:

  • Jebakan canonical yang merujuk diri sendiri. Nasihat “setiap halaman harus memiliki canonical yang merujuk dirinya” menjadi masalah ketika pengembang membuat kedua versi, berslash dan tanpa slash, masing-masing menunjuk dirinya sendiri. Dua halaman sama-sama menyatakan “sayalah canonical” sehingga tidak ada konsolidasi. Salah satunya harus dialihkan atau dikanoniskan ke yang lain.
  • Garis miring ganda (//). Aturan yang menambahkan slash tanpa memeriksa slash yang sudah ada dapat menghasilkan example.com//page/. Menurut RFC 3986, ini sah secara teknis. Illyes berkata, “From a puritan perspective, that’s not an issue… the forward slash is a separator and is OK to appear in the URL path as many times as you like.” (terjemahan) “Dari sudut pandang puritan, itu bukan masalah; slash adalah pemisah dan boleh muncul di path URL sebanyak yang Anda mau.” Namun, ia langsung menambahkan, “From a usability perspective it’s probably not the greatest idea, and it may also confuse some crawlers.” (terjemahan) “Dari sisi kegunaan, itu mungkin bukan ide terbaik dan juga dapat membingungkan sejumlah crawler.” Hindari garis miring ganda.
  • Rantai pengalihan. Pengalihan slash sering menumpuk dengan HTTP→HTTPS, non-www→www atau sebaliknya, serta normalisasi huruf besar-kecil. Satu permintaan dapat melewati tiga atau empat 301. Setiap hop mengurangi efisiensi crawl dan menambah latensi. Jika konfigurasi server memungkinkan, selesaikan protokol, host, slash, dan kapitalisasi dalam satu pengalihan. Perbarui pula tautan internal agar langsung menuju URL akhir.
  • Perbedaan ketegasan mesin pencari. Pengujian independen menemukan bahwa Bing cenderung merayapi dan mengindeks satu versi dari pasangan slash/tanpa slash, sedangkan Google merayapi keduanya lalu menyaring satu. Anggap ini alasan untuk menjaga kerapian, bukan aturan resmi Bing.

Beberapa mitos yang perlu dihentikan

  • “Ada format slash yang paling benar untuk SEO.” Tidak ada, kecuali pada root yang memang tidak membedakan apa pun. Konsistensi lebih penting daripada pilihan.
  • “Trailing slash selalu berarti direktori saat ini.” Itu makna historis. Kebanyakan URL sekarang adalah rekaman basis data, meski server masih dapat dikonfigurasi seperti dahulu—itulah sebabnya path file masih bermasalah jika diberi slash.
  • “Ketidakkonsistenan otomatis membagi peringkat atau ekuitas tautan menjadi dua.” Klaim itu tidak bersumber. Yang akurat: URL duplikat membagi sinyal ke dua alamat, bukan mengonsolidasikannya ke satu; ini efek nyata, tetapi bukan hukum 50/50.
  • “Tag canonical sudah cukup; pengalihan tidak diperlukan.” Canonical hanyalah petunjuk yang dapat diabaikan Google, sedangkan 301 jauh lebih kuat. Alihkan bila bisa.

Haruskah URL yang ada diubah? Biasanya tidak

Jika situs sudah bekerja dan Anda hanya ingin merapikannya, jawaban saya sama seperti untuk perubahan URL pada umumnya: “There’s always a risk with changes, so unless your setup is causing issues I wouldn’t try to force a change to your URLs.” (terjemahan) “Perubahan selalu membawa risiko; jika konfigurasi Anda tidak menimbulkan masalah, saya tidak akan memaksakan perubahan URL.” Mengubah format slash di seluruh situs adalah migrasi URL penuh: setiap URL menerima 301, tautan internal perlu diperbarui, dan selalu ada biaya pemrosesan ulang serta risiko pengalihan yang salah. Perubahan layak dilakukan bila ada masalah nyata—kedua versi terindeks dan memecah sinyal halaman, API ketat slash menolak permintaan pengguna, atau rantai pengalihan berantakan. Perubahan tidak layak hanya agar URL “terlihat benar”. Konfigurasikan situs baru secara konsisten sejak awal; biarkan situs yang berfungsi tetap bekerja.

Topik ini berdekatan dengan artikel lain dalam klaster struktur situs: struktur URL sebagai induknya, kanonisasi sebagai mekanisme penyelesaian varian slash duplikat, arsitektur situs, dan struktur situs. Tautan antartopik akan terbentuk otomatis.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.