Pular para o conteúdo
LeedyBox
Apoiar

Remover acentos e criar slugs para URL

Nomes em passaportes, endereços de e-mail, nomes de arquivo e endereços web costumam ser escritos sem acentos. Tirar o acento de é é fácil, mas o đ vietnamita, o ı turco, o ß alemão e o ø dinamarquês têm regras próprias. Este guia explica essas regras e mostra como transformar um título num slug limpo para a URL.

Dois tipos de letras com sinais

A maioria das letras acentuadas é uma letra-base mais um sinal: é é e com acento agudo, ã é a com til, ç é c com cedilha e o ệ vietnamita é e com circunflexo e um ponto embaixo. O Unicode registra como cada uma se decompõe, então ao tirar os sinais sobra a letra-base. O computador pode até guardar a mesma letra de duas formas, como um só caractere ou como a letra-base seguida de sinais separados; as duas aparecem iguais e perdem os sinais do mesmo jeito.

Outras letras não são formadas a partir de uma base: o đ vietnamita, o ı turco, o ß alemão, o ø e o æ do dinamarquês e do norueguês, o þ islandês. Tirar sinais não as muda, então cada uma precisa de uma grafia própria.

A tabela dos passaportes

As linhas de leitura mecânica no pé do passaporte usam só as letras de A a Z. O documento 9303 da OACI (ICAO), a especificação internacional de passaportes, mostra como as letras nacionais são escritas ali. É uma boa referência neutra para escrever nomes sem acentos:

LetraOACI Doc 9303Idioma
Á Â Ã À Ç É Ê Í Ó Ô Õ ÚA A A A C E E I O O O UPortuguês
ÑNEspanhol
Ä Ö ÜAE ou A, OE ou O, UE ou UAlemão, sueco, turco …
ẞ (ß)SSAlemão
ĐDVietnamita, croata …
Ğ Ş İ I (ı)G S I ITurco
Ø Æ ÅOE, AE, AA ou ADinamarquês, norueguês

Vietnamita, turco e alemão

  • Vietnamita. Além dos sinais que formam vogais novas (ă, â, ê, ô, ơ, ư), cada sílaba pode ter um de cinco sinais de tom. Sem sinais («không dấu»), tiram-se todos e o đ vira d: Nguyễn Văn Đức fica Nguyen Van Duc.
  • Turco. Tem i e İ com ponto, ı e I sem ponto. Sem sinais, ı vira i e İ vira I. Cuidado ao passar para minúsculas: a regra geral do Unicode transforma İ em i mais um ponto combinante (U+0307), um caractere invisível que entra em nomes de arquivo e URLs. É melhor trocar as letras turcas primeiro e só depois passar para minúsculas.
  • Alemão. Sem os pontos, escreve-se ae, oe, ue: Müller fica Mueller. Para o ß, as regras oficiais da ortografia alemã (Amtliches Regelwerk, § 25 E2) mandam escrever ss quando não há ß: Straße – Strasse.

Transformar um título em slug

O slug é a parte do endereço web que dá nome à página. Um bom slug é curto, em minúsculas e com hífens entre as palavras:

TítuloSlug
Pão de queijo à mineirapao-de-queijo-a-mineira
Como declarar o Imposto de Renda: 10 dicascomo-declarar-o-imposto-de-renda-10-dicas
Ação e reaçãoacao-e-reacao
İstanbul'da Gezilecek Yerleristanbulda-gezilecek-yerler
  • Hífen, não sublinhado. O guia do Google sobre a estrutura de URLs recomenda hífens entre as palavras e palavras legíveis em vez de números de ID longos.
  • Apóstrofos somem. d'água vira dagua, e don't vira dont, não don-t.
  • Acentos deixam o endereço longo. O navegador os mostra, mas um link copiado os leva codificados por porcentagem: no exemplo do Google, gemüse vira gem%C3%BCse.
  • Não mude slugs publicados à toa. O endereço antigo deixa de funcionar se você não o redirecionar de forma permanente (301) para o novo.

Perguntas frequentes

Escrever um nome sem acento é errado?

Não onde o sistema não aceita acentos, como as linhas de leitura mecânica do passaporte ou um sistema de reservas antigo. Onde dá para usar, a grafia correta mantém os acentos.

O ç vira c ou ss na URL?

Vira c (ação → acao), que é também o que a tabela da OACI indica para Ç.

Qual deve ser o tamanho de um slug?

Não há limite fixo. Mantenha as palavras que descrevem a página e tire o resto; muitos sistemas de gestão de conteúdo também têm um tamanho máximo próprio.

Por que dois textos que parecem iguais não batem?

Um pode guardar o é como um só caractere e o outro como e mais um acento combinante. Tirar os acentos, ou normalizar os dois para a mesma forma Unicode, deixa-os iguais.