URL 슬러그 생성기

브라우저에서 어떤 제목이든 깔끔한 URL 슬러그로 변환하세요. 한 번에 하나씩 또는 전체 목록을 일괄 변환할 수 있습니다. 키릴 문자나 강세 기호를 위한 정확한 변환 기준, 편집 가능한 규칙을 제공하며 어떠한 데이터도 업로드되지 않습니다.

변환할 텍스트를 입력하세요
고급 옵션

슬러그(slug)는 웹 주소의 끝부분에 위치하며 사람이 읽을 수 있는 부분입니다. 예를 들어 example.com/blog/my-first-post에서 my-first-post가 슬러그에 해당합니다. 사용자가 클릭을 결정하기 전에 읽을 수 있는 부분이자, 검색 엔진이 해당 페이지의 내용을 짧게 요약한 텍스트로 인식하는 부분이므로 데이터베이스 ID나 날짜보다 훨씬 더 신경을 써야 합니다. 이 무료 생성기는 어떠한 텍스트라도 슬러그로 변환해 줍니다. 제목을 '변환할 텍스트'에 붙여넣고 '결과 생성'을 누르면, 복사 버튼과 함께 결과가 나타납니다. 기본 설정은 소문자 변환, 단어 사이 대시 사용, 불용어 제거, 라틴 문자 이외의 문자 변환 등 대부분의 사이트에서 필요로 하는 옵션들로 구성되어 있습니다. 따라서 클릭 한 번으로 사용 가능한 슬러그를 얻을 수 있으며, 이러한 설정들은 스위치를 통해 자유롭게 변경할 수 있습니다.

모든 처리 과정은 사용자의 기기 내에서 이루어집니다. 페이지는 작은 JavaScript 엔진을 로드하여 로컬 환경에서 실행됩니다. 입력한 제목은 절대 서버로 업로드되거나 기록되지 않으며, 인터넷 연결을 끊어도 도구는 계속 작동합니다. 설정을 변경하는 순간 결과가 즉시 업데이트되는 이유이기도 합니다. 결과를 예측할 수 있도록 작업 순서를 알아두는 것이 좋습니다. 붙여넣은 링크는 먼저 마지막 경로 세그먼트로 축소된 다음, 텍스트가 소문자로 변환되고, 불용어가 제거되며, 라틴 문자 이외의 문자가 변환됩니다. 설정한 경우 숫자와 특수 문자가 제거된 후, 남은 텍스트가 선택한 구분 기호로 연결됩니다. 그런 다음 결과는 최대 길이에 맞춰 잘리며, 마지막으로 중복되는 항목이 있을 경우 숫자 접미사가 추가됩니다. '변환할 텍스트'는 한 번에 최대 500,000자까지 입력할 수 있으며, 이는 수천 개의 기사 제목을 처리할 수 있는 분량입니다.

한 줄을 입력하면 하나의 슬러그가 생성됩니다. 제목 목록 전체를 붙여넣으면 각 줄이 번호가 매겨진 슬러그가 되며, 원본 제목이 그 위에 회색으로 표시되므로 50개의 일괄 작업에서도 어떤 슬러그가 어떤 제목에 속하는지 쉽게 구별할 수 있습니다. 이미 파일로 작성된 목록을 클립보드를 거쳐 가져올 필요는 없습니다. 입력 상자 옆에 있는 '파일에서 로드' 버튼을 누르면 .txt, .csv, .md, .json 등의 일반 텍스트 파일을 열고 그 내용을 입력 필드에 직접 채울 수 있습니다. 브라우저는 이 파일을 사용자가 직접 타이핑한 것과 동일하게 읽어들이며 어딘가로 업로드하지 않습니다. '입력 분할 방식'은 목록을 어떻게 나눌지 결정합니다. 기본값은 '자동 감지'입니다. 줄바꿈은 항상 항목을 나누지만, 쉼표는 한 줄의 입력이 각각 독립적인 값처럼 보일 때만 항목을 나눕니다. 따라서 "가격 1,500원"나 "제5장: 결과, 결론"은 파편화되지 않고 전체 형태를 유지합니다. 데이터의 형태를 미리 알고 있다면 '줄바꿈', '쉼표', '공백'을 선택해 분할 방식을 강제할 수 있습니다. '결과 형식'은 결과를 가져올 때 배치 형식을 어떻게 돌려줄지 결정하며 한 줄에 하나씩, 공백으로 구분, 쉼표로 구분을 선택할 수 있습니다. '모두 복사'와 '파일로 저장' 모두 이 형식을 따릅니다. '기록'은 최근 10개의 배치 작업을 브라우저에 보관하므로, 한 시간 전에 변환한 목록도 여전히 남아 있습니다.

라틴 문자 이외의 텍스트 처리는 대부분의 슬러그 생성기가 대략적으로만 맞추고, 정확히 처리하는 도구는 드뭅니다. URL은 일반 ASCII로 구성할 때 가장 안전하므로 키릴 문자, 그리스 문자, 아랍 문자, 중국어 및 유럽어의 강세 기호 문자를 변환해야 합니다. 문제는 어떤 규칙을 따를 것인가입니다. 이 페이지는 두 가지 계층으로 이 문제를 해결합니다. 일반 계층은 모든 문자 체계를 다룹니다. 입력할 수 있는 거의 모든 문자에 대해 적절한 ASCII 결과를 제공하는 변환 라이브러리이며, '변환할 언어' 메뉴의 '자동 감지 (모든 언어)'가 이에 해당합니다. 특정 계층은 일반적인 변환 결과가 해당 국가에서 실제로 사용하는 방식과 다를 때를 위해 수작업으로 구축한 언어별 테이블 세트입니다. '변환할 언어' 메뉴에는 현재 테이블이 존재하는 언어들이 표시되며, 도구가 대응하는 언어가 늘어날수록 이 세트도 계속 확장됩니다. 하나를 선택하면 '변환 규칙' 아래의 편집 가능한 그리드에 해당 테이블이 로드됩니다. 각 글자는 변경할 수 있는 텍스트 필드이며, '규칙을 기본값으로 재설정'을 누르면 원래대로 되돌아갑니다. 우크라이나어 테이블은 우크라이나 여권에 인쇄된 표준인 2010년 내각 결의안 제55호를 따릅니다. 여기에는 놓치기 쉬운 세부 사항들이 포함되어 있습니다. ж와 구분하기 위해 зг는 zh 대신 zgh가 되고, є, ї, й, ю, я는 단어의 시작 위치와 단어 내부 위치에 따라 형태가 달라집니다. 아포스트로피와 연음 기호는 새로운 단어를 시작하지 않고 그대로 생략되므로, Знам'янка는 znamyanka가 아닌 znamianka로 출력됩니다. 독일어의 기본값은 독일 주소에서 실제로 사용하는 확장된 ä → ae, ö → oe, ü → ue를 적용하지만, 원할 경우 단순한 ä → a 변환 방식을 선택할 수도 있습니다.

'불용어 제거'는 기본적으로 켜져 있습니다. 이는 a, the, and, of, for와 같이 슬러그를 길게만 만들고 의미를 더하지 않는 작은 연결 단어들을 제거합니다. '불용어' 아래의 목록은 완전히 편집 가능하며 이미 채워져 있습니다. 영어 목록과 함께 현재 보고 있는 페이지 언어의 목록이 제공되므로, 우크라이나어 페이지는 в, на, та, і를 인식하고 독일어 페이지는 der, die, das를 인식합니다. 자신만의 단어를 추가하거나, 유지하고 싶은 단어를 삭제하거나, 이 기능을 완전히 끌 수도 있습니다. 기능을 끄면 입력란이 회색으로 변합니다. 이에 대한 두 가지 솔직한 참고 사항이 있습니다. 불용어를 제거하는 것은 순위 상승의 지렛대가 아니라 깔끔함을 위한 것입니다. 더 좋은 검색 순위가 아니라 더 짧고 깔끔한 주소를 얻게 됩니다. 만약 제목의 모든 단어가 우연히 이 목록에 있다면 결과는 아무것도 없는 것이 맞습니다. 따라서 도구는 빈 칸을 주는 대신 이 사실을 메시지로 알려줍니다.

나머지 스위치들은 슬러그의 형태를 결정합니다. '슬러그 구분 기호'는 단어 사이에 무엇을 넣을지 선택합니다. 대시가 기본값인 이유는 취향 때문이 아닙니다. 구글은 대시를 단어 구분 기호로 읽고 밑줄을 연결 기호로 읽습니다. 즉, my_first_post는 크롤러에게 하나의 긴 단어로 인식되지만, my-first-post는 세 개의 단어로 인식됩니다. '밑줄 (_)'은 시스템이 이를 요구할 때를 위해 존재합니다. '소문자로 변환'이 켜져 있는 이유는 대부분의 서버가 주소를 대소문자 구분하여 처리하므로, 대소문자가 섞여 있으면 하나의 페이지에 두 개의 URL이 생기기 쉽기 때문입니다. '특수 문자 제거'는 문자, 숫자, 공백, 대시, 밑줄이 아닌 모든 것을 제거합니다. 이는 구두점, 따옴표, 이모티콘이 주소에 들어가는 것을 막아줍니다. 특히 이모티콘은 로켓 이모티콘이 rocket이라는 단어로 변환되지 않도록 변환 과정 전에 제거됩니다. '숫자 제거'는 꺼져 있는데, 제목의 숫자는 대개 제목의 중요한 일부이기 때문입니다. '최대 길이'는 10에서 200까지 설정할 수 있으며 기본값은 80입니다. 슬러그가 이보다 길면 엔진은 단어 중간을 자르는 대신 설정 범위에 맞는 마지막 온전한 단어에서 자릅니다. 각 결과 옆의 숫자는 글자 수를 나타내며 60이 넘으면 빨간색으로 변합니다. 이는 엄격한 제한은 아니지만, 검색 결과에서 슬러그가 잘리기 시작하고 메시지에 붙여넣기 불편해지기 시작하는 지점입니다.

일괄 변환을 다시 클릭 한 번의 작업으로 만들어주는 두 가지 스위치가 더 있습니다. '슬러그 중복 방지'는 두 개의 다른 제목이 동일한 슬러그로 축소되는 경우를 잡아냅니다. "톱 10 팁"와 "톱-10 팁"는 모두 tob-10-tib가 되는데, 이 기능은 두 번째 슬러그에 -2를, 세 번째에 -3을 부여합니다. 접미사 추가로 인해 최대 길이를 초과하게 되면 우선 기본 부분을 짧게 줄입니다. 한 주소에 두 페이지가 충돌하는 문제는 CMS 내에서 처리하는 것보다 이 목록에서 해결하는 것이 훨씬 비용이 적게 듭니다. '붙여넣은 URL에서 슬러그 추출'은 반대 방향으로 작동합니다. 전체 링크를 붙여넣으면 도구가 경로의 마지막 부분을 가져오고 쿼리 문자열과 .html 또는 .php 확장자를 제거하며 퍼센트 인코딩을 디코딩합니다. 따라서 %D0%9B%D1%8C%D0%B2%D1%96%D0%B2로 끝나는 위키백과 링크는 16진수 나열 대신 lviv로 반환됩니다. 이는 줄 전체가 링크일 때만 작동하므로, 문장 안에 인용된 주소는 일반 텍스트로 취급되어 제자리에 남습니다.

왜 이 슬러그 생성기를 선택해야 할까요?

슬러그는 페이지가 읽기 쉬운 주소를 가져야 하는 모든 곳에 필요합니다. 블로그나 뉴스 사이트는 모든 헤드라인을 슬러그로 변환하며, 이 도구는 바로 이러한 사례를 염두에 두고 만들어졌습니다. 한 주의 헤드라인들을 붙여넣고 해당 주의 URL들을 얻어보세요. 온라인 쇼핑몰도 제품 및 카테고리 이름에 동일한 작업을 수행하며, 대개 데이터를 가져온 후 일괄적으로 주소가 지원하지 못하는 알파벳을 가진 언어에 대해 이 작업을 처리합니다. 문서와 지식 베이스(Knowledge base)도 앵커와 파일 이름을 같은 방식으로 구축합니다. 웹 주소를 넘어서도 다른 운영 체제에서 깨지지 않을 파일 이름, 로그에서 사람이 읽을 수 있는 데이터베이스 키, 브랜치 이름, 미디어 라이브러리의 이미지 이름 또는 정적 사이트 생성기의 섹션 식별자를 위해 동일하게 깔끔한 문자열이 필요합니다. 사람이 읽을 수 있는 이름이 기계가 읽을 수 있는 필드에서 살아남아야 하는 모든 곳에 슬러그가 쓰입니다.

이 도구에 의존하기 전에 알아두어야 할 몇 가지 한계가 있습니다. 이 도구는 생성기이지 검증기가 아닙니다. 당신의 사이트에 무엇이 포함되어 있는지 알 수 없기 때문에, 슬러그가 사이트에서 이미 사용 중인지 확인하지 않습니다. 이 도구가 보장하는 고유성은 지금 변환한 배치 내부에 한정됩니다. 리다이렉트(Redirect) 처리도 사용자의 몫입니다. 발행된 페이지의 슬러그를 변경하면 기존 주소가 끊어지게 되며, 이는 이 도구가 아닌 사용자의 CMS에서 결정해야 할 문제입니다. '파일로 저장'은 CSV나 JSON이 아닌 일반 텍스트로 저장합니다. 자동 분할 기능은 쉼표에 대해 대부분의 경우 올바른 판단을 내리지만 모든 경우에 완벽하지는 않습니다. 바로 이것이 '입력 분할 방식'을 통해 사용자가 분할 방식을 직접 지정할 수 있게 한 이유입니다. 마지막으로, 변환(Transliteration)은 번역이 아니라 일종의 관례입니다. München은 Munich이 아니라 muenchen이 됩니다. 따라서 어떤 페이지가 대상 언어에서 확립된 이름을 가지고 있다면, 원본 텍스트를 기계적으로 변환한 것보다 그 확립된 이름이 슬러그로서 훨씬 더 적합합니다.

FAQ

URL 슬러그는 어떻게 만드나요?

'변환할 텍스트'에 제목을 붙여넣고 '결과 생성'을 누르세요. 복사 버튼과 함께 결과가 나타납니다. 이 결과는 대부분의 사이트가 선호하는 기본 설정(소문자로 변환, 단어 사이 대시 사용, 불용어 제거, 라틴 문자 이외 문자 변환)이 적용된 상태입니다. 이러한 설정은 스위치를 통해 변경할 수 있으며, '고급 옵션'에는 구분 기호, 최대 길이, 불용어 목록, 변환 규칙 등의 나머지 설정들이 있습니다.

제목 목록 전체를 한 번에 변환할 수 있나요?

네. 최대 500,000자(수천 개의 헤드라인 분량)를 붙여넣거나 입력 상자 옆에 있는 '파일에서 로드' 버튼을 사용해 파일에서 직접 가져올 수 있습니다. 파일은 업로드되지 않고 브라우저에서 바로 읽힙니다. 각 줄은 번호가 매겨진 슬러그로 변환되며, 원본 제목이 그 위에 표시되어 쉽게 대조할 수 있습니다. '입력 분할 방식'으로 목록을 나누는 기준을 조절하고, '결과 형식'으로 결과를 줄바꿈, 공백, 또는 쉼표로 구분해 받을지 결정합니다. '모두 복사'와 '파일로 저장' 모두 한 번에 전체 결과를 처리합니다.

생성기는 키릴 문자와 강세 기호가 있는 문자를 어떻게 처리하나요?

두 가지 계층을 거쳐 ASCII로 변환합니다. 키릴 문자, 그리스 문자, 아랍 문자, 중국어, 강세가 있는 라틴 문자 등 어떤 문자 체계이든 일반 변환 라이브러리가 처리하며, 이는 '자동 감지 (모든 언어)'가 사용하는 방식입니다. 그 위에 일반적인 결과가 해당 국가의 실제 사용 방식과 다를 때를 위해 수작업으로 만든 테이블이 제공됩니다. '변환할 언어' 메뉴에서 현재 테이블이 존재하는 언어들을 확인할 수 있습니다. 하나를 선택하면 해당 테이블이 로드되며 모든 글자를 편집할 수 있습니다. 한국어에는 전용 테이블이 없고 일반 계층이 처리합니다. 다만 그 방식은 음절을 글자 그대로 옮기는 것이지, 국어의 로마자 표기법이 정한 소리 변화를 적용하는 것은 아닙니다. 차이는 세 군데에서 드러납니다. ㄹ은 언제나 l이 되므로 '사랑'은 sarang이 아니라 salang이 됩니다. 받침은 첫소리 형태를 그대로 유지하므로 '대한민국'은 daehanminguk이 아니라 daehanmingug, '맛집'은 matjip이 아니라 masjib이 됩니다. 그리고 음절 사이의 자음 동화는 반영되지 않으므로 '설날'은 seollal이 아니라 seolnal, '독립'은 dongnip이 아니라 doglib이 됩니다. 읽을 수는 있지만 표준 표기와는 다릅니다. 공식 표기가 필요하다면 로마자를 직접 입력하세요. 일괄 변환, 불용어, 최대 길이, 중복에 붙는 -2와 -3은 한국어에서도 그대로 작동합니다.

우크라이나어에는 어떤 변환 표준이 사용되나요?

우크라이나 여권에 사용되는 표준인 2010년 1월 27일 내각 결의안 제55호가 사용됩니다. 여기에는 틀리기 쉬운 부분도 제대로 반영되어 있습니다. ж와 구분되도록 зг는 zh 대신 zgh로 변환되며, є, ї, й, ю, я 문자는 단어의 시작과 내부에서 형태가 다르게 나타납니다. 아포스트로피와 연음 기호는 새 단어로 간주되지 않고 제거되어 Знам'янка는 znamyanka가 아닌 znamianka가 됩니다. 더 단순한 표기를 원한다면 모든 곳에 ya, yu, yi를 사용하는 두 번째 변환 방식을 선택할 수도 있습니다.

특정 글자의 변환 방식을 변경할 수 있나요?

네. '변환 규칙'을 열면 테이블의 모든 글자가 텍스트 필드로 되어 있습니다. 해당 글자가 어떻게 변환되기를 원하는지 입력하면, 타이핑하는 즉시 결과가 업데이트됩니다. 필드를 비우면 해당 글자는 완전히 제거됩니다. 수정한 내용은 다음 번 사용을 위해 브라우저에 저장되며, 원래대로 되돌리고 싶을 때는 언제든 '규칙을 기본값으로 재설정'을 눌러 기본 테이블로 복구할 수 있습니다.

불용어란 무엇이며 제거해야 하나요?

불용어는 a, the, and, of, for와 같이 슬러그를 명확하게 만들지는 않으면서 길이만 늘리는 작은 연결 단어들입니다. 이 단어들을 제거하는 설정은 기본적으로 켜져 있으며, '불용어' 아래의 목록은 편집할 수 있습니다. 이 목록은 영어 목록과 사용자가 보고 있는 페이지 언어의 목록으로 미리 채워져 제공됩니다. 하지만 솔직히 말해 불용어 제거는 검색 순위를 높여주기보다는 주소를 더 짧고 깔끔하게 만드는 역할을 합니다. 제목이 불용어로만 이루어져 있다면, 도구는 빈 슬러그를 반환하는 대신 그 사실을 메시지로 알려줍니다.

슬러그에 대시를 사용해야 하나요, 밑줄을 사용해야 하나요?

사용하는 시스템이 밑줄을 요구하지 않는 한 대시를 사용하는 것이 좋습니다. 구글은 대시를 단어 사이의 구분 기호로 처리하고 밑줄은 단어를 연결하는 문자로 처리합니다. 따라서 my_first_post는 하나의 긴 단어로 읽히지만, my-first-post는 세 개의 단어로 읽힙니다. 생성기가 기본값으로 대시를 사용하는 것은 이런 이유 때문입니다. '슬러그 구분 기호'는 밑줄을 필요로 하는 시스템을 위해 '밑줄 (_)' 옵션을 제공합니다.

URL 슬러그는 얼마나 길어야 하나요?

한눈에 읽을 수 있을 만큼 짧은 것이 좋습니다. 처음 몇 단어가 핵심 의미를 전달하고, 나머지는 보통 문장의 꼬리에 불과합니다. 각 결과 옆의 숫자는 글자 길이를 나타내며 60이 넘으면 빨간색으로 변합니다. 이 지점은 대략 검색 결과에서 슬러그가 잘리기 시작하고 메시지에 붙여넣기 번거로워지는 길이를 뜻합니다. '최대 길이'는 10자에서 200자 사이로 엄격한 상한선을 설정할 수 있으며 기본값은 80입니다.

슬러그가 너무 길면 단어 중간에서 잘리나요?

아닙니다. 슬러그가 최대 길이를 초과하면 엔진은 제한 길이에 맞춰 마지막 온전한 단어까지만 남기고 자릅니다. 그래서 잘린 슬러그라도 음절 중간에서 끝나는 대신 완전한 단어들로 읽힙니다. 중복 시 숫자 접미사가 추가될 때도 마찬가지입니다. 완성된 슬러그가 지정한 제한 길이를 지키도록 먼저 기본 부분을 짧게 만듭니다.

두 개의 제목이 동일한 슬러그로 생성되면 어떻게 되나요?

'슬러그 중복 방지'가 기본적으로 켜져 있어 이를 처리합니다. 첫 번째 결과는 기본 슬러그를 유지하고 두 번째는 -2, 세 번째는 -3을 얻는 식입니다. 이 기능은 두 개의 다른 제목이 같은 슬러그로 변환되는 흔한 경우를 잡아냅니다. 예를 들어 "톱 10 팁"와 "톱-10 팁"는 모두 tob-10-tib가 됩니다. 이 기능을 끄면 중복된 상태 그대로 출력됩니다. 주의할 점은, 고유성은 현재 변환한 배치 내에서만 보장된다는 것입니다. 도구는 귀하의 사이트에 이미 어떤 슬러그가 존재하는지 알 수 없습니다.

제목 대신 URL을 붙여넣을 수 있나요?

네. '붙여넣은 URL에서 슬러그 추출' 옵션이 기본적으로 켜져 있습니다. 전체 줄이 링크일 경우 도구는 경로의 마지막 부분을 추출하고 쿼리 문자열과 .html 또는 .php 확장자를 제거하며 퍼센트 인코딩을 디코딩합니다. 따라서 %D0%9B%D1%8C%D0%B2%D1%96%D0%B2로 끝나는 위키백과 주소는 16진수 문자열 대신 lviv로 반환됩니다. 이 기능은 전체가 온전한 링크인 줄에서만 작동하므로 문장 내에 인용된 URL은 일반 텍스트로 처리됩니다.

텍스트가 서버로 전송되나요?

아닙니다. 변환 과정은 브라우저에서 로컬 JavaScript로 실행됩니다. 어떠한 내용도 업로드되거나 기록되지 않으며, 페이지가 한 번 로드되고 나면 인터넷 연결이 끊어져도 계속 작동합니다. 발행 전 헤드라인, 내부 제품 이름, 고객의 작업 데이터 등은 기기 밖으로 나가지 않습니다. 이것이 바로 이러한 작업에 서버 측 도구보다 로컬 도구를 선호해야 하는 실용적인 이유입니다.

하나의 문장이 두 개의 슬러그로 쪼개진 이유는 무엇인가요?

쉼표가 포함되어 있었고 '입력 분할 방식'이 '자동 감지'로 설정되어 있었기 때문입니다. 이 모드는 줄바꿈을 확실한 구분 기호로, 쉼표를 잠재적인 구분 기호로 취급합니다. 한 줄 안의 각 항목이 독립적인 값처럼 보일 때만 쉼표를 기준으로 나눕니다. 3,5와 같은 소수점이나 콜론이 포함된 문장은 의도적으로 자르지 않고 통째로 둡니다. 나뉘지 않아야 할 제목이 쪼개졌다면 '입력 분할 방식'을 '줄바꿈'으로 설정하세요. 그러면 사용자가 실제로 Enter를 누른 곳에서만 잘리게 됩니다.