Слаг — бұл веб-мекенжайдың оқылатын соңы, мысалы, example.com/blog/my-first-post ішіндегі my-first-post. Бұл адамның басу туралы шешім қабылдамас бұрын оқи алатын бөлігі, ал іздеу жүйелері оны беттің не туралы екенінің қысқаша сипаттамасы ретінде қабылдайды, сондықтан оған дерекқор идентификаторынан немесе күннен көбірек назар аудару қажет. Бұл тегін генератор кез келген мәтінді слагқа айналдырады: тақырыпты «Түрлендірілетін мәтін» өрісіне қойып, «Жасау» түймесін басыңыз, нәтиже жанында көшіру түймесімен бірге пайда болады. Әдепкі параметрлер көптеген сайттар қалайтын баптаулар болып табылады — кіші әріптер, сөздер арасындағы сызықшалар, жалпы тоқтау сөздерінің жойылуы, латын емес әріптердің транслитерациясы. Сондықтан жарамды слагты бір рет басу арқылы алуға болады, ал бұл шешімдердің әрқайсысы сіз өзгерте алатын ауыстырып-қосқыш болып табылады.
Барлығы сіздің жеке құрылғыңызда орындалады. Бет шағын JavaScript қозғалтқышын жүктеп, оны жергілікті түрде іске қосады: сіздің тақырыптарыңыз ешқашан жүктелмейді, ешқашан тіркелмейді және құрал байланыс өшірілген кезде де жұмысын жалғастырады. Параметрді өзгерткен сәтте нәтиженің жаңаруының себебі де осында. Жұмыс ретін білу маңызды, өйткені бұл нәтижені болжамды етеді: қойылған сілтеме алдымен оның соңғы жол сегментіне дейін қысқарады, содан кейін мәтін кіші әріптерге ауыстырылады, содан кейін тоқтау сөздері жойылады, содан кейін латын емес таңбалар транслитерацияланады, егер сұрасаңыз сандар мен арнайы таңбалар жойылады, одан кейін қалған нәрсе сіздің бөлгішіңізбен біріктіріледі, содан кейін нәтиже максималды ұзындыққа дейін кесіледі және соңында қайталанатын слагтар сандық жұрнаққа ие болады. «Түрлендірілетін мәтін» өрісі бір уақытта 500 000 таңбаға дейін қабылдайды, бұл бірнеше мың мақала тақырыбына тең.
Бір жол кіреді, бір слаг шығады. Тақырыптардың толық тізімін қойыңыз, әр жол өзінің нөмірленген слагына айналады, ал оның қайдан шыққаны сұр түспен жоғарыда көрсетіледі, сондықтан елу тақырыптан тұратын топтамада қай слаг қай тақырыпқа тиесілі екенін оңай айыра аласыз. Файлда бұрыннан бар тізімді алмасу буфері арқылы өткізудің қажеті жоқ: енгізу өрісінің жанындағы «Файлдан жүктеңіз» түймесі қарапайым мәтіндік файлды — .txt, .csv, .md, .json және т.б. — ашып, оның мазмұнын өріске тастайды. Браузеріңіз бұл файлды сіз тергендей оқиды және ол ешқайда жүктелмейді. «Мәтінді бөлу» тізімнің қалай бөлінетінін шешеді. Әдепкісі — «Автоматты»: жаңа жол элементтерді әрқашан бөледі, ал үтір оларды тек енгізудің бөліктері жеке мәндер сияқты көрінген жағдайда ғана бөледі. Сондықтан "бағасы 3,5 мың теңге" және "5-тарау: нәтижелер, қорытындылар" бөлшектерге бөлінудің орнына бүтін болып қалады. «Жаңа жол», «Үтір» және «Бос орын» деректеріңіздің пішінін бұрыннан білгенде таңдауды мәжбүрлейді. «Шығыс форматы» оны алған кезде топтаманың қалай қайтарылатынын шешеді — әрқайсысы бір жолда, бос орынмен немесе үтірмен бөлінген, ал «Барлығын көшіру» және «Файлға сақтау» екеуі де осыны орындайды. «Тарих» браузеріңізде соңғы 10 топтамаңызды сақтайды, сондықтан бір сағат бұрын түрлендірген тізіміңіз әлі де сонда болады.
Латын емес мәтінді көптеген слаг генераторлары шамамен дұрыс өңдейді, ал өте азы дәл дұрыс жасайды. URL қарапайым ASCII форматында ең қауіпсіз болып табылады, сондықтан кириллица, грек, араб, қытай және еуропалық акценттелген әріптер түрлендірілуі керек, ал басты сұрақ — кімнің ережесі бойынша. Бұл бет бұған екі деңгейде жауап береді. Жалпы деңгей әрбір жазу жүйесін қамтиды: сіз теретін кез келген дерлік таңбаға арналған ақылға қонымды ASCII жауабы бар транслитерация кітапханасы, және ол ешбір кестеге кірмеген таңбаларды өз мойнына алады. Нақты деңгей — бұл жалпы жауап сол елде іс жүзінде қолданылатын жауапқа сәйкес келмейтін тілдерге арналған қолмен жасалған кестелердің жиынтығы, ал қазақ тілі солардың бірі. Таңдайтын нұсқа жоқ: кесте осы бетте бірден жүктеледі. Жалпы деңгей қазақшаны негізінен дұрыс жазатын — қ → q, ө → o, ү → u, ә → a, ж → zh, дәл ресми атауларда қалай жазылса, солай. Бір әріп бұзылатын: ғ → gh. Содан Қарағанды Qaraghandy, Жезқазған Zhezqazghan болып шығатын, ал Маңғыстау мүлде Mangghystau — қатарынан үш g, өйткені ң → ng мен ғ → gh түйіседі. Кесте мұны түзейді: ғ → g, ал ңғ мен ңг жай ғана ng береді. Енді Қарағанды qaragandy, Жезқазған zhezqazgan, Маңғыстау mangystau, теңге tenge болады — ресми жазылуымен бірдей. Жүктелген кесте «Транслитерация ережелері» астындағы өңделетін торда тұрады, мұнда әрбір әріп сіз өзгерте алатын мәтін өрісі болып табылады, ал «Ережелерді әдепкіге қайтару» оны орнына қайтарады. Украин кестесі 2010 жылғы 55-ші Министрлер Кабинетінің қаулысына — украин төлқұжаттарында басылған стандартқа сәйкес келеді, соның ішінде жіберіп алуға оңай бөлшектер бар: ж әрпінен ерекшеленуі үшін зг zh емес, zgh болады; є, ї, й, ю және я сөздің басында бір түрде, ал ішінде басқа түрде болады; ал апостроф пен жұмсақ белгі жаңа сөзді бастамай-ақ түсіріледі, сондықтан Знам'янка znamyanka емес, znamianka болып шығады. Неміс тілі әдепкі бойынша неміс мекенжайларында қолданылатын ä → ae, ö → oe, ü → ue кеңейтілген пішініне негізделген, ал қаласаңыз қарапайым ä → a нұсқасын да таңдауға болады.
«Тоқтау сөздерін жою» әдепкі бойынша қосылған. Ол мағына қоспай слагты ұзартатын шағын байланыстырушы сөздерді — a, the, and, of, for — алып тастайды. «Тоқтау сөздері» астындағы тізім толығымен өңделеді және бұрыннан толтырылған күйде келеді: ағылшын тіліндегі тізімге қоса, сіз тұрған беттің тіліне арналған тізім беріледі, сондықтан украин беті в, на, та және і сөздерін, ал неміс беті der, die және das сөздерін біледі. Өзіңіздің сөздеріңізді қосыңыз, сақтағыңыз келетіндерін жойыңыз немесе мүмкіндікті толығымен өшіріңіз, бұл жағдайда өріс әлі де маңызды болып көрінудің орнына сұр түске боялады. Бұл туралы екі шынайы ескерту. Тоқтау сөздерін алып тастау — бұл рейтингті көтеру құралы емес, тек кішігірім жинақылықты арттыру — сіз жақсырақ позицияны емес, қысқарақ, тазарақ мекенжайды аласыз. Ал егер тақырыптағы әрбір сөз осы тізімде болса, шынайы нәтиже мүлдем ештеңе болмайды, сондықтан құрал сізге бос өріс берудің орнына осыны айтады.
Қалған ауыстырып-қосқыштар пішінді шешеді. «Слагтағы бөлгіш» сөздердің арасында не тұратынын таңдайды және әдепкі сызықша талғам мәселесі емес: Google сызықшаны сөз бөлгіш ретінде, ал астын сызуды біріктіруші ретінде оқиды, сондықтан my_first_post іздеушіге бір ұзын сөз ретінде, ал my-first-post үш сөз ретінде жетеді. Оны талап ететін жүйелер үшін «Астын сызу (_)» бар. «Кіші әріптермен» қосылған, себебі көптеген серверлер мекенжайларды регистрді ескере отырып өңдейді және аралас регистр бір бет үшін екі URL алудың оңай жолы болып табылады. «Арнайы таңбаларды жою» әріп, сан, бос орын, сызықша немесе астын сызу болып табылмайтын барлық нәрсені алып тастайды, бұл пунктуацияны, тырнақшаларды және эмодзилерді мекенжайдан аулақ ұстайды — ракета сөзі ракетаға айналмауы үшін эмодзилер транслитерациядан бұрын жойылады. «Сандарды жою» өшірулі, себебі тақырыптағы сан әдетте тақырыптың бір бөлігі болып табылады. «Максималды ұзындық» 10-нан 200-ге дейін барады және әдепкі бойынша 80 болады; слаг одан ұзын болса, қозғалтқыш сөздің ортасынан кесудің орнына сәйкес келетін соңғы толық сөзді кесіп тастайды. Әрбір нәтиженің жанындағы сан оның таңбалардағы ұзындығын көрсетеді және ол 60-тан асқанда қызылға айналады — бұл қатаң шектеу емес, бірақ слаг іздеу нәтижелерінде қысқара бастайтын және хабарламаға қою ыңғайсыз болатын нүкте.
Топтаманы түрлендіруді қайтадан бір рет басу арқылы орындалатын жұмысқа айналдыратын тағы екі ауыстырып-қосқыш бар. «Слагтарды бірегей ету» екі түрлі тақырып бірдей слагқа дейін қысқаратын жағдайды ұстайды — "Топ 10 кеңес" және "Топ-10 кеңес" екеуі де top-10-kenges болады — және екіншісіне -2, үшіншісіне -3 береді, егер жұрнақ оны максималды ұзындығыңыздан асырып жіберсе, алдымен негізді қысқартады. Бір мекенжайда екі беттің болуы CMS-ке қарағанда осы тізімде табуға әлдеқайда арзан мәселе. «Слагты қойылған URL-ден алу» кері бағытта жұмыс істейді: толық сілтемені қойыңыз және құрал жолдың соңғы бөлігін алады, сұрау жолын және кез келген .html немесе .php соңын тастайды және пайыздық кодтауды шешеді, сондықтан %D0%9B%D1%8C%D0%B2%D1%96%D0%B2 арқылы аяқталатын Wikipedia сілтемесі он алтылық цифрлар қатарының орнына lviv ретінде қайтарылады. Ол тек бүкіл жол сілтеме болғанда ғана іске қосылады, сондықтан сөйлем ішіндегі мекенжай сол күйінде қалады.
Неліктен осы слаг генераторын таңдау керек?
- Тек браузерде: сіздің тақырыптарыңыз ешқашан жүктелмейді және бет желіден тыс жұмыс істей береді
- Көшірілген мәтіннен немесе файлдан жаппай түрлендіру, әрбір слагтың үстінде бастапқы тақырыппен
- Барлық тілдерге арналған бір жалпы кесте емес, әр тіл үшін нақты транслитерация стандарттары
- 2010 жылғы 55-ші қаулы бойынша украин тілі — төлқұжаттарда қолданылатын емле
- Әрбір ереже әріп бойынша өңделеді, бір рет басу арқылы қалпына келтірумен
- Автоматты -2 және -3 жұрнақтары, сондықтан топтамадағы екі слаг соқтығыспайды
- Сілтемені қойыңыз және одан слагты алыңыз, пайыздық кодтау шешілген
- Сіздің тіліңіз үшін толтырылған күйде келетін өңделетін тоқтау сөздері тізімі
- Әрбір нәтиженің жанында таңбалар саны бар толық сөзде қауіпсіз кесу
- Тегін және шектеусіз: тіркелу жоқ, квота жоқ, біздің серверлерде ештеңе сақталмайды
Бетте оқылатын мекенжай болуы керек кез келген жерде слагтар қажет. Блог немесе жаңалықтар сайты әрбір тақырыпты слагқа айналдырады, бұл құрал дәл осыған арналған: апталық тақырыптарды қойып, апталық URL мекенжайларын алыңыз. Интернет-дүкен өнім мен санат атаулары үшін де солай істейді, әдетте импорттан кейін жаппай және мекенжай қолдай алмайтын алфавиті бар тілде орындалады. Құжаттама және білім қорлары якорьлар мен файл атауларын дәл осылай жасайды. Веб-мекенжайлардан бөлек, сізге басқа операциялық жүйеде бұзылмайтын файл атауы, адам журналда оқи алатын дерекқор кілті, тармақ атауы, медиа кітапханасындағы сурет атауы немесе статикалық сайт генераторындағы бөлім идентификаторы үшін бірдей таза жол қажет. Адам оқи алатын атау машина оқи алатын өріске орналастырылуы керек кез келген жерде слаг болуы керек.
Оған сенбес бұрын бірнеше шектеулерді білген жөн. Бұл генератор, валидатор емес: ол сіздің сайтыңызда қандай да бір слаг бар-жоғын тексермейді, өйткені сіздің сайтыңызда не бар екенін білмейді — ол қамтамасыз ететін бірегейлік тек сіздің алдыңыздағы топтама ішінде. Қайта бағыттаулар да сіздің міндетіңіз; жарияланған беттің слагын өзгерту оның ескі мекенжайын бұзады, ал бұл осы құрал үшін емес, сіздің CMS үшін шешім. «Файлға сақтау» CSV немесе JSON емес, қарапайым мәтінді жазады. Автоматты бөлу үтірлерге қатысты шешім қабылдайды, ол барлық дерлік жағдайларда дұрыс, бірақ барлығында емес, сондықтан «Мәтінді бөлу» оны жоққа шығаруға мүмкіндік береді. Транслитерация — бұл аударма емес, шарттылық — München Munich емес, muenchen болады — сондықтан беттің мақсатты тілде белгіленген атауы болса, бұл атау түпнұсқаның кез келген автоматты түрлендіруінен гөрі жақсырақ слаг болып табылады.