Gerador de Slug: reaproveitando a mesma normalização Unicode do removedor de acentos
Um slug é a parte de uma URL que identifica um recurso de forma legível e amigável — "como-fazer-brigadeiro" em vez de um ID numérico opaco. Gerar um slug corretamente a partir de um título qualquer exige combinar várias transformações em sequência específica: este gerador primeiro remove acentos usando a mesma técnica de normalização Unicode NFD já documentada na página de Remover Acentos deste site (decompor cada caractere acentuado e filtrar os diacríticos combinantes), depois converte para minúsculas, remove qualquer caractere que não seja letra, número, espaço ou hífen, colapsa espaços e underscores em um único hífen, colapsa hífens consecutivos em um só, e por fim remove hífens sobrando no início ou fim do resultado.
Por que a ordem dessas etapas importa
Remover acentos antes de filtrar caracteres não alfanuméricos é uma ordem deliberada, não arbitrária: se o filtro de caracteres especiais rodasse primeiro, sobre o texto ainda acentuado, letras como "ã" ou "ç" — que não são puramente ASCII — poderiam ser descartadas inteiramente pelo filtro (dependendo de como ele for implementado), produzindo um slug com palavras quebradas ou letras faltando, em vez de "a" e "c" como substituição sensata. Fazer a normalização de acento primeiro garante que o filtro seguinte só precise lidar com o alfabeto ASCII básico, sem perder informação de palavra por causa de um caractere fora do intervalo esperado.
Por que hífen, e por que colapsar hífens consecutivos
Hífen é o separador convencional de slug (em vez de underscore) porque
mecanismos de busca historicamente tratam hífen como separador de
palavra ao indexar uma URL, mas frequentemente tratam underscore como
parte da palavra — uma URL com hífens tem, na prática, melhor
tratamento de SEO por essa convenção amplamente adotada. Colapsar
hífens consecutivos em um só evita um slug com aparência
"quebrada" (titulo---com-varios-hifens) quando o título
original tinha múltiplos caracteres especiais seguidos que todos
viraram hífen individualmente antes dessa etapa de limpeza final.