Correção de links e página 404 personalizada no Apache

Aqui vai mais uma dica rápida:

mod-speling: O speling é outro módulo útil e bastante usado. Ele tem a função de corrigir erros simples nos links digitados pelos usuários, encaminhando-os para a página com o nome mais similar, em vez de mostrar um erro 404. Com isso,
um visitante que tente acessar por engano o “www.gdhpress.com.br/curso“, por exemplo, será enviado para a “www.gdhpress.com.br/cursos“, que é a página com nome mais próximo e possivelmente a que ele desejava acessar.

Além de evitar a perda de algumas visitas, a correção automática das URLs ajuda a reduzir o volume de erros de indexação nos mecanismos de busca, causados por links externos apontando para páginas do site que não existem. Como o conteúdo do site não é
duplicado (os visitantes são apenas redirecionados para a página correta, automaticamente), não existe nenhuma contra-indicação no uso do módulo, com exceção de um pequeno aumento na carga de processamento do servidor, proporcional ao volume de correções
que ele precisar realizar.

Em praticamente todas as distribuições, o mod-speling é incluído diretamente no pacote principal do Apache, de forma que você precisa apenas ativá-lo.

Nas distribuições derivadas do Debian, use o a2enmod, como em:

# a2enmod speling
# /etc/init.d/apache2 force-reload

Nas derivadas do Red Hat, crie o arquivo “/etc/httpd/conf.d/speling.conf“, contendo a linha:

LoadModule speling_module modules/mod_speling.so

Caso ao reiniciar o Apache você receba um erro como “[warn] module speling_module is already loaded, skipping“, significa que o módulo já está ativado por padrão. Nesse caso você pode remover o arquivo, pois ele não é necessário.

Com o módulo ativo, você precisa apenas ativar o uso do módulo, incluindo a linha “CheckSpelling on” dentro da configuração do site, como em:

<VirtualHost *:80>
ServerAdmin admin@gdhpress.com.br
ServerName www.gdhpress.com.br
DocumentRoot /var/www/gdhpress
CheckSpelling on
</VirtualHost>

Se preferir que o módulo seja usado automaticamente para todos os sites hospedados, inclua a linha diretamente no arquivo de configuração principal do Apache.

A principal limitação é que o módulo é capaz de corrigir apenas erros simples, agindo em casos em que o usuário troca ou omite apenas um caractere da URL, mas não em casos em que ele tenta acessar uma página aleatória. Nesse caso, a melhor solução é
usar uma página 404 personalizada, que mostre um campo de busca ou alguma mensagem de erro personalizada.

Para isso, adicione a linha abaixo dentro da configuração do virtual host (junto com a opção “CheckSpelling on”) ou então dentro do arquivo .htaccess, no diretório raiz do site:

ErrorDocument 404 /404.html

O “/404.html” indica a localização da sua página de erro personalizada, a partir do diretório raiz do site. Na verdade, você pode indicar qualquer página (alguns administradores simplesmente encaminham o visitante para a página inicial do site), mas
isso não é muito recomendável, pois fará com que os mecanismos de busca indexem a página várias vezes, o que pode prejudicar o posicionamento do site nas buscas. O ideal é criar uma página personalizada, incluindo a tag “<meta name=”robots”
content=”noindex”>” dentro da seção “head” do html. Isso orienta os mecanismos de busca a não indexarem a página de erro.

Ver Mais

Postagem relacionada