Слаг — гэта чытэльны хвост вэб-адраса, напрыклад, my-first-post у example.com/blog/my-first-post. Гэта тая частка, якую чалавек бачыць перад тым як націснуць на спасылку, і якую пошукавік чытае як кароткае апісанне старонкі, таму ён варты большай увагі, чым id з базы ці дата. Гэты бясплатны генератар ператворыць любы тэкст у такі слаг: устаўце загаловак у поле Тэкст для канвертацыі, націсніце Згенераваць, і вынік з'явіцца разам з кнопкай для капіявання. Тыповыя налады падыходзяць большасці сайтаў — ніжні рэгістр, дэфісы паміж словамі, выдаленне дробных слоў і транслітарацыя нелацінскіх літар, таму гатовы слаг даступны ў адзін клік, а кожнае з гэтых правілаў можна лёгка змяніць.
Усё адбываецца на вашай уласнай прыладзе. Старонка загружае невялікі JavaScript-рухавічок і выконвае яго лакальна: вашы загалоўкі нікуды не адпраўляюцца, нідзе не захоўваюцца, а інструмент працягвае працаваць нават без інтэрнэту. Менавіта таму вынік абнаўляецца ў той самы момант, калі вы змяняеце налады. Варта ведаць парадак працы, бо ён робіць вынік прадказальным: устаўленая спасылка спачатку скарачаецца да яе апошняй часткі, затым тэкст пераводзіцца ў Ніжні рэгістр, пасля выдаляюцца Стоп-словы, нелацінскія сімвалы транслітаруюцца, чым кіруе галачка Транслітараваць, затым Выдаліць лічбы і Выдаліць спецсімвалы робяць сваю справу, калі вы іх уключылі, рэшткі злучае Раздзяляльнік, вынік абразаецца пад Макс. даўжыня, і нарэшце паўторы атрымліваюць лічбавыя суфіксы. Тэкст для канвертацыі прымае да 500 000 сімвалаў за адзін раз, а гэта некалькі тысяч артыкулаў.
Адзін радок на ўваходзе — адзін слаг на выхадзе. Калі вы ўставіце цэлы спіс загалоўкаў, кожны радок ператворыцца ў свой уласны нумараваны слаг, а арыгінальны тэкст будзе паказаны шэрым колерам над ім, таму нават у спісе з пяцідзесяці пунктаў вы не згубіцеся. Спіс, які ўжо знаходзіцца ў файле, не трэба капіяваць: кнопка Загрузіць з файла побач з полем уводу адкрые просты тэкставы файл — .txt, .csv, .md, .json і таму падобнае — і ўставіць яго змесціва. Ваш браўзер чытае гэты файл гэтак жа, як і тое, што вы набіраеце на клавіятуры, і ён нікуды не адпраўляецца. Як разбіваць вырашае, якім чынам спіс будзе падзелены. Аўтаматычна стаіць па змаўчанні: перанос радка заўсёды падзяляе элементы, а коска падзяляе іх толькі тады, калі ўвесь тэкст — гэта адзін радок, часткі якога падобныя на асобныя значэнні, таму "цана 3,5 EUR" і "Раздзел 5: вынікі, высновы" застаюцца цэлымі, а не разбіваюцца на кавалкі. Новы радок, Коска і Прабел дазваляюць выбраць дакладны спосаб, калі вы ўжо ведаеце фармат сваіх даных. Фармат выніку вызначае, як спіс вернецца пры капіяванні — па адным на радок, Праз прабел ці Праз коску — і абедзве кнопкі Капіяваць усё ды Захаваць у файл падпарадкоўваюцца гэтаму. Гісторыя захоўвае вашыя апошнія 10 спісаў прама ў вашым браўзеры, таму тое, што вы рабілі гадзіну таму, нікуды не знікне.
Нелацінскі тэкст — гэта тое, што большасць генератараў робіць прыблізна, а дакладна — амаль ніхто. Найбольш бяспечны URL складаецца са звычайнага ASCII, таму кірыліцу, грэцкую, арабскую, кітайскую мовы і літары з еўрапейскімі акцэнтамі трэба канвертаваць, і адзінае пытанне ў тым, паводле якіх правілаў. Гэтая старонка вырашае яго на двух узроўнях. Агульны ўзровень ахоплівае ўсе алфавіты: гэта бібліятэка транслітарацыі з адэкватнымі ASCII-адказамі для амаль любога сімвала, які вы можаце ўвесці, і яна спрацоўвае для ўсіх знакаў, якіх не пакрывае ніводная табліца. Спецыфічны ўзровень — гэта набор ручных табліц для моў, дзе агульны адказ не супадае з тым, што рэальна выкарыстоўваецца ў краіне, і беларуская — адна з такіх моў. Яе табліца загружаецца на гэтай старонцы адразу, а меню Варыянт транслітарацыі дае выбар з двух. Абодва варыянты пішуць г → h, і менавіта дзеля гэтага табліца зроблена: агульная бібліятэка давала г → g, гэта значыць рускае правіла на беларускім тэксце, і Гродна ператваралася ў grodna замест hrodna. Далей яны разыходзяцца. Нацыянальная, ASCII трымаецца афіцыйнай інструкцыі па транслітарацыі беларускіх назваў (2007, схваленая ААН) настолькі, наколькі яе можна перадаць чыстым ASCII: сама інструкцыя піша ŭ, ž, č, š, а ў адрасе такіх літар быць не можа. Яна дае ц → c, ё → jo, е → je, таму Віцебск становіцца viciebsk, а Наваполацк — navapolack. SEO-транслітарацыя разлічана на англамоўнае вока: ц → ts, ё → yo, я → ya, і той самы Наваполацк дае navapolatsk. Абраны варыянт трапляе ў рэдагуемую сетку пад загалоўкам Правілы транслітарацыі, дзе кожная літара — гэта тэкставае поле, якое можна змяніць, а кнопка Скінуць правілы вяртае ўсё назад. Табліцы іншых моў зроблены гэтак жа: украінская, напрыклад, ідзе паводле Пастановы Кабінета Міністраў № 55 ад 2010 года, стандарту з украінскіх пашпартоў, дзе зг становіцца zgh, каб адрознівацца ад ж, а Знам'янка ператвараецца ў znamianka, а не znamyanka.
Выдаліць стоп-словы ўключана па змаўчанні. Гэта прыбірае дробныя злучальныя словы, якія робяць слаг даўжэйшым, не дадаючы яму сэнсу. Спіс пад назвай Стоп-словы цалкам даступны для рэдагавання і пастаўляецца ўжо запоўненым: англійскі спіс плюс спіс для мовы старонкі, на якой вы знаходзіцеся. Дадавайце свае словы, выдаляйце тыя, што хочаце пакінуць, або ўвогуле выключыце гэтую функцыю, пасля чаго поле стане шэрым, а не будзе рабіць выгляд, што ўсё яшчэ працуе. Дзве шчырыя заўвагі пра гэта. Выдаленне стоп-слоў — гэта невялікі плюс да ахайнасці, а не рычаг для рэйтынгу, вы атрымліваеце больш кароткі, чысты адрас, а не лепшую пазіцыю ў пошуку. А калі кожнае слова ў загалоўку раптам апынецца ў гэтым спісе, сумленным вынікам будзе пустата, таму інструмент так і скажа, замест таго каб проста пакінуць вам пустое поле.
Астатнія перамыкачы вызначаюць форму. Раздзяляльнік выбірае тое, што стаіць паміж словамі, і Дэфіс (-) па змаўчанні — гэта не пытанне густу: Google успрымае дэфіс як раздзяляльнік слоў, а падкрэсліванне як сімвал злучэння, таму my_first_post дойдзе да пошукавага робата як адно доўгае слова, а my-first-post — як тры. Падкрэсліванне (_) тут для тых сістэм, якія гэтага патрабуюць. Ніжні рэгістр уключаны, таму што большасць сервераў адрозніваюць вялікія і малыя літары, і розны рэгістр — гэта самы просты спосаб атрымаць два розныя URL для адной старонкі. Выдаліць спецсімвалы прыбірае ўсё, што не з'яўляецца літарай, лічбай, прабелам, дэфісам або падкрэсліваннем, што трымае пунктуацыю, двукоссі і эмодзі далей ад адраса — эмодзі выдаляюцца перад транслітарацыяй менавіта для таго, каб ракета не ператварылася ў слова rocket. Выдаліць лічбы выключана, таму што лічба ў загалоўку звычайна з'яўляецца яго важнай часткай. Макс. даўжыня працуе ад 10 да 200 сімвалаў з тыповым значэннем 80; калі слаг даўжэйшы за гэта, рухавічок абрэжа яго па апошнім цэлым слове, якое ўмяшчаецца, а не пасярод яго. Лічба побач з кожным вынікам — гэта яго даўжыня ў сімвалах, яна чырванее пасля 60, што з'яўляецца не жорсткім лімітам, а той мяжой, калі слаг пачынае абразацца ў выніках пошуку і становіцца нязручным для капіявання.
Яшчэ дзве налады існуюць для таго, каб ператварыць масавую канвертацыю зноў у задачу на адзін клік. Унікальныя слагі апрацоўвае сітуацыю, калі два розныя загалоўкі зводзяцца да аднолькавага слага — "Топ 10 парад" і "Топ-10 парад" абодва стануць top-10-parad — і дае другому суфікс -2, а трэцяму -3, спачатку скарачаючы аснову, калі суфікс выйдзе за Макс. даўжыня. Дзве старонкі па адным адрасе — гэта праблема, якую значна танней выявіць у гэтым спісе, чым у вашай CMS. Слаг з устаўленай спасылкі працуе ў адваротным кірунку: устаўце поўную спасылку, і інструмент возьме апошнюю частку адраса, адкіне параметры запыту і любыя канчаткі кшталту .html ці .php, і расшыфруе percent-encoding, таму спасылка з Вікіпедыі, якая заканчваецца на %D0%9B%D1%8C%D0%B2%D1%96%D0%B2, вернецца як lviv замест набору шаснаццатковых лічбаў. Гэта спрацоўвае толькі тады, калі ўвесь радок з'яўляецца спасылкай, таму адрас, які цытуецца ўнутры сказа, застанецца як ёсць.
Чаму варта выбраць гэты генератар слагаў?
- Толькі ў браўзеры: вашыя загалоўкі нікуды не адпраўляюцца, а старонка працуе ў афлайне
- Масавая канвертацыя з буфера або тэкставага файла, з арыгінальным загалоўкам над кожным слагам
- Сапраўдныя стандарты транслітарацыі для моў, а не адна агульная табліца для ўсіх
- Беларуская паводле афіцыйнай інструкцыі 2007 года, прыведзенай да ASCII
- Кожнае правіла можна змяняць літара за літарай, з магчымасцю хуткага скіду
- Аўтаматычныя суфіксы -2 і -3, каб ніякія два слагі ў спісе не супадалі
- Устаўце спасылку і атрымайце з яе слаг з расшыфраваным percent-encoding
- Рэдагуемы спіс стоп-слоў, які ўжо запоўнены для вашай мовы
- Бяспечнае абразанне па цэлым слове з лічыльнікам сімвалаў каля кожнага выніку
- Бясплатна і без лімітаў: ніякіх рэгістрацый, абмежаванняў і захавання даных на нашых серверах
Слагі патрэбныя ўсюды, дзе старонка павінна мець чытэльны адрас. Блог ці навінавы сайт ператварае ў іх кожны загаловак, і менавіта пад такі выпадак быў створаны гэты інструмент: устаўце загалоўкі за тыдзень, атрымайце URL за тыдзень. Інтэрнэт-крама робіць тое ж самае для назваў тавараў і катэгорый, звычайна масава пасля імпарту, і часцей за ўсё на мове, чый алфавіт адрас не можа ўтрымліваць. Дакументацыя і базы ведаў будуюць якары і назвы файлаў такім жа чынам. Акрамя вэб-адрасоў, такі ж чысты радок — гэта тое, што вам трэба для назвы файла, якая не зламаецца на іншай аперацыйнай сістэме, для ключа ў базе даных, які чалавек зможа прачытаць у логах, назвы галінкі ў git, імя выявы ў медыятэцы або ідэнтыфікатара раздзела ў генератары статычных сайтаў. Любое месца, дзе чытэльная для чалавека назва павінна выжыць пасля змяшчэння ў машыннае поле, гэта месца, дзе павінен быць слаг.
Варта ведаць пра некалькі абмежаванняў, перш чым цалкам спадзявацца на яго. Гэта генератар, а не валідатар: ён не будзе правяраць, ці заняты ўжо слаг на вашым сайце, бо ён паняцця не мае, што ўтрымлівае ваш сайт — унікальнасць, якую ён гарантуе, працуе толькі ў межах спіса перад вамі. Рэдырэкты — гэта таксама ваша задача; змена слага апублікаванай старонкі ламае яе стары адрас, і рашэнне наконт гэтага павінна прымаць ваша CMS, а не гэты інструмент. Захаваць у файл стварае просты тэкст, а не CSV ці JSON. Аўтаматычнае разбіццё робіць выбар наконт косак, які правільны амаль ва ўсіх выпадках, але не ў кожным, і менавіта таму Як разбіваць дазваляе вам яго перавызначыць. І транслітарацыя — гэта дамоўленасць, а не пераклад (München становіцца muenchen, а не Munich), таму калі старонка мае ўстояную назву на мэтавай мове, гэтая назва будзе лепшым слагам, чым любая аўтаматычная канвертацыя арыгінала.