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?
- Hanya di browser: judul Anda tidak pernah diunggah, dan halamannya tetap berfungsi offline
- Konversi massal dari tempelan atau file teks, dengan judul sumber di atas setiap slug
- Standar transliterasi nyata per bahasa, bukan satu tabel generik untuk semuanya
- Bahasa Ukraina menurut Resolusi No. 55 tahun 2010 — ejaan yang digunakan di paspor
- Setiap aturan dapat diedit huruf demi huruf, dengan pengaturan ulang sekali klik
- Akhiran otomatis -2 dan -3 sehingga tidak ada dua slug dalam satu batch yang bertabrakan
- Tempel tautan dan dapatkan slug darinya, dengan percent-encoding didekode
- Daftar kata henti yang dapat diedit yang tiba dalam keadaan sudah terisi untuk bahasa Anda
- Pemotongan aman pada kata yang utuh, dengan jumlah karakter di samping setiap hasil
- Gratis dan tidak terbatas: tanpa pendaftaran, tanpa kuota, tidak ada yang disimpan di server kami
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.