Generator Slug URL

Ubah judul apa pun menjadi slug URL bersih di browser Anda — satu per satu atau sekaligus banyak. Standar transliterasi nyata untuk aksara Kiril dan aksen, aturan yang bisa diedit, tanpa ada data yang diunggah.

Masukkan teks untuk dikonversi
Opsi lanjutan

Slug adalah bagian yang dapat dibaca di akhir alamat web — my-first-post dalam example.com/blog/my-first-post. Ini adalah bagian yang dapat dibaca seseorang sebelum memutuskan untuk mengeklik, dan bagian yang dibaca mesin pencari sebagai deskripsi singkat tentang isi halaman, itulah sebabnya bagian ini pantas mendapat perhatian lebih daripada id basis data atau tanggal. Generator gratis ini mengubah teks apa pun menjadi slug: tempel judul ke "Teks untuk diubah", tekan "Hasilkan", dan hasilnya muncul dengan tombol salin di sampingnya. Pengaturan awalnya adalah pengaturan yang diinginkan sebagian besar situs — huruf kecil, tanda hubung di antara kata, kata pengisi umum dihilangkan, huruf non-Latin ditransliterasikan — sehingga slug yang dapat digunakan hanya berjarak satu klik, dan setiap keputusan tersebut adalah tombol yang dapat Anda ubah.

Semuanya terjadi di perangkat Anda sendiri. Halaman ini memuat mesin JavaScript kecil dan menjalankannya secara lokal: judul Anda tidak pernah diunggah, tidak pernah dicatat, dan alat ini terus bekerja dengan koneksi internet yang dimatikan. Itulah sebabnya hasilnya diperbarui pada saat Anda mengubah pengaturan. Urutan kerjanya perlu disebutkan, karena hal itulah yang membuat keluarannya dapat diprediksi: tautan yang ditempel direduksi ke segmen jalur terakhirnya terlebih dahulu, kemudian teks diubah menjadi huruf kecil, lalu kata henti dihapus, kemudian karakter non-Latin ditransliterasikan, lalu angka dan karakter khusus dihapus jika Anda memintanya, kemudian apa pun yang tersisa digabungkan dengan pemisah Anda, lalu hasilnya dipangkas hingga panjang maksimum, dan terakhir pengulangan mendapat akhiran numerik. "Teks untuk diubah" menerima hingga 500.000 karakter sekaligus, yang berarti beberapa ribu judul artikel.

Satu baris masuk, satu slug keluar. Tempel seluruh daftar judul dan setiap baris menjadi slug bernomornya sendiri, dengan judul asal yang ditampilkan di atasnya dalam warna abu-abu, sehingga dalam kumpulan lima puluh Anda masih dapat mengetahui slug mana milik judul yang mana. Daftar yang sudah ada dalam file tidak perlu melalui papan klip: "Muat dari file", tombol di samping kotak masukan, membuka file teks biasa — .txt, .csv, .md, .json dan sejenisnya — dan memasukkan isinya ke dalam bidang tersebut. Browser Anda membaca file itu persis seperti membaca apa yang Anda ketik, dan tidak diunggah ke mana pun. "Pisahkan masukan berdasarkan" menentukan bagaimana daftar dipotong. "Deteksi otomatis" adalah bawaannya: jeda baris selalu memisahkan item, sementara koma hanya memisahkannya jika masukannya adalah satu baris yang semua bagiannya tampak seperti nilai yang berdiri sendiri — jadi "harga Rp3,5 juta" dan "Bab 5: hasil, kesimpulan" tetap utuh alih-alih pecah menjadi beberapa bagian. "Baris baru", "Koma" dan "Spasi" memaksa pilihan saat Anda sudah mengetahui bentuk data Anda. "Format keluaran" menentukan bagaimana hasil batch dikembalikan ketika Anda mengambilnya — satu per baris, "Dipisah spasi", atau "Dipisah koma" — dan baik "Salin Semua" maupun "Simpan ke file" mengikutinya. "Riwayat" menyimpan 10 batch terakhir Anda di browser Anda sendiri, jadi daftar yang Anda konversi satu jam yang lalu masih ada di sana.

Teks non-Latin adalah bagian yang dikerjakan dengan cukup baik oleh sebagian besar generator slug dan hanya sedikit yang mengerjakannya dengan tepat. URL paling aman dalam ASCII biasa, jadi huruf Cyrillic, Yunani, Arab, Cina, dan huruf beraksen Eropa harus dikonversi, dan satu-satunya pertanyaan nyata adalah berdasarkan aturan siapa. Halaman ini menjawabnya dalam dua lapisan. Lapisan umum mencakup setiap skrip: perpustakaan transliterasi dengan jawaban ASCII yang masuk akal untuk hampir setiap karakter yang dapat Anda ketik, yang mana arti dari "Transliterasikan dari" saat bertuliskan "Otomatis (bahasa apa pun)". Lapisan khusus adalah seperangkat tabel yang dibuat khusus untuk bahasa-bahasa di mana jawaban generiknya bukanlah yang sebenarnya digunakan negara tersebut; menu "Transliterasikan dari" menyebutkan bahasa-bahasa yang memiliki tabel saat ini, dan kumpulannya bertambah saat alat ini mencapai lebih banyak bahasa yang membutuhkannya. Memilih salah satunya akan memuat tabelnya ke dalam kisi yang dapat diedit di bawah "Aturan Transliterasi", di mana setiap huruf adalah bidang teks yang dapat Anda ubah, dan "Kembalikan aturan ke awal" akan mengembalikannya seperti semula. Tabel bahasa Ukraina mengikuti Resolusi Kabinet Menteri No. 55 tahun 2010, standar yang dicetak di paspor Ukraina, termasuk detail yang mudah terlewatkan: зг menjadi zgh alih-alih zh sehingga tetap berbeda dari ж; є, ї, й, ю dan я mengambil satu bentuk di awal kata dan bentuk lain di dalamnya; dan tanda kutip tunggal serta tanda lunak dihilangkan tanpa memulai kata baru, jadi Знам'янка keluar sebagai znamianka dan bukan znamyanka. Bahasa Jerman menggunakan bawaan versi yang diperluas ä → ae, ö → oe, ü → ue yang benar-benar digunakan oleh alamat bahasa Jerman, dengan varian ä → a biasa jika Anda lebih menyukainya.

"Hapus kata henti" aktif secara bawaan. Ini menghilangkan kata penghubung kecil — yang, di, ke, dan, dari — yang memperpanjang slug tanpa menambahkan makna padanya. Daftar di bawah "Kata henti" sepenuhnya dapat diedit dan tiba dalam keadaan sudah terisi: daftar bahasa Inggris plus daftar untuk bahasa dari halaman tempat Anda berada, jadi halaman bahasa Indonesia mengetahui yang, dan, di serta ke. Tambahkan kata-kata Anda sendiri, hapus kata-kata yang ingin Anda pertahankan, atau matikan fitur tersebut sepenuhnya, di mana bidang tersebut akan berubah warna menjadi abu-abu alih-alih berpura-pura masih penting. Dua catatan jujur tentang hal itu. Menghapus kata henti adalah keuntungan kecil dalam kerapian daripada pengungkit peringkat pencarian — Anda mendapatkan alamat yang lebih pendek dan lebih bersih, bukan posisi yang lebih baik. Dan jika setiap kata dalam judul kebetulan ada dalam daftar, hasil jujurnya tidak ada sama sekali, jadi alat ini memberi tahu Anda bahwa alih-alih memberi Anda kotak kosong.

Sisa tombol lainnya menentukan bentuknya. "Pemisah di dalam slug" memilih apa yang berada di antara kata, dan bawaan tanda hubung bukanlah masalah selera: Google membaca tanda hubung sebagai pemisah kata dan garis bawah sebagai penyambung, jadi my_first_post mencapai perayap web sebagai satu kata panjang sementara my-first-post mencapainya sebagai tiga kata. "Garis bawah (_)" ada untuk sistem yang bersikeras menggunakannya. "Huruf kecil" aktif karena sebagian besar server memperlakukan alamat sebagai peka huruf besar-kecil, dan huruf campuran adalah cara mudah untuk berakhir dengan dua URL untuk satu halaman. "Hapus karakter khusus" menanggalkan segala sesuatu yang bukan huruf, digit, spasi, tanda hubung atau garis bawah, yang mana ini mencegah tanda baca, tanda kutip dan emoji masuk ke dalam alamat — emoji dihapus sebelum transliterasi secara spesifik sehingga roket tidak menjadi kata rocket. "Hapus angka" dimatikan, karena angka dalam judul biasanya merupakan bagian dari judul. "Panjang Maksimum" berjalan dari 10 hingga 200 dan standarnya 80; ketika slug lebih panjang dari itu, mesin memotong pada kata utuh terakhir yang pas alih-alih memotong di tengah-tengahnya. Angka di samping setiap hasil adalah panjangnya dalam karakter, dan berubah menjadi merah setelah melewati 60 — bukan batasan keras, melainkan titik di mana slug mulai terpotong di hasil pencarian dan menjadi canggung untuk ditempel ke dalam pesan.

Dua tombol lagi ada karena tombol tersebut mengubah konversi massal kembali menjadi pekerjaan sekali klik. "Buat slug menjadi unik" menangkap kasus di mana dua judul berbeda menyusut menjadi slug yang sama — "Top 10 tips" dan "Top-10 tips" keduanya menjadi top-10-tips — dan memberikan yang kedua -2, yang ketiga -3, dengan memperpendek basisnya terlebih dahulu jika akhiran tersebut akan mendorongnya melewati panjang maksimum Anda. Dua halaman di satu alamat adalah masalah yang jauh lebih murah untuk ditangkap dalam daftar ini daripada di CMS Anda. "Ambil slug dari URL yang ditempel" bekerja ke arah yang berlawanan: tempel tautan lengkap dan alat mengambil bagian terakhir dari jalurnya, membuang query string dan akhiran .html atau .php apa pun, dan mendekode percent-encoding, jadi tautan Wikipedia yang berakhiran %D0%9B%D1%8C%D0%B2%D1%96%D0%B2 kembali sebagai lviv alih-alih rentetan digit heksadesimal. Ini hanya menyala ketika seluruh baris adalah tautan, jadi alamat yang dikutip di dalam sebuah kalimat dibiarkan di tempatnya.

Mengapa memilih generator slug ini?

Slug diperlukan di mana pun sebuah halaman harus memuat alamat yang dapat dibaca. Blog atau situs berita mengubah setiap berita utama menjadi slug, yang mana ini adalah kasus yang mendasari pembentukan alat ini: tempelkan berita utama minggu ini, dapatkan URL minggu ini. Toko online melakukan hal yang sama untuk nama produk dan kategori, biasanya secara massal setelah impor, dan biasanya dalam bahasa yang alfabetnya tidak dapat ditampung oleh alamat web. Dokumentasi dan basis pengetahuan membangun jangkar dan nama file dengan cara yang sama. Di luar alamat web, string bersih yang sama adalah yang Anda inginkan untuk nama file yang tidak akan rusak di sistem operasi lain, kunci basis data yang dapat dibaca seseorang dalam log, nama cabang, nama gambar di perpustakaan media, atau pengenal bagian di pembuat situs statis. Setiap tempat di mana nama yang dapat dibaca manusia harus bertahan saat dimasukkan ke dalam bidang yang dapat dibaca mesin adalah tempat di mana slug berada.

Beberapa batasan patut diketahui sebelum Anda mengandalkannya. Ini adalah generator, bukan validator: alat ini tidak akan memeriksa apakah slug sudah dipakai di situs Anda, karena alat ini tidak tahu apa isi situs Anda — keunikan yang dijaminnya ada di dalam batch di depan Anda. Pengalihan juga merupakan tugas Anda; mengubah slug dari halaman yang sudah diterbitkan merusak alamat lamanya, dan itu adalah keputusan untuk CMS Anda, bukan untuk alat ini. "Simpan ke file" menulis teks biasa, bukan CSV atau JSON. Pemisahan otomatis membuat penilaian tentang koma yang benar di hampir setiap kasus tetapi tidak di semuanya, itulah sebabnya "Pisahkan masukan berdasarkan" membiarkan Anda menimpanya. Dan transliterasi adalah konvensi alih-alih terjemahan — München menjadi muenchen, bukan Munich — jadi ketika halaman memiliki nama yang mapan dalam bahasa target, nama itu adalah slug yang lebih baik daripada konversi otomatis mana pun dari aslinya.

FAQ

Bagaimana cara membuat slug URL?

Tempel judul Anda ke "Teks untuk diubah" dan tekan "Hasilkan". Hasilnya muncul dengan tombol salin di sampingnya, dikonversi dengan pengaturan awal yang paling diinginkan oleh banyak situs: huruf kecil, tanda hubung di antara kata, kata pengisi dihapus dan huruf non-Latin ditransliterasikan. Masing-masing dari itu adalah tombol yang dapat Anda ubah, dan "Opsi lanjutan" menyimpan sisanya — pemisah, panjang maksimum, daftar kata henti, dan aturan transliterasi.

Dapatkah saya mengonversi seluruh daftar judul sekaligus?

Ya. Tempel hingga 500.000 karakter — beberapa ribu tajuk utama — atau tarik langsung dari file dengan "Muat dari file", tombol di samping kotak masukan, yang membacanya di browser Anda tanpa mengunggahnya. Setiap baris menjadi slug-nya sendiri, diberi nomor, dengan judul asalnya ditampilkan di atasnya sehingga Anda dapat mencocokkannya. "Pisahkan masukan berdasarkan" mengontrol bagaimana daftar dibagi, "Format keluaran" menentukan apakah batch tersebut kembali sebagai baris, dipisah spasi, atau dipisah koma, dan "Salin Semua" serta "Simpan ke file" keduanya mengambil seluruh hasilnya sekaligus.

Bagaimana generator menangani huruf Kiril dan beraksen?

Ia mentransliterasikannya ke dalam ASCII, dalam dua lapisan. Skrip apa pun sama sekali — Cyrillic, Yunani, Arab, Cina, Latin beraksen — dicakup oleh pustaka transliterasi umum, yang mana digunakan oleh "Otomatis (bahasa apa pun)". Di atasnya terdapat tabel yang dibuat khusus untuk bahasa-bahasa di mana jawaban generiknya bukanlah yang sebenarnya digunakan negara tersebut; menu "Transliterasikan dari" menyebutkan bahasa-bahasa yang memiliki tabel saat ini. Pilih satu dan tabelnya akan dimuat, dengan setiap huruf dapat diedit. Bahasa Indonesia sudah menggunakan huruf Latin biasa tanpa aksen, sehingga tidak ada yang perlu diubah. Lapisan umum hanya mengubah huruf besar menjadi kecil dan spasi menjadi tanda hubung, yang mana tepat seperti apa yang dilakukan alamat web dalam bahasa ini — Yogyakarta menjadi yogyakarta dan nasi goreng menjadi nasi-goreng.

Standar transliterasi mana yang digunakan untuk bahasa Ukraina?

Resolusi Kabinet Menteri No. 55 tertanggal 27 Januari 2010 — standar yang digunakan di paspor Ukraina. Standar tersebut mencakup bagian-bagian yang mudah salah: зг menjadi zgh sehingga tetap berbeda dari ж, huruf є, ї, й, ю dan я mengambil satu bentuk di awal kata dan bentuk lain di dalamnya, serta tanda kutip tunggal dan tanda lunak dihilangkan tanpa memulai kata baru, jadi Знам'янка menjadi znamianka alih-alih znamyanka. Varian kedua dengan ya, yu dan yi di mana-mana tersedia jika Anda lebih menyukai tampilan yang lebih sederhana.

Dapatkah saya mengubah bagaimana huruf tertentu ditransliterasikan?

Ya. Buka "Aturan Transliterasi" dan setiap huruf dalam tabel adalah bidang teks: ketik apa pun yang Anda inginkan untuk huruf tersebut, dan hasilnya diperbarui saat Anda mengetik. Mengosongkan suatu bidang akan menghapus huruf tersebut sepenuhnya. Editan Anda diingat di browser Anda sendiri untuk waktu berikutnya, dan "Kembalikan aturan ke awal" memulihkan tabel standar kapan pun Anda menginginkannya kembali.

Apa itu kata henti dan haruskah saya menghapusnya?

Kata henti adalah kata penghubung kecil — yang, di, ke, dan, dari — yang membuat slug menjadi lebih panjang tanpa membuatnya lebih jelas. Menghapusnya menyala secara bawaan dan daftar di bawah "Kata henti" dapat diedit, tiba dalam keadaan sudah terisi sebelumnya dengan daftar bahasa Inggris plus satu untuk bahasa halaman tempat Anda berada. Bersikaplah jujur tentang manfaatnya: itu menghasilkan alamat yang lebih pendek dan lebih rapi, bukan posisi pencarian yang lebih baik. Jika sebuah judul seluruhnya terdiri dari kata henti, alat ini akan mengatakannya alih-alih mengembalikan slug yang kosong.

Haruskah saya menggunakan tanda hubung atau garis bawah dalam slug?

Tanda hubung, kecuali ada hal di tumpukan teknologi Anda yang mengharuskan sebaliknya. Google memperlakukan tanda hubung sebagai pemisah antar kata dan garis bawah sebagai karakter yang menyambungkannya, jadi my_first_post dibaca sebagai satu kata panjang sementara my-first-post dibaca sebagai tiga kata. Generator menggunakan standar tanda hubung untuk alasan tersebut; "Pemisah di dalam slug" menawarkan "Garis bawah (_)" untuk sistem yang membutuhkannya.

Berapa panjang seharusnya sebuah slug URL?

Cukup pendek untuk dibaca sekilas — beberapa kata pertama membawa makna dan sisanya biasanya adalah buntut dari sebuah kalimat. Angka di samping setiap hasil adalah panjangnya dalam karakter dan berubah menjadi merah setelah melewati 60, yang mana kira-kira di mana hasil pencarian mulai memotongnya dan di mana ia menjadi canggung untuk ditempel ke dalam pesan. "Panjang Maksimum" menetapkan batas atas yang keras dari 10 hingga 200 karakter, dan standarnya 80.

Apakah alat ini memotong kata menjadi dua saat slug terlalu panjang?

Tidak. Ketika sebuah slug melebihi panjang maksimum, mesin mundur ke kata utuh terakhir yang pas dan memotongnya di sana, sehingga slug yang terpotong masih terbaca sebagai kata-kata alih-alih berakhir di tengah suku kata. Hal yang sama berlaku ketika akhiran numerik ditambahkan ke pengulangan: basisnya diperpendek terlebih dahulu sehingga slug yang sudah selesai masih mematuhi batas Anda.

Apa yang terjadi jika dua judul menghasilkan slug yang sama?

"Buat slug menjadi unik" menyala secara bawaan dan menanganinya: kemunculan pertama menyimpan slug biasa, yang kedua mendapat -2, yang ketiga -3, dan seterusnya. Ini menangkap kasus umum di mana dua judul berbeda menyusut menjadi hal yang sama — Top 10 tips dan Top-10 tips keduanya menjadi top-10-tips. Mematikannya akan memberi Anda keluaran mentah dengan duplikat yang utuh. Perhatikan bahwa keunikan hanya dijamin dalam batch yang baru saja Anda konversi; alat ini tidak dapat mengetahui apa yang sudah ada di situs Anda.

Dapatkah saya menempelkan URL alih-alih judul?

Ya. "Ambil slug dari URL yang ditempel" aktif secara bawaan, dan ketika seluruh baris adalah tautan, alat akan menarik bagian terakhir dari jalurnya, membuang query string dan akhiran .html atau .php apa pun, dan mendekode percent-encoding — jadi alamat Wikipedia yang berakhiran %D0%9B%D1%8C%D0%B2%D1%96%D0%B2 kembali sebagai lviv alih-alih rentetan hex. Ini hanya memicu pada baris yang sepenuhnya merupakan tautan, jadi URL yang dikutip di dalam sebuah kalimat diperlakukan sebagai teks biasa.

Apakah teks saya dikirim ke server?

Tidak. Konversi berjalan di browser Anda sebagai JavaScript lokal. Tidak ada yang diunggah, tidak ada yang dicatat, dan setelah halaman dimuat, ia terus berfungsi dengan koneksi dimatikan. Judul yang belum diterbitkan, nama produk internal dan pekerjaan klien tetap berada di mesin Anda, yang merupakan alasan praktis untuk lebih memilih alat lokal daripada alat sisi server untuk pekerjaan spesifik ini.

Mengapa satu kalimat tunggal saya terbelah menjadi dua slug?

Karena berisi koma dan "Pisahkan masukan berdasarkan" disetel ke "Deteksi otomatis". Mode itu memperlakukan jeda baris sebagai pemisah pasti dan koma sebagai kemungkinan pemisah, dan mode itu hanya membelah pada koma ketika bagian baris tunggal semuanya terlihat seperti nilai yang berdiri sendiri — angka desimal seperti Rp3,5 juta atau kalimat dengan titik dua sengaja dibiarkan utuh. Jika judul masih terbelah dan tidak seharusnya demikian, setel "Pisahkan masukan berdasarkan" ke "Baris baru" dan masukan akan dipotong hanya di tempat Anda benar-benar menekan Enter.