Генератор на URL слъгове

Превърнете всяко заглавие в чист URL слъг във вашия браузър — едно по едно или цял списък наведнъж. Истински стандарти за транслитерация на кирилица, редактируеми правила и нищо не се качва на сървър.

Въведете текста за преобразуване
Разширени опции
Правила за транслитерация
Символ Латиница Позиция в думата
Аа
Бб
Вв
Гг
Дд
Ее
Жж
Зз
Ии
Йй
Кк
Лл
Мм
Нн
Оо
Пп
Рр
Сс
Тт
Уу
Фф
Хх
Цц
Чч
Шш
Щщ
Ъъ
Ьь
Юю
Яя

Слъгът е четимата опашка на един уеб адрес — my-first-post в example.com/blog/my-first-post. Това е частта, която човек може да прочете, преди да реши дали да кликне, и частта, която търсачката чете като кратко описание на съдържанието на страницата. Затова той заслужава повече внимание отколкото ID в база данни или дата. Този безплатен генератор превръща всеки текст в слъг: поставете заглавие в „Текст за конвертиране“, натиснете „Генерирай“ и резултатът се появява с бутон за копиране до него. Настройките по подразбиране са тези, които повечето сайтове искат — малки букви, тирета между думите, премахнати общи стоп думи, транслитерирани нелатински букви — така че използваем слъг е на един клик разстояние, а всяко от тези решения е опция, която можете да промените.

Всичко се случва на вашето собствено устройство. Страницата зарежда малък JavaScript енджин и го изпълнява локално: вашите заглавия никога не се качват, никога не се записват и инструментът продължава да работи дори с изключена връзка. Това е и причината резултатът да се актуализира в момента, в който промените настройка. Редът на работа си струва да се спомене, защото той прави резултата предвидим: поставен линк първо се съкращава до последния му сегмент, след това текстът се прави с малки букви, премахват се стоп думите, нелатинските символи се транслитерират, числата и специалните знаци се премахват (ако сте го поискали), след това останалото се свързва с вашия разделител, резултатът се отрязва до максималната дължина и накрая, ако има повторение, то получава цифров суфикс. Полето „Текст за конвертиране“ приема до 500 000 символа наведнъж, което е равносилно на няколко хиляди заглавия на статии.

Един ред на входа, един слъг на изхода. Поставете цял списък със заглавия и всеки ред се превръща в собствен номериран слъг, като оригиналното заглавие е показано над него в сиво, така че в партида от петдесет все още можете да разберете кой слъг на кое заглавие принадлежи. Списък, който вече се намира във файл, не трябва да минава през клипборда: „Зареждане от файл“, бутонът до полето за въвеждане, отваря обикновен текстов файл — .txt, .csv, .md, .json и подобни — и пуска съдържанието му в полето. Вашият браузър чете този файл точно както чете това, което въвеждате, и не се качва никъде. „Разделяне на текста по“ определя как списъкът да бъде разделен. „Автоматично“ е по подразбиране: нов ред винаги разделя елементите, докато запетаята ги разделя само когато входът е един ред, чиито части изглеждат като самостоятелни стойности — така че „цена 3,5 EUR“ и „Глава 5: резултати, заключения“ остават цели, вместо да се разбиват на фрагменти. „Нов ред“, „Запетая“ и „Интервал“ налагат избора, когато вече знаете формата на вашите данни. „Формат на резултата“ решава как се връща партидата, когато я вземете — по един на ред, „Разделени с интервал“ или „Разделени със запетая“ — и „Копирай всичко“ и „Запази във файл“ следват този избор. Вашата „История“ пази последните 10 партиди в собствения ви браузър, така че списък, който сте конвертирали преди час, все още е там.

Нелатинският текст е частта, която повечето генератори на слъгове правят горе-долу правилно, а малцина — напълно точно. Уеб адресът е най-сигурен в чист ASCII формат, така че кирилицата, гръцките, арабските, китайските и европейските букви с ударения трябва да бъдат конвертирани, а единственият реален въпрос е по чие правило. Тази страница отговаря на това в два слоя. Общият слой покрива всяка азбука: библиотека за транслитерация с разумен ASCII отговор за почти всеки символ, който можете да въведете, и той поема всички знаци, които никоя таблица не покрива. Специфичният слой е набор от ръчно създадени таблици за езиците, при които общият отговор не е този, който съответната държава всъщност използва, и българският е един от тях. Тук няма какво да избирате: за български съществува един стандарт — обтекаемата система от Закона за транслитерацията (2009 г.), приета от ООН през 2012 г. и от BGN/PCGN през 2013 г. — и неговата таблица се зарежда на тази страница веднага. Тя поправя точно онова, което общият слой бъркаше: ъ вече не изчезва, а става a, така че ъгъл дава agal вместо gl, а Велико Търново дава veliko-tarnovo; х става h вместо kh, тоест Хасково дава haskovo; а щ става sht вместо shch, тоест Търговище дава targovishte. Едно нещо таблицата не може: двигателят няма позиция за края на думата, затова изключението -ия → -ia от закона не се изразява и София излиза като sofiya. Заредената таблица стои в редактируема решетка под „Правила за транслитерация“, където всяка буква е текстово поле, което можете да промените, а „Възстановяване по подразбиране“ я връща в първоначалния ѝ вид. Таблиците на другите езици са направени по същия начин: украинската следва Постановление № 55 на Министерския съвет от 2010 г., стандартът, отпечатан в украинските паспорти, където зг става zgh, за да остане различно от ж, а Знам'янка излиза като znamianka, а не znamyanka.

„Премахване на стоп думи“ е включено по подразбиране. То премахва малките свързващи думи — a, the, and, of, for (на английски) или в, на, и (на български) — които удължават слъга, без да добавят смисъл. Списъкът под „Стоп думи“ е напълно редактируем и пристига вече попълнен: английски списък плюс списък за езика на страницата, на която се намирате, така че украинската страница знае в, на, та и і, а немската знае der, die и das. Добавете ваши собствени думи, изтрийте тези, които искате да запазите, или изключете функцията изцяло, при което полето става сиво, вместо да се преструва, че все още има значение. Две честни бележки относно това. Премахването на стоп думи е малка печалба в подредеността, а не лост за класиране — получавате по-кратък, по-чист адрес, а не по-добра позиция. И ако всяка дума в заглавието случайно е в списъка, честният резултат е нищо, така че инструментът ви казва това, вместо да ви даде празна кутия.

Останалите превключватели определят формата. „Разделител в слъга“ избира какво стои между думите, а тирето по подразбиране не е въпрос на вкус: Google чете тирето като разделител на думи, а долната черта като свързващ символ, така че my_first_post достига до търсачката като една дълга дума, докато my-first-post достига като три. Опцията „Долна черта (_)“ е там за системите, които настояват на нея. „Малки букви“ е включено, защото повечето сървъри третират адресите като чувствителни към регистъра (главни/малки букви) и смесеният регистър е лесен начин да се озовете с два URL адреса за една страница. „Премахване на специални знаци“ премахва всичко, което не е буква, цифра, интервал, тире или долна черта, което държи пунктуацията, кавичките и емоджитата извън адреса — емоджитата се премахват преди транслитерацията специално, така че ракета да не стане думата rocket. „Премахване на числа“ е изключено, защото числото в заглавието обикновено е част от самото заглавие. „Максимална дължина“ работи от 10 до 200 и по подразбиране е 80; когато слъгът е по-дълъг от това, енджинът отрязва на последната цяла дума, която се побира, вместо през средата на някоя дума. Числото до всеки резултат е неговата дължина в символи и става червено след 60 — не е строга граница, но е точката, където слъгът започва да бъде отрязан в резултатите от търсенето и става неудобен за поставяне в съобщение.

Още два превключвателя съществуват, защото те превръщат масовото конвертиране обратно в задача с едно кликване. „Уникални слъгове“ улавя случая, когато две различни заглавия се свеждат до един и същ слъг — "Топ 10 съвета" и "Топ-10 съвета" стават top-10-saveta — и дава на втория -2, на третия -3, като съкращава основата първо, ако суфиксът би я изтласкал над максималната ви дължина. Две страници на един адрес е проблем, който е много по-евтино да се хване в този списък, отколкото във вашата CMS система. „Вземане на слъга от поставен URL“ работи в другата посока: поставете пълен линк и инструментът взема последната част от пътя, премахва стринга със заявката и всякакви завършеци като .html или .php и декодира процентовото кодиране, така че адрес от Wikipedia, завършващ на %D0%9B%D1%8C%D0%B2%D1%96%D0%B2, се връща като lviv вместо поредица от шестнайсетични цифри. То се задейства само когато целият ред е линк, така че адрес, цитиран вътре в изречение, се оставя както си е.

Защо да изберете този генератор на слъгове?

Слъговете са необходими навсякъде, където една страница трябва да носи четим адрес. Блог или новинарски сайт превръща всяко заглавие в такъв, което е случаят, около който е оформен този инструмент: поставете заглавията от седмицата, вземете URL адресите за седмицата. Онлайн магазин прави същото за имената на продукти и категории, обикновено масово след импортиране и обикновено на език, чиято азбука адресът не може да побере. Документациите и базите от знания изграждат котви и имена на файлове по същия начин. Отвъд уеб адресите същият чист низ е това, което искате за име на файл, което няма да се счупи на друга операционна система, ключ в база данни, който човек може да прочете в лог, име на клон, име на изображение в медийна библиотека или идентификатор на раздел в генератор на статични сайтове. Всяко място, където едно четимо от човек име трябва да оцелее при поставяне в машинно четимо поле, е място, където принадлежи един слъг.

Няколко ограничения си струва да се знаят, преди да разчитате на него. Това е генератор, а не валидатор: той няма да провери дали слъгът вече е зает на вашия сайт, защото няма представа какво съдържа сайтът ви — уникалността, която гарантира, е в рамките на партидата пред вас. Пренасочванията също са ваша работа; промяната на слъга на публикувана страница чупи стария ѝ адрес и това е решение за вашата CMS, а не за този инструмент. „Запази във файл“ пише в обикновен текст, не CSV или JSON. Автоматичното разделяне прави преценка за запетаите, която е правилна в почти всеки случай, но не и във всички, което е точно причината „Разделяне на текста по“ да ви позволява да го отмените. И транслитерацията е конвенция, а не превод — München става muenchen, а не Munich — така че когато една страница има утвърдено име в целевия език, това име е по-добър слъг от всяко автоматично конвертиране на оригинала.

FAQ

Как да създам URL слъг?

Поставете заглавието си в „Текст за конвертиране“ и натиснете „Генерирай“. Резултатът се появява с бутон за копиране до него, конвертиран с настройките по подразбиране, които повечето сайтове искат: малки букви, тирета между думите, премахнати стоп думи и транслитерирани нелатински букви. Всяко от тях е превключвател, който можете да промените, а „Разширени опции“ съдържа останалите — разделител, максимална дължина, списък със стоп думи и правила за транслитерация.

Мога ли да конвертирам цял списък със заглавия наведнъж?

Да. Поставете до 500 000 символа — няколко хиляди заглавия — или ги извлечете направо от файл със „Зареждане от файл“, бутонът до полето за въвеждане, който го чете във вашия браузър, без да го качва. Всеки ред става свой собствен слъг, номериран, с оригиналното заглавие показано над него, така че да можете да ги съпоставите. „Разделяне на текста по“ контролира как се разделя списъкът, „Формат на резултата“ решава дали партидата се връща като редове, разделени с интервал или със запетая, а „Копирай всичко“ и „Запази във файл“ вземат цялото нещо наведнъж.

Как генераторът се справя с кирилица и букви с ударения?

Транслитерира ги в ASCII, в два слоя. Всяка една азбука — кирилица, гръцка, арабска, китайска, латиница с ударения — е покрита от обща библиотека за транслитерация, която поема всички знаци извън таблиците. Върху нея седят ръчно създадени таблици за езиците, при които общият отговор не е този, който съответните държави реално ползват, и българският е един от тях: неговата таблица се зарежда на тази страница веднага, а всяка буква в нея може да се редактира.

Кой стандарт за транслитерация се използва за български?

Обтекаемата система от Закона за транслитерацията (2009 г.) — същата, която ООН приема през 2012 г., а BGN/PCGN през 2013 г. По нея ж става zh, ц става ts, ч става ch, ш става sh, щ става sht, х става h, а ъ става a; затова Търговище дава targovishte, Хасково дава haskovo, а ъгъл дава agal. Едно изключение от закона не може да бъде изразено тук: -ия в края на думата се пише -ia, но двигателят няма позиция за края на думата, така че София излиза като sofiya. Таблиците на другите езици следват същия принцип — украинската например се води по Постановление № 55 на Министерския съвет от 2010 г., стандартът от украинските паспорти.

Мога ли да променя как се транслитерира конкретна буква?

Да. Отворете „Правила за транслитерация“ и всяка буква от таблицата е текстово поле: въведете в какво искате да се превърне тази буква и резултатът се актуализира, докато пишете. Изчистването на поле премахва буквата изцяло. Вашите редакции се запомнят в собствения ви браузър за следващия път, а „Възстановяване по подразбиране“ възстановява стандартната таблица винаги, когато я искате обратно.

Какво представляват стоп думите и трябва ли да ги премахвам?

Те са малките свързващи думи — a, the, and (на английски) или в, на, и (на български) — които правят слъга по-дълъг, без да го правят по-ясен. Премахването им е включено по подразбиране и списъкът под „Стоп думи“ е редактируем, като пристига предварително попълнен с английски списък плюс един за езика на страницата, на която сте. Бъдете честни за ползата обаче: това създава по-кратък, по-подреден адрес, а не по-добра позиция при търсене. Ако заглавието се състои изцяло от стоп думи, инструментът казва това, вместо да връща празен слъг.

Тирета или долни черти трябва да използвам в слъг?

Тирета, освен ако нещо във вашия технологичен стак не изисква друго. Google третира тирето като разделител между думи, а долната черта като символ, който ги свързва, така че my_first_post се чете като една дълга дума, докато my-first-post се чете като три. Генераторът е настроен на тире по подразбиране поради тази причина; „Разделител в слъга“ предлага „Долна черта (_)" за системите, които се нуждаят от нея.

Колко дълъг трябва да бъде един URL слъг?

Достатъчно кратък, за да се прочете с един поглед — първите няколко думи носят значението, а останалото обикновено е опашката на изречението. Числото до всеки резултат е неговата дължина в символи и става червено след 60, което е грубо казано границата, където резултатите от търсенето започват да го отрязват и където става неудобен за поставяне в съобщение. „Максимална дължина“ задава твърд таван от 10 до 200 символа и по подразбиране е 80.

Реже ли думите наполовина, когато слъгът е твърде дълъг?

Не. Когато един слъг надвиши максималната дължина, енджинът се връща до последната цяла дума, която се побира, и реже там, така че отрязаният слъг все още се чете като думи, вместо да завършва по средата на сричка. Същото важи и когато се добавя цифров суфикс към повторение: основата се съкращава първо, така че готовият слъг все още спазва вашия лимит.

Какво се случва, ако две заглавия създадат един и същ слъг?

„Уникални слъгове“ е включено по подразбиране и се справя с това: първото срещане запазва чистия слъг, второто получава -2, третото -3 и т.н. Това улавя често срещания случай, когато две различни заглавия се свеждат до едно и също нещо — "Топ 10 съвета" и "Топ-10 съвета" стават top-10-saveta. Изключването на опцията ви дава суровия резултат с непокътнати дубликати. Обърнете внимание, че уникалността е гарантирана само в рамките на партидата, която току-що сте конвертирали; инструментът не може да знае какво вече съществува на вашия сайт.

Мога ли да поставя URL адрес вместо заглавие?

Да. „Вземане на слъга от поставен URL“ е включено по подразбиране и когато цял ред е линк, инструментът изважда последната част от пътя, премахва стринга със заявката и всякакви завършеци .html или .php, и декодира процентовото кодиране — така че адрес от Wikipedia, завършващ на %D0%9B%D1%8C%D0%B2%D1%96%D0%B2, се връща като lviv вместо поредица от шестнайсетични символи. То се задейства само на ред, който изцяло е линк, така че URL адрес, цитиран вътре в изречение, се третира като обикновен текст.

Изпраща ли се текстът ми на сървър?

Не. Конвертирането работи във вашия браузър като локален JavaScript. Нищо не се качва, нищо не се записва в логове и след като страницата се зареди, тя продължава да работи с изключена връзка. Непубликувани заглавия, вътрешни имена на продукти и клиентска работа остават на вашата машина, което е практическата причина да предпочетете локален инструмент пред сървърен за тази конкретна задача.

Защо едното ми изречение се раздели на два слъга?

Защото е съдържало запетая и „Разделяне на текста по“ е било настроено на „Автоматично“. Този режим третира новия ред като категоричен разделител, а запетаята като вероятен такъв, и разделя по запетаи само когато частите на един единствен ред изглеждат като самостоятелни стойности — десетично число като 3,5 или изречение с двоеточие умишлено се оставят цели. Когато едно заглавие въпреки това се раздели и не би трябвало, задайте „Разделяне на текста по“ на „Нов ред“ и входът ще бъде отрязан само там, където действително сте натиснали Enter.