DfRedirects: redirecionamentos 301 e captura dos 404 para Shopware 6
Redirecionamentos 301/302/410 e registo dos 404 para Shopware 6: instalação, regras, sugestões, importação CSV e resolução de problemas.
Apresentação
O DfRedirects acrescenta ao Shopware 6 um verdadeiro gestor de redirecionamentos: regras 301, 302, 307, 308 e 410 com correspondência exata, wildcard ou expressão regular, captura automática dos erros 404 encontrados pelos seus visitantes, sugestões de destino por semelhança de URL e importação CSV em massa. A extensão funciona no Shopware 6.5, 6.6 e 6.7 com um único ZIP.
Instalação
A partir da administração
- Vá a Extensões > As minhas extensões.
- Clique em Carregar uma extensão e selecione o ficheiro
DfRedirects-1.0.0.zip. - Clique em Instalar e ative a extensão.
Por linha de comandos
bin/console plugin:refresh
bin/console plugin:install --activate DfRedirects
bin/build-administration.sh
bin/console cache:clear
A compilação da administração é indispensável: sem ela, o módulo DfRedirects não aparecerá no menu Conteúdos do seu back-office. Em ambiente de produção, use bin/build-administration.sh; em desenvolvimento, ./psh.phar administration:build ou o comando equivalente da sua instalação.
A instalação cria duas tabelas dedicadas: df_redirect (as suas regras de redirecionamento) e df_redirect_404 (o registo dos URLs não encontrados).
Configuração geral
Abra Extensões > As minhas extensões > DfRedirects > Configurar. Estão disponíveis três definições:
- Ativar o registo dos 404: regista os URLs não encontrados pelos seus visitantes. Ativo por predefinição.
- Padrões ignorados: uma entrada por linha. Os URLs correspondentes não são redirecionados nem registados. Os wildcards são aceites (por exemplo
/api-legacy/*); uma simples cadeia também chega, é procurada no URL. - Conservar a query string: transpõe os parâmetros do URL (por exemplo
?utm_source=newsletter) para o URL de destino. Ativo por predefinição, sem efeito nas respostas 410.
Os pedidos a recursos estáticos são ignorados à partida: pastas de sistema (média, miniaturas, bundles, tema) e extensões de ficheiro comuns (imagens, CSS, JS, fontes). Não precisa de os declarar nos padrões ignorados.
Criar um redirecionamento
O módulo encontra-se no menu Conteúdos > Redirecionamentos da administração. Clique em Acrescentar um redirecionamento e preencha:
- URL de origem: o caminho a intercetar, relativo à raiz do canal de venda (por exemplo
/antigos-produtos/sapatilhas-pele). - URL de destino: o caminho ou o URL absoluto de destino. Este campo fica oculto para o código 410.
- Código HTTP: 301 (permanente), 302 (temporário), 307, 308 ou 410 (página definitivamente eliminada).
- Tipo de correspondência: exato, wildcard ou regex (ver a secção seguinte).
- Prioridade: ordem de avaliação dos padrões, do mais alto ao mais baixo. Sem efeito nas correspondências exatas.
- Canal de venda: deixe vazio para aplicar a regra a toda a loja, ou selecione um canal específico.
- Ativo: permite desativar uma regra sem a eliminar.
Os três modos de correspondência
Exato
O URL de origem tem de corresponder ao caminho pedido. A presença ou ausência de barra final é tolerada: /a-minha-pagina e /a-minha-pagina/ acionam a mesma regra. É o modo a privilegiar, cobre a grande maioria dos casos e continua a ser o mais rápido.
Wildcard
O asterisco * capta qualquer parte do URL. No URL de destino, um asterisco na mesma posição retoma o valor captado.
Origem : /colecao/verao-*
Destino : /novidades/*
/colecao/verao-vestidos → /novidades/vestidos
/colecao/verao-calcoes → /novidades/calcoes
Regex
Para os casos mais finos, introduza uma expressão regular (sem delimitadores) e referencie os grupos captados no destino com $1, $2, e assim por diante.
Origem : ^/produto/([0-9]+)-(.+)$
Destino : /p/$2
As expressões inválidas são recusadas na gravação e na importação: uma regra partida não pode colocar a sua loja em erro.
Ordem de avaliação
- Correspondências exatas associadas ao canal de venda atual.
- Correspondências exatas globais.
- Padrões wildcard e regex ativos, ordenados por prioridade decrescente.
Registo dos 404
O separador Registo dos 404 lista todos os URLs não encontrados pelos seus visitantes. Cada entrada é desduplicada: um mesmo URL só aparece uma vez, com o seu número de ocorrências, o referrer da última visita e a data da última passagem. Ordene por número de ocorrências para tratar em prioridade os URLs partidos que mais tráfego lhe custam.
Estão disponíveis duas ações em cada linha:
- Criar um redirecionamento: abre o formulário com o URL de origem pré-preenchido e as sugestões de destino já carregadas. Depois de guardar, o 404 é automaticamente marcado como resolvido.
- Marcar como resolvido: arquiva a entrada sem criar regra, por exemplo para um URL que nunca existiu.
Um interruptor Mostrar os resolvidos permite voltar a apresentar as entradas tratadas.
Sugestões de destino
Assim que introduz um URL de origem, a extensão propõe até cinco destinos classificados por pontuação de semelhança. O cálculo compara o último segmento do URL partido com os seus URLs SEO canónicos: um pré-filtro na base de dados restringe o campo dos candidatos, e depois uma pontuação de proximidade textual classifica-os. Um clique numa sugestão preenche o campo de destino.
As sugestões assentam nos URLs SEO canónicos e não eliminados da sua loja. Se o seu catálogo acabou de ser alterado, regenere os URLs SEO do Shopware antes de confiar nas pontuações.
Importação CSV
O botão Importar abre uma janela que aceita um ficheiro ou uma colagem direta. O formato esperado tem cinco colunas:
origem;destino;codigo;tipo;ativo
/pagina-antiga;/pagina-nova;301;exact;1
/colecao/verao-*;/novidades/*;301;wildcard;1
/produto-eliminado;;410;exact;1
- Delimitador: ponto e vírgula ou vírgula, detetado automaticamente.
- Linha de cabeçalho: opcional, é ignorada se for detetada.
- Colunas 3 a 5: facultativas. Por predefinição, código 301, tipo exato, regra ativa.
- Tipo: deduzido automaticamente se a origem contiver um asterisco.
- Códigos aceites: 301, 302, 307, 308 e 410. O destino pode ficar vazio num 410.
A importação funciona em modo de atualização: uma regra existente com o mesmo URL de origem é atualizada em vez de duplicada. As regras importadas são criadas com âmbito global (todos os canais). No fim, a extensão mostra o número de linhas criadas, atualizadas e ignoradas, com o detalhe dos erros encontrados.
Acompanhamento do desempenho
Cada regra conta os seus acionamentos e memoriza a data da última passagem. Uma regra que ficou a zero durante vários meses pode muitas vezes ser arquivada; ao contrário, uma regra muito solicitada assinala um URL antigo ainda amplamente difundido, que pode ser útil mandar corrigir na origem (backlink, campanha, catálogo em papel).
Resolução de problemas
O módulo não aparece no menu Conteúdos
A compilação da administração não foi executada depois da instalação. Execute bin/build-administration.sh e limpe a cache do navegador.
Um redirecionamento não é acionado
- Verifique que a regra está ativa e que o seu canal de venda corresponde (ou que é global).
- Verifique que o URL de origem é mesmo relativo à raiz do canal: num canal servido a partir de uma subpasta, não introduza o prefixo do domínio.
- Verifique que nenhum padrão ignorado cobre esse URL.
- Limpe a cache:
bin/console cache:clear. - Confirme que nenhum redirecionamento está já a ser aplicado a montante pelo seu servidor web ou pelo seu CDN; nesse caso, o pedido nunca chega ao Shopware.
O registo dos 404 fica vazio
Verifique que a opção Ativar o registo dos 404 está marcada na configuração da extensão, e que os seus padrões ignorados não são demasiado amplos. Lembre-se de que os recursos estáticos são excluídos por conceção.
Um ciclo de redirecionamentos
Acontece quando uma regra aponta para um URL que é ele próprio redirecionado de volta, diretamente ou através de um padrão wildcard demasiado amplo. Procure o URL de destino na lista de origens e restrinja o padrão em causa.
Desinstalação
Na desinstalação, o Shopware propõe conservar os dados. Se desmarcar essa opção, as tabelas df_redirect e df_redirect_404 são eliminadas definitivamente, bem como todas as suas regras e o histórico dos 404. Lembre-se de exportar as regras antes, se previr uma reinstalação.