Gerador de Slugs para URLs Amigáveis em JavaScript com String.prototype.normalize

Gerador de Slugs para URLs Amigáveis em JavaScript com String.prototype.normalize

Converter títulos com acentos, caracteres especiais e espaços em URLs amigáveis (slugs) é fundamental para garantir rotas limpas e otimizadas para motores de busca (SEO). O uso combinado do método nativo String.prototype.normalize() com expressões regulares resolve esse problema ao remover acentuações e caracteres inválidos sem a necessidade de bibliotecas externas.

JavaScript

/**
 * Converte qualquer texto ou título em uma string no formato slug amigável para URLs.
 * @param {string} texto - O texto original a ser formatado.
 * @returns {string} O slug gerado em caixa baixa e separado por hífens.
 */
function gerarSlug(texto) {
  return texto
    .toString()
    .normalize('NFD')                   // Decompõe caracteres acentuados em código base + diacrítico
    .replace(/[\u0300-\u036f]/g, '')     // Remove todos os sinais diacríticos (acentos e til)
    .toLowerCase()                      // Converte todo o texto para letras minúsculas
    .trim()                             // Remove espaços em branco no início e no fim
    .replace(/[^a-z0-0 -]/g, '')        // Remove caracteres especiais que não sejam letras, números, espaço ou hífen
    .replace(/\s+/g, '-')               // Substitui um ou mais espaços consecutivos por um único hífen
    .replace(/-+/g, '-');               // Evita hífens duplos ou múltiplos em sequência
}

// --- Exemplo Prático de Uso ---
const tituloArtigo = '  Atenção! Guia Completo de Ações, Renda Fixa & Criptos em 2026!  ';
const urlSlug = gerarSlug(tituloArtigo);

console.log('Título Original:', tituloArtigo);
console.log('Slug para URL:', urlSlug);
// Saída: atencao-guia-completo-de-acoes-renda-fixa-criptos-em-2026

Pontos-chave

  • Desestruturação com Unicode NFD: A normalização 'NFD' separa os acentos de suas letras base (ex: "á" torna-se "a" + combining acute accent), permitindo a remoção limpa dos acentos via Regex.
  • Otimização para SEO: Substitui espaços e pontuações por hífens simples, gerando links amigáveis e de fácil leitura para usuários e rastreadores de busca.
  • Prevenção de Caracteres Inválidos: A expressão regular remove símbolos e pontuações como !, @, #, & que causam problemas de codificação quando passados diretamente em endereços web.
  • Zero Dependências: Funciona 100% com métodos nativos do JavaScript no Node.js e nos navegadores modernos, eliminando a necessidade de pacotes como slugify em cenários simples.

Thales de Oliveira Gomes

Thales de Oliveira Gomes é gestor de Tecnologia da Informação, especialista em infraestrutura de redes, computação em nuvem e operações de TI hospitalar, com mais de 18 anos de experiência na área. Graduado em Gestão de TI e pós-graduado em Engenharia de Redes e Telecomunicações, Cloud Computing, Redes de Computadores e Gestão Hospitalar, construiu uma trajetória sólida liderando projetos de alta complexidade, como a implementação e migração para nuvem de sistemas ERP de grande porte. Sua atuação no setor o levou a ser indicado ao prêmio IT Leaders Brasil na categoria Rising Leaders. Além da carreira corporativa e da paixão por tecnologia, Thales é autor independente com mais de 70 obras publicadas sobre redes, segurança da informação, Linux e física, além de criador de conteúdo no blog Vetor Tech e na plataforma CiberDicas. No universo das artes e do entretenimento, atua como produtor de música eletrônica sob o projeto Yknex, cria ilustrações digitais e compartilha walkthroughs de games no YouTube.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *