PS PrestaShop Iniciante

Detetar o idioma e o país do visitante (sem redirecionamento)

Instalar, configurar e testar a sugestão de idioma e país sem redirecionamentos.

Atualizado Versão do módulo 1.2.0

Apresentação

O módulo deteta o país do visitante (endereço IP) e os idiomas do navegador, e mostra um banner que sugere a mesma página na loja ou no idioma que lhe correspondem. Nunca redireciona: os robots não veem o banner e as suas tags hreflang ficam intactas.

Compatível com PrestaShop 8.0 a 9.x, loja única e multiloja. O banner só aparece se existirem pelo menos dois destinos ativos (dois idiomas ou duas lojas).

Instalação

  1. Em Módulos > Gestor de módulos, clique em Carregar um módulo e envie o ficheiro ZIP.
  2. O módulo cria automaticamente um destino por cada par loja e idioma ativo.
  3. Abra a página do módulo com o botão Configurar ou pelo menu Internacional > Sugestão de idioma e país.

Em multiloja, instale o módulo no contexto «Todas as lojas» e confirme que está ativado em cada loja de destino. Uma etiqueta «Módulo não ativado nesta loja» avisa-o no separador Destinos.

Ativar a deteção do país

O país é lido por esta ordem:

  • no cabeçalho do seu CDN (Cloudflare, CloudFront, Vercel);
  • num ficheiro MaxMind GeoLite2, se tiver um (caminho configurável);
  • na base integrada, gratuita e de domínio público.

Para instalar a base integrada, clique em Instalar a base no painel ou em Regras e deteção. O ficheiro (cerca de 8 MB, IPv4 e IPv6) é transferido para var/dflocalesuggest/ e lido localmente: nenhum IP de visitante é enviado a terceiros. O estado mostra a data e recomenda uma atualização após 45 dias.

Se o seu alojamento bloquear as ligações de saída, a transferência falha com uma mensagem clara. Coloque então um ficheiro .mmdb no servidor e indique o caminho em Regras e deteção.

Destinos

Cada linha é um par loja e idioma que o banner pode sugerir.

  • Etiqueta: substitui o nome da loja no banner (por exemplo «Brasil»).
  • Países: códigos ISO separados por vírgulas (PT, BR). Vazio significa qualquer país. Outra loja limitada a outros países nunca é sugerida a um visitante cujo país é conhecido.
  • Idiomas do navegador: códigos como pt, pt-br, en-gb.
  • Ordem: arraste as linhas para desempatar dois destinos com a mesma pontuação.

Adicionar os pares em falta cria linhas para novas lojas ou idiomas sem alterar as existentes. Se o módulo DataFirefly Hreflang estiver instalado, Importar do DataFirefly Hreflang reaproveita os seus códigos (pt-BR dá o idioma pt e o país BR).

Aparência

Escolha um tema, as quatro cores, o raio dos cantos, o tamanho do texto e o efeito vidro fosco. O posicionamento define-se separadamente para computador (barra superior ou inferior, cartão à esquerda ou à direita) e para móvel (cartão flutuante, barra). A pré-visualização ao vivo, à direita, mostra o resultado em computador e móvel antes de guardar.

  • Lembrete compacto: se o visitante ignorar o banner e continuar a navegar, as páginas seguintes mostram apenas uma pílula.
  • Atraso de apresentação: o banner aparece depois do carregamento da página mais este atraso.
  • Ocultar após recusa: durante quanto tempo um visitante que clicou em «Ficar aqui» deixa de ser incomodado.

Textos

O banner é escrito no idioma sugerido: um visitante alemão lê-o em alemão numa loja portuguesa. Cada idioma tem os seus textos, com variáveis inseridas num clique: {language}, {country}, {store}, {currency}. Um campo vazio usa o texto integrado.

Regras e deteção

  • Quando país e idioma não coincidem: prevalece o país (loja que entrega ao visitante) ou prevalece o idioma.
  • Respeitar visitantes multilingues: sem sugestão de idioma se o idioma atual estiver entre os do navegador.
  • Ocultar para clientes com sessão iniciada.
  • Páginas sem banner: controladores excluídos, carrinho e checkout por predefinição. É aceite o caráter universal (module-meumodulo-*).
  • Esperar que o banner de cookies feche: os principais gestores de consentimento são detetados e a lista de seletores CSS é editável.

Testar antes de publicar

O separador Simulador indica, para um país e idiomas de navegador, se o banner é mostrado, com texto, ligação e pontuação de cada destino. Para ver o banner real na loja, adicione o seu IP em Endereços IP de teste e abra uma página com ?dfls_country=DE&dfls_lang=de. A ligação «Ver na loja» do simulador faz isso por si.

Estatísticas

O painel mostra os banners apresentados (uma vez por visita), cliques, recusas, taxa de cliques, atividade diária e classificações por destino e por país em 7, 30, 90 dias ou um ano. Exportar CSV transfere uma linha por dia, loja de origem, destino e país. Os contadores são agregados: não é guardado nenhum IP, cookie ou identificador de cliente.

Comportamento do lado do visitante

  • Um visitante que clica na sugestão ou muda sozinho de loja ou idioma deixa de receber sugestões no destino escolhido.
  • O banner nunca é mostrado aos robots (Googlebot, Bingbot, Lighthouse) e tem data-nosnippet.
  • O HTML das páginas é igual para todos: o módulo funciona com LiteSpeed Cache, Varnish e CDN.

Para programadores

Eventos DOM em document: dfls:shown, dfls:accept, dfls:dismiss. Com a opção ativada, os eventos dfls_shown, dfls_accept e dfls_dismiss são enviados para o dataLayer do Google Tag Manager. O hook PHP actionDflocalesuggestResponse recebe a resposta por referência para alterar o texto, a ligação ou o destino.

Resolução de problemas

O banner não aparece

Verifique se o banner está ativo, se existem pelo menos dois destinos válidos, se a página não está excluída e se ainda não recusou ou aceitou uma sugestão neste navegador (limpe o armazenamento local do site). O simulador indica porque um destino é descartado.

O país aparece como «Desconhecido» no back-office

É normal se testar a partir de um IP local ou privado. Use o simulador ou os parâmetros de teste.

Esta página foi útil?

Ainda com dúvidas? Contacte o suporte