URL Slug Generator

Gawing malinis na URL slug ang anumang pamagat sa iyong browser — isahan man o maramihan. May mga tunay na pamantayan sa transliteration, mga rule na nae-edit, at walang kahit anong ina-upload sa server.

Ilagay ang teksto para sa conversion
Mga Advanced na Opsyon

Ang slug ay ang nababasang dulo ng isang web address — tulad ng my-first-post sa example.com/blog/my-first-post. Ito ang bahagi na pwedeng basahin ng isang tao bago magdesisyong i-click ito, at ang bahaging binabasa ng isang search engine bilang maikling paglalarawan ng kung ano ang nasa pahina, kaya't mas kailangan itong pag-isipan kaysa sa isang database id o petsa. Ginagawa ng libreng tagabuong ito ang anumang teksto bilang isang slug: i-paste ang isang pamagat sa "Tekstong iko-convert", pindutin ang "Bumuo ng resulta", at lalabas ang resulta na may katabing button ng pagkopya. Ang mga default ay ang mga setting na gusto ng karamihang site — "Lowercase", mga gitling sa pagitan ng mga salita, inalis ang mga karaniwang stop word, na-transliterate ang mga di-Latin na titik — kaya isang click na lang ay may magagamit ka nang slug, at ang bawat desisyong ito ay isang switch na pwede mong baguhin.

Lahat ng bagay ay nangyayari sa sarili mong device. Naglo-load ang pahina ng isang maliit na JavaScript engine at pinapagana ito nang lokal: ang iyong mga pamagat ay hindi kailanman ina-upload, hindi nalo-log, at patuloy na gumagana ang tool kahit na patay ang koneksyon mo sa internet. Ito rin ang dahilan kung bakit nag-a-update ang resulta sa sandaling baguhin mo ang isang setting. Mahalagang banggitin ang pagkakasunud-sunod ng trabaho, dahil ito ang nagpapangyari sa magiging resulta na madaling asahan: ang isang na-paste na link ay pinuputol muna sa huling bahagi nito, pagkatapos ay ginagawang lowercase ang teksto, pagkatapos ay inaalis ang mga stop word, ita-transliterate ang mga di-Latin na character, pagkatapos ay aalisin ang mga numero at espesyal na character kung hinihingi mo ito, pagkatapos ang anumang natira ay pagdudugtungin gamit ang iyong separator, puputulin ang resulta sa max na haba, at sa wakas ay makakakuha ng numeric na suffix ang anumang mauulit. Tumatanggap ang "Tekstong iko-convert" ng hanggang 500,000 character nang isahan, na katumbas ng ilang libong pamagat ng artikulo.

Isang linya papasok, isang slug palabas. Mag-paste ng buong listahan ng mga pamagat at ang bawat linya ay magiging sarili nitong may-numerong slug, kasama ang orihinal na pamagat na nakapakita sa itaas nito na kulay abo, kaya sa limampung batch, malalaman mo pa rin kung aling slug ang para sa aling pamagat. Ang isang listahang nasa file na ay hindi na kailangang dumaan sa clipboard: bubuksan ng "Mag-load mula sa file", ang button sa tabi ng input box, ang isang simpleng text file — .txt, .csv, .md, .json at iba pa — at ilalagay ang nilalaman nito sa field. Binabasa ng iyong browser ang file na iyon nang eksakto sa paraan ng pagbasa nito sa kung ano ang ita-type mo, at hindi ito ina-upload kahit saan. Pinagpapasyahan ng "Hatiin ang input ayon sa" kung paano hinahati ang listahan. "Awtomatikong pagtuklas" ang default: palaging naghihiwalay ang isang bagong linya sa mga item, habang pinaghihiwalay lang sila ng kuwit kapag ang input ay isang linya na ang lahat ng bahagi ay mukhang mga hiwalay na value — kaya ang "halagang 3,500 PHP" at "Kabanata 5: mga resulta, konklusyon" ay mananatiling buo sa halip na mahati-hati sa mga piraso. Pipilitin ng "Bagong linya", "Kuwit", at "Espasyo" ang pagpili kung alam mo na ang hugis ng iyong data. Nagdedesisyon ang "Format ng resulta" kung paano ibabalik ang batch kapag kinuha mo ito — isa kada linya, "Pinaghihiwalay ng espasyo", o "Pinaghihiwalay ng kuwit" — at sinusunod ito pareho ng "Kopyahin Lahat" at "I-save sa file". Pinapanatili ng "Kasaysayan" ang iyong huling 10 batch sa sarili mong browser, kaya naroon pa rin ang listahan na na-convert mo isang oras na ang nakalipas.

Ang di-Latin na teksto ay ang bahagi na nakukuha ng karamihan sa mga tagabuo ng slug nang halos tama pero iilan lang ang nakakakuha nang eksakto. Pinakaligtas ang isang URL sa simpleng ASCII, kaya kailangang ma-convert ang mga titik na Cyrillic, Greek, Arabic, Chinese, at European na may accent, at ang nag-iisang tunay na tanong ay kung kaninong rule ang gagamitin. Sinasagot ito ng pahinang ito sa dalawang layer. Sinasaklaw ng pangkalahatang layer ang bawat script: isang transliteration library na may makatuwirang ASCII na sagot para sa halos anumang character na pwede mong i-type, na siyang ibig sabihin ng "I-transliterate mula sa" kapag sinabi nitong "Awtomatiko (anumang wika)". Ang partikular na layer ay isang set ng mga manual na ginawang talahanayan para sa mga wika kung saan ang pangkalahatang sagot ay hindi ang mismong ginagamit ng bansa; pinapangalanan ng menu na "I-transliterate mula sa" ang mga may talahanayan ngayon, at lumalaki ang set habang umaabot ang tool sa mas maraming wika na nangangailangan nito. Ang pagpili ng isa ay maglo-load ng talahanayan nito sa isang nae-edit na grid sa ilalim ng "Mga Rule sa Transliteration", kung saan ang bawat titik ay isang text field na pwede mong baguhin, at ibinabalik ito sa dati ng "I-reset ang mga rule sa default". Sinusunod ng talahanayan sa Ukrainian ang Resolution No. 55 ng 2010 ng Gabinete ng mga Ministro, ang pamantayang nakalimbag sa mga pasaporte ng Ukrainian, kasama ang mga detalyeng madaling makaligtaan: ang зг ay nagiging zgh sa halip na zh kaya nananatili itong naiiba sa ж; ang є, ї, й, ю at я ay kumukuha ng isang anyo sa simula ng isang salita at iba naman kapag nasa loob nito; at ang apostrophe at soft sign ay inaalis nang hindi nagsisimula ng bagong salita, kaya ang Знам'янка ay lalabas bilang znamianka at hindi znamyanka. Default ng German sa pinalawak na ä → ae, ö → oe, ü → ue na ginagamit talaga ng mga address sa German, na may simpleng ä → a na variant kung mas gusto mo ito.

Naka-on ang "Alisin ang mga stop word" bilang default. Inaalis nito ang mga maliliit na salitang pang-ugnay — a, the, and, of, for — na nagpapahaba ng slug nang walang idinadagdag na kahulugan. Ang listahan sa ilalim ng "Mga stop word" ay ganap na nae-edit at darating na may nakasulat na: isang English na listahan at isang listahan para sa wika ng pahinang ginagamit mo, kaya alam ng pahinang Ukrainian ang в, на, та at і, at alam ng pahinang German ang der, die at das. Magdagdag ng mga sarili mong salita, tanggalin ang mga gusto mong panatilihin, o i-off nang tuluyan ang feature, kung saan magiging kulay abo ang field sa halip na magkunwaring mahalaga pa. Dalawang tapat na tala tungkol dito. Ang pagtanggal ng mga stop word ay isang maliit na pagpapaayos lamang kaysa sa isang paraan para tumaas ang ranking — makakakuha ka ng mas maikli at mas malinis na address, hindi mas magandang posisyon. At kung ang bawat salita sa isang pamagat ay mapapabilang sa listahan, ang tapat na resulta ay wala talaga, kaya sasabihin iyon sa iyo ng tool sa halip na bigyan ka ng isang walang laman na kahon.

Ang natitirang mga switch ang magpapasya sa hugis. Ang "Separator sa slug" ang pipili kung ano ang ilalagay sa pagitan ng mga salita, at ang default na gitling ay hindi tungkol sa panlasa: binabasa ng Google ang gitling bilang separator ng salita at ang underscore bilang pangdugtong, kaya ang my_first_post ay aabot sa isang crawler bilang isang mahabang salita habang ang my-first-post ay aabot bilang tatlo. Nariyan ang "Underscore (_)" para sa mga system na nagpipilit na gamitin iyon. Naka-on ang "Lowercase" dahil tinatrato ng karamihan sa mga server ang mga address bilang case-sensitive, at ang halong malaki at maliit na titik ay madaling paraan upang magkaroon ng dalawang URL para sa iisang pahina. Aalisin ng "Alisin ang mga espesyal na character" ang lahat maliban sa titik, numero, espasyo, gitling o underscore, kaya naiiwasang mailagay ang mga bantas, quotation mark at emoji sa isang address — partikular na inaalis ang mga emoji bago ang transliteration para hindi maging salitang rocket ang emoji ng rocket. Naka-off ang "Alisin ang mga numero", dahil ang numero sa pamagat ay karaniwang bahagi ng pamagat. Ang "Max na Haba" ay tumatakbo mula 10 hanggang 200 at ang default nito ay 80; kapag ang isang slug ay mas mahaba doon, puputulin ito ng engine sa huling buong salita na magkakasya kaysa sa gitna ng isang salita. Ang numero sa tabi ng bawat resulta ay ang haba nito sa mga character, at nagiging pula ito kapag lumampas sa 60 — hindi ito isang mahigpit na limitasyon, ngunit ito ang punto kung saan nagsisimulang maputol ang slug sa mga resulta ng paghahanap at nagiging mahirap itong i-paste sa isang mensahe.

May dalawa pang switch dahil binabago ng mga ito ang isang maramihang conversion pabalik sa isang isahang click na trabaho. Sinasalo ng "Gawing natatangi ang mga slug" ang sitwasyon kung saan dalawang magkaibang pamagat ay bumabagsak sa parehong slug — ang "Nangungunang 10 tips" at "Nangungunang-10 tips" ay parehong nagiging nangungunang-10-tips — at binibigyan nito ang pangalawa ng -2, ang pangatlo ng -3, pinapaikli muna ang pinakasalita kung lalampas ang suffix sa max na haba mo. Ang dalawang pahina sa iisang address ay isang problema na mas murang saluhin sa listahang ito kaysa sa iyong CMS. Gumagana naman sa kabilang direksyon ang "Kuhain ang slug mula sa na-paste na URL": i-paste ang isang buong link at kukunin ng tool ang huling bahagi ng path, iaalis ang query string at anumang .html o .php na dulo, at ide-decode ang percent-encoding, kaya ang isang Wikipedia link na nagtatapos sa %D0%9B%D1%8C%D0%B2%D1%96%D0%B2 ay babalik bilang lviv sa halip na mga hex digit. Gagana lang ito kapag ang buong linya ay isang link, kaya ang isang address na naka-quote sa loob ng isang pangungusap ay maiiwan kung nasaan ito.

Bakit dapat piliin ang slug generator na ito?

Kailangan ng mga slug saanman ang isang pahina ay dapat magdala ng mababasang address. Ginagawang slug ng isang blog o news site ang bawat headline, at iyon ang layunin kung bakit ginawa ang tool na ito: i-paste ang mga headline sa buong linggo, kunin ang mga URL para sa buong linggo. Ganoon din ang ginagawa ng online shop para sa mga pangalan ng produkto at kategorya, kadalasan ay nang maramihan pagkatapos ng isang import, at kadalasan ay sa isang wika kung saan hindi kasya sa address ang alpabeto nito. Ganito rin ang paraan ng pagbuo ng mga anchor at pangalan ng file ng mga documentation at knowledge base. Bukod pa sa mga web address, iisang malinis na string ang kailangan mo para sa isang pangalan ng file na hindi masisira sa ibang operating system, database key na pwedeng basahin ng isang tao sa log, branch name, pangalan ng larawan sa media library, o ang identifier ng isang bahagi sa isang static site generator. Saanman kailangang maka-survive ng isang pangalang pwedeng basahin ng tao para mailagay sa isang field na binabasa ng makina, iyon ay ang lugar para sa slug.

May ilang limitasyon na dapat mong malaman bago mo ito asahan. Isa itong tagabuo, hindi validator: hindi nito iche-check kung ginagamit na ang slug sa iyong site, dahil wala itong ideya kung ano ang nilalaman ng site mo — ang pagiging natatangi na tinitiyak nito ay sa loob lang ng batch na nasa harap mo. Trabaho mo rin ang mga redirect; ang pagpapalit ng slug ng naka-publish na pahina ay sumisira sa lumang address nito, at desisyon iyon para sa iyong CMS at hindi para sa tool na ito. Nagsusulat ng simpleng text ang "I-save sa file", hindi CSV o JSON. Ang awtomatikong paghahati ay gumagawa ng desisyon tungkol sa mga kuwit na tama sa halos lahat ng sitwasyon ngunit hindi sa lahat, kaya hinahayaan kang i-override iyon ng "Hatiin ang input ayon sa". At ang transliteration ay isang kaugalian sa halip na isang pagsasalin — ang München ay nagiging muenchen, hindi Munich — kaya kapag ang isang pahina ay may napagkasunduang pangalan sa target na wika, ang pangalang iyon ay isang mas magandang slug kaysa sa anumang awtomatikong conversion ng orihinal.

FAQ

Paano ako gagawa ng URL slug?

I-paste ang iyong pamagat sa "Tekstong iko-convert" at pindutin ang "Bumuo ng resulta". Lalabas ang resulta na may katabing button ng pagkopya, na-convert gamit ang mga default na gusto ng karamihang site: lowercase, mga gitling sa pagitan ng salita, inalis ang mga stop word at na-transliterate ang mga di-Latin na titik. Bawat isa rito ay isang switch na pwede mong baguhin, at hawak ng "Mga Advanced na Opsyon" ang iba pa — separator, max na haba, listahan ng stop word at mga rule sa transliteration.

Pwede ko bang i-convert ang isang buong listahan ng mga pamagat nang sabay-sabay?

Oo. Mag-paste ng hanggang 500,000 character — ilang libong headline — o direktang kunin ang mga ito mula sa isang file gamit ang "Mag-load mula sa file", ang button sa tabi ng input box, na nagbabasa nito sa iyong browser nang hindi ina-upload. Ang bawat linya ay magiging sarili nitong slug, may numero, at ipinapakita ang orihinal na pamagat sa itaas nito para maitugma mo ang mga ito. Kinokontrol ng "Hatiin ang input ayon sa" kung paano nahahati ang listahan, pinagpapasyahan ng "Format ng resulta" kung ang batch ay babalik bilang mga linya, "Pinaghihiwalay ng espasyo" o "Pinaghihiwalay ng kuwit", at parehong kinukuha ng "Kopyahin Lahat" at "I-save sa file" ang lahat nang minsan.

Paano hinahawakan ng tagabuo ang mga titik na Cyrillic at may accent?

Tinu-transliterate nito ang mga iyon sa ASCII, sa dalawang layer. Anumang script — Cyrillic, Greek, Arabic, Chinese, accented Latin — ay sakop ng pangkalahatang transliteration library, na ginagamit ng "Awtomatiko (anumang wika)". Sa itaas niyan, makikita ang mga manual na talahanayan para sa mga wika kung saan ang pangkalahatang sagot ay hindi ginagamit sa mismong mga bansa nila; pinapangalanan ng menu na "I-transliterate mula sa" ang mga may talahanayan ngayon. Pumili ng isa at maglo-load ang talahanayan nito, kung saan ang bawat titik ay nae-edit. Sinusuportahan na ng pangkalahatang layer ang sariling mga titik ng wikang ito nang tama — ang Parañaque ay nagiging paranaque at ang Maynila ay nagiging maynila.

Aling pamantayan sa transliteration ang ginagamit para sa Ukrainian?

Resolution No. 55 ng Gabinete ng mga Ministro noong Enero 27, 2010 — ang pamantayang ginagamit sa mga pasaporte sa Ukrainian. Kasama rito ang mga bahaging madaling magkamali: ang зг ay nagiging zgh kaya naiiba pa rin ito sa ж, ang mga titik na є, ї, й, ю at я ay may isang anyo sa simula ng salita at iba naman kapag nasa gitna, at ang apostrophe at soft sign ay inalis nang hindi nagsisimula ng bagong salita, kaya ang Знам'янка ay nagiging znamianka sa halip na znamyanka. Available ang pangalawang variant na may ya, yu at yi saanman kung mas gusto mo ang mas simpleng hitsura.

Pwede ko bang baguhin kung paano itu-transliterate ang isang partikular na titik?

Oo. Buksan ang "Mga Rule sa Transliteration" at ang bawat titik ng talahanayan ay isang text field: i-type kung ano ang gusto mong maging kapalit ng titik na iyon, at mag-a-update ang resulta habang nagta-type ka. Ang pagtanggal ng laman sa isang field ay ganap na aalisin ang titik. Tatandaan ang iyong mga pag-edit sa sarili mong browser para sa susunod na pagkakataon, at ibinabalik ng "I-reset ang mga rule sa default" ang karaniwang talahanayan sa tuwing gusto mo itong ibalik.

Ano ang mga stop word at dapat ko bang alisin ang mga ito?

Ito ang mga maliliit na salitang pang-ugnay — a, the, and, of, for — na nagpapahaba ng slug nang walang nililinaw dito. Ang pag-aalis sa mga ito ay naka-on bilang default at ang listahan sa ilalim ng "Mga stop word" ay nae-edit, na darating na may laman ng isang listahan sa English kasama ng isa para sa wika ng pahinang ginagamit mo. Maging tapat tayo tungkol sa benepisyo: nagbibigay ito ng mas maikli at mas maayos na address, ngunit hindi isang mas magandang posisyon sa paghahanap. Kung ang isang pamagat ay binubuo nang buo ng mga stop word, sasabihin ito ng tool sa halip na ibalik sa iyo ang isang walang lamang slug.

Dapat ba akong gumamit ng gitling o underscore sa isang slug?

Gitling, maliban kung may isang bagay sa iyong system na nangangailangan ng iba. Tinatrato ng Google ang gitling bilang separator sa pagitan ng mga salita at ang underscore bilang isang character na nagdudugtong sa kanila, kaya ang my_first_post ay binabasa bilang isang mahabang salita habang ang my-first-post ay binabasa bilang tatlo. Naka-default ang tagabuo sa gitling dahil doon; nag-aalok ang "Separator sa slug" ng "Underscore (_)" para sa mga system na nangangailangan nito.

Gaano kahaba dapat ang isang URL slug?

Sapat ang ikli para mabasa sa isang sulyap — dinadala ng mga unang salita ang kahulugan at kadalasang bahagi na ng pangungusap ang natitira. Ang numero sa tabi ng bawat resulta ay ang haba nito sa mga character at nagiging pula kapag lumampas sa 60, kung saan karaniwang pinuputol ito ng mga resulta sa paghahanap at kung saan ito nagiging mahirap na i-paste sa isang mensahe. Ang "Max na Haba" ay naglalagay ng mahigpit na limitasyon mula 10 hanggang 200 character, at naka-default sa 80.

Pinuputol ba nito ang salita sa gitna kapag masyadong mahaba ang slug?

Hindi. Kapag lumampas ang isang slug sa max na haba, umaatras ang engine sa huling buong salita na magkakasya at puputulin ito roon, kaya ang isang pinutol na slug ay mababasa pa rin bilang mga salita at hindi mapuputol sa gitna ng pantig. Ganoon din kapag nagdagdag ng numeric na suffix sa umuulit na slug: iigsiin muna ang orihinal para igalang pa rin ng tapos na slug ang limitasyon mo.

Ano ang mangyayari kung dalawang pamagat ang magbibigay ng iisang slug?

Naka-on ang "Gawing natatangi ang mga slug" bilang default at hinahawakan nito: pananatilihin ng unang paglitaw ang simpleng slug, magkakaroon ng -2 ang pangalawa, magkakaroon ng -3 ang pangatlo, at patuloy. Sinasalo nito ang karaniwang sitwasyon kung saan nagiging pareho ang dalawang magkaibang pamagat — parehong nagiging nangungunang-10-tips ang Nangungunang 10 tips at Nangungunang-10 tips. Kung io-off ito, ibibigay sa iyo ang hilaw na resulta at nandoon pa rin ang mga kopya. Tandaan na tinitiyak lamang na natatangi ang slug sa loob ng batch na na-convert mo; hindi alam ng tool kung ano na ang mayroon sa iyong site.

Pwede ba akong mag-paste ng URL sa halip na pamagat?

Oo. Naka-on ang "Kuhain ang slug mula sa na-paste na URL" bilang default, at kapag ang buong linya ay isang link, kukunin ng tool ang huling bahagi ng path, iaalis ang query string at anumang dulo na .html o .php, at ide-decode ang percent-encoding — kaya ang Wikipedia address na nagtatapos sa %D0%9B%D1%8C%D0%B2%D1%96%D0%B2 ay bumabalik bilang lviv kaysa isang linya ng hex. Tumatakbo lang ito sa isang linyang buong link, kaya ang isang URL sa loob ng pangungusap ay itinuturing na karaniwang teksto.

Ipinapadala ba ang teksto ko sa server?

Hindi. Ang conversion ay nagaganap sa iyong browser bilang lokal na JavaScript. Walang ina-upload, walang nalo-log, at kapag na-load na ang pahina ay patuloy itong gagana nang nakapatay ang koneksyon. Mananatili sa makina mo ang mga hindi pa nai-publish na headline, internal na pangalan ng produkto, at trabaho ng kliyente, na isang praktikal na dahilan kung bakit mas mainam ang lokal na tool para sa gawaing ito.

Bakit nahati sa dalawang slug ang iisang pangungusap ko?

Dahil mayroon itong kuwit at nakatakda ang "Hatiin ang input ayon sa" sa "Awtomatikong pagtuklas". Tinuturing ng mode na iyon ang bagong linya bilang tiyak na tagapaghiwalay at ang kuwit bilang posibleng tagapaghiwalay, at naghihiwalay lang sa mga kuwit kung ang mga bahagi ng isang linya ay parang mga nakatayong value — tulad ng halagang 3,500 PHP o pangungusap na may tutuldok ay sadyang naiiwang buo. Kapag naghihiwalay pa rin ang pamagat at hindi naman dapat, itakda ang "Hatiin ang input ayon sa" sa "Bagong linya" at mapuputol lang ang input kung saan mo pinindot ang Enter.