Automatizando a criação de URLs amigáveis/alternativas no Drupal 7

Há algumas (poucas) semanas eu postei um artigo explicando um pouco sobre as URLs amigáveis (ou alternativas), um recurso que é básico do Drupal mas que pode trazer vários benefícios tanto para a experiência do usuário quanto no posicionamento das páginas nos mecanismos de busca. Porém, dependendo do nível de projeto que você esteja trabalhando, pode não ser conveniente que você deixe o usuário definir o endereço para cada conteúdo criado (notícias, páginas, eventos etc). Mas existe uma outra solução bem simples — complementar ao módulo Path, apresentado no artigo citado — para automatizar a geração dessas URLs; e é nela que eu vou me focar aqui.

O módulo Pathauto permite criar endereços alternativos para vários tipos de dados (nodes, termos de taxonomia, usuários) sem a necessidade de uma intervenção manual em cada conteúdo. Com base em um padrão pré-definido, incluindo um conjunto de informações variáveis (chamados de tokens), os endereços são criados automaticamente assim que esses conteúdos são adicionados ou atualizados. Você pode, por exemplo, definir que todas as notícias criadas terão um endereço no seguinte padrão: noticias/[node:title]. O módulo Token se encarregará de substituir [node:title] pelo título do node.

Saiba mais sobre o módulo Token.

Instalando o módulo Pathauto

Como citado anteriormente, o módulo Pathauto depende de um outro módulo chamado Token. A instalação dos módulos segue o mesmo padrão de qualquer outro:

Instalação dos módulos Pathauto e Token

  1. Faça download da última versão estável pra Drupal 7. No momento em que escrevo este artigo, a versão recomendada do Pathauto é a 7.x-1.2 e a do Token é 7.x-1.5;
  2. Descompacte ambos dentro da sua pasta de módulos do seu site (normalmente fica em /sites/all/modules);
  3. Acesse a página Administração » Módulos (Administer » Modules) e ative-os (estarão pertos, um do outro).

A primeira mudança que você poderá perceber é no formulário de criação de conteúdo ou taxonomia: a guia vertical Configurações de endereço apresentará um novo campo Gerar automaticamente as URLs alternativas (Generate automatic URL alias). A partir desse momento os usuários não precisam mais se preocupar em preencher manualmente este campo.

Habilitando geração automatizada de URLs

Definindo os padrões para geração automatizada de URLs alternativas

Assim que habilitar os módulos, navegue em Administração » Configurações » Busca e metadados » URLs alternativas (Administration » Configuration » Search and metadata » URL aliases). Nessa página você poderá definir os padrões para geração de URLs para conteúdos, taxonomias, usuários etc. Dependendo dos módulos que você estiver usando, outros tipos de entidades poderão aparecer.

Você pode definir padrões para todos as entidades de um determinado tipo (conteúdos, por exemplo) ou especificar um padrão válido somente para um determinado bundle (um tipo de conteúdo, por exemplo).

Configurando padrões de URL

Como citei anteriormente, você pode (e deve) utilizar tokens para definir o padrão de endereços. A lista de tokens você encontrará no link Padrões de substituição (Replacement patterns). Experimente incluir alguns tokens nos padrões e criar conteúdos.

Padrões de substituição

Atualização ou remoção em massa

Você pode criar URLs alternativas em massa, para conteúdos já existentes no seu site. Navegue em Administração » Configurações » Busca e metadados » URLs alternativas » Atualização em massa (Administration » Configuration » Search and metadata » URL aliases » Bulk update). Selecione os tipos de entidade para os quais os endereços precisarão ser criados e clique no botão Atualizar (Update).

Atualização em massa

Você também pode remover, em massa, endereços já criados anteriormente. Isso é útil quando você define um novo padrão de URL e quer que todos os conteúdos o tenham. Para isso, navegue em Administração » Configurações » Busca e metadados » URLs alternativas » Apagar URLs alternativas (Administration » Configuration » Search and metadata » URL aliases » Delete aliases).

Remoção em massa

Atenção: Lembre-se sempre no seu usuário! Se você apagar endereços alternativos, as pessoas poderão perder acesso aos seus conteúdos. Neste caso, a recomendação é que você crie redirecionamentos 301 do endereço antigo para o novo. O módulo Redirect poderá ajudá-lo nesse processo, automatizando a criação de alguns redirecionamentos.

Configurações gerais do Pathauto

Configurações gerais do Pathauto

Além de definir os padrões para geração automatizada de endereços, você pode configurar outras opções que servirão como base para o trabalho do Pathauto. Na aba Configurações (Settings) você pode definir, por exemplo:

  • Separador das palavras no endereço
  • Se as palavras serão transformadas em minúsculas ou manterão o formato do preenchimento original
  • Comprimento máximo para a URL
  • O que fazer quando uma URL for atualizada
  • Outros

Removendo palavras desnecessárias

Uma item bem interessante, que eu faço questão de destacar, é a opção Strings a remover (Strings to Remove).

Remoção de palavras desnecessárias

O campo já vem preenchido com strings em inglês, mas você pode acrescentar algumas palavras em português. Em geral, incluímos termos que não farão diferença se não estiverem presentes, mantendo apenas palavras-chave relevantes. Uma lista que eu costumo utilizar é a seguinte:

um, uma, uns, umas, o, a, os, as, no, na, nos, nas, do, da, dos, das, de, em, com, como, para, por, que

Substituindo caracteres especiais e acentuados

Muitas vezes, quando as URLs estão sendo geradas automaticamente, nos deparamos com endereço incluindo caracteres acentuados. Isso pode se tornar um problema, dependendo da forma como o navegador vai interpretar o link.

Para evitar esse tipo de situação, você pode utilizar o módulo Transliteration. Em linhas gerais, ele tenta substituir caracteres no padrão Unicode para US-ASCII correspondentes. Um exemplo bem prático disso é a substituição do "ç" pelo "c". Daí você já pode imaginar as possibilidades.

O uso desse recurso é muito simples: ao habilitar o módulo, uma nova opção aparecerá na configuração do Pathauto: Transliterar antes de criar URL alternativa (Transliterate prior to creating alias).

Transliteração de URLs

A partir dessa configuração, você não precisará mais se preocupar com caracteres acentuados nas suas URLs.


E então, curtiu o artigo? Então comente e compartilhe ;)