dfsearchconsole: Google Search Console para PrestaShop
Instalação, configuração OAuth Google, sincronização cron e exploração das oportunidades SEO do módulo dfsearchconsole.
Apresentação
O dfsearchconsole sincroniza os dados da Google Search Console diretamente no back-office PrestaShop 8 e 9: principais pesquisas por URL, CTR por página, posição média e, sobretudo, quatro categorias de oportunidades SEO calculadas automaticamente com sugestões de otimização contextuais.
O módulo acrescenta 5 separadores em Melhorar → Search Console: Painel, Páginas, Pesquisas, Oportunidades e Parâmetros. A comunicação com a Google é feita via OAuth2 em modo só de leitura (âmbito webmasters.readonly), sem dependência Composer: apenas cURL nativo.
Instalação
- Descarregue o ficheiro ZIP do módulo a partir da sua conta de cliente DataFirefly.
- No back-office PrestaShop: Módulos → Gestor de módulos → Carregar um módulo.
- Selecione o ficheiro ZIP e deixe a instalação terminar.
- O módulo cria 4 tabelas SQL (
ps_dfgsc_sync,ps_dfgsc_page,ps_dfgsc_query,ps_dfgsc_opportunity) e regista os seus 5 separadores sob o menu Melhorar.
Pré-requisitos: PrestaShop 8.0 a 8.2 ou 9.0, PHP 7.4 no mínimo (8.1+ recomendado), extensão cURL ativada e uma propriedade validada na Google Search Console.
Configuração OAuth Google Cloud
O módulo comunica com a API Search Console através das suas próprias credenciais OAuth2. A criação é gratuita e demora cerca de dez minutos.
1. Criar o projeto e ativar a API
- Vá a console.cloud.google.com e crie um projeto (ou reutilize um).
- Em APIs e serviços → Biblioteca, procure Google Search Console API e ative-a.
2. Configurar o ecrã de consentimento
- Abra APIs e serviços → Ecrã de consentimento OAuth.
- Tipo de utilizador: Externo (ou Interno se usar o Google Workspace).
- Preencha o nome da aplicação, o e-mail de suporte e o seu domínio.
- Adicione o âmbito
https://www.googleapis.com/auth/webmasters.readonly. - Enquanto a aplicação não estiver publicada, adicione o seu endereço Google como utilizador de teste.
3. Criar o ID de cliente OAuth
- Em APIs e serviços → Credenciais, clique em Criar credenciais → ID de cliente OAuth.
- Tipo de aplicação: Aplicação Web.
- Em URIs de redirecionamento autorizados, cole o URL apresentado no ecrã Parâmetros do módulo (na forma
https://o-seu-dominio.pt/module/dfsearchconsole/oauth). - Anote o Client ID e o Client Secret.
4. Ligar o módulo
- No PrestaShop, abra Melhorar → Search Console → Parâmetros.
- Cole o Client ID e o Client Secret e guarde.
- Clique em Ligar à Google e autorize o acesso.
- De volta ao back-office, selecione a propriedade Search Console a sincronizar na lista pendente.
O botão Testar a ligação verifica que o token funciona e mostra o número de propriedades acessíveis a partir da conta ligada.
Sincronização
Sincronização manual
O botão Sincronizar agora do ecrã Parâmetros lança imediatamente uma sincronização completa. Conte alguns segundos para uma loja pequena a 2-3 minutos para um site com milhares de páginas indexadas.
Sincronização automática (cron)
O ecrã Parâmetros mostra um URL de cron protegido por um token aleatório de 32 caracteres. Adicione-o ao seu crontab para uma sincronização diária:
0 4 * * * curl -s "https://o-seu-dominio.pt/module/dfsearchconsole/cron?token=O_SEU_TOKEN" > /dev/null
A Google Search Console aplica um atraso de cerca de 2 dias aos dados. O módulo sincroniza portanto sempre a janela que termina em hoje − 2 dias. Uma sincronização por dia é suficiente.
Período de lookback
Por defeito, o módulo recupera 90 dias de dados e os 90 dias anteriores para calcular os deltas. Este período é configurável de 28 a 480 dias em Parâmetros. Quanto maior a janela, mais longa a sincronização.
Painel
O painel dá uma visão geral: 4 cartões KPI (cliques, impressões, CTR, posição média) com as evoluções em relação ao período anterior, o top 10 das páginas, o top 15 das pesquisas e uma pré-visualização das oportunidades prioritárias.
Para a posição média, uma descida é uma melhoria (quanto mais baixa a posição, melhor classificada está a página). O painel mostra portanto uma seta verde quando a posição diminui.
Páginas e Pesquisas
Separador Páginas
Lista paginada e ordenável de todos os URLs devolvidos pela Search Console, com cliques, impressões, CTR, posição e delta de cliques. Um filtro permite restringir por tipo de página (produto, categoria, CMS, outro) ou por texto. Clicar num URL abre a sua vista de detalhe: KPI da página com valores do período anterior, pesquisas que visam esse URL, oportunidades associadas e ligação direta para a edição da entidade PrestaShop correspondente.
Separador Pesquisas
Dois modos de apresentação:
- Vista agrupada: uma linha por pesquisa, agregada em todos os URLs. Ideal para identificar os seus termos principais.
- Vista detalhada: uma linha por par pesquisa × URL. Indispensável para analisar a canibalização.
As posições são apresentadas com um código de cores: verde (1-3), azul (4-10), amarelo (11-20, impulsionáveis), cinzento (21+).
Oportunidades SEO
Depois de cada sincronização, o módulo recalcula automaticamente quatro categorias de oportunidades:
- Top 11–20 impulsionáveis (striking distance): pesquisas posicionadas entre 11 e 20 (limiares configuráveis) com um mínimo de impressões. O módulo calcula o ganho potencial de cliques simulando uma passagem à posição 5.
- CTR abaixo da média (top 10): páginas no top 10 cujo CTR real é inferior a 50 % do CTR esperado segundo a curva de referência integrada (agregada de estudos Advanced Web Ranking, Sistrix, Backlinko).
- Canibalização: a mesma pesquisa a devolver 2 ou mais URLs. O módulo lista os URLs concorrentes.
- Perda de cliques: páginas que perderam mais de 25 % de cliques face ao período anterior.
Cada oportunidade mostra uma pontuação de prioridade, as métricas associadas e sugestões de otimização adaptadas ao tipo de página (ficha de produto, categoria ou página CMS). O fluxo Aberta / Tratada / Ignorada permite acompanhar o seu progresso. O botão Recalcular refaz todas as oportunidades a partir dos dados já na base de dados, sem voltar a chamar a API Google.
Definição dos limiares
Em Parâmetros, três limiares controlam a deteção:
- Impressões mínimas (por defeito 50): abaixo disso, o par pesquisa × URL é ignorado pelos detetores.
- Posição mín. / máx. striking distance (por defeito 11 / 20): a janela de posições considerada impulsionável.
Para uma loja pequena com pouco tráfego, baixe o limiar de impressões para 20-30. Para um site grande, suba-o para 100+ para só fazer subir os trabalhos significativos.
Resolução de problemas
« Token expirado » ou erro 401
O refresh token é usado automaticamente de hora a hora. Se a Google tiver revogado o acesso (mudança de palavra-passe, longa inatividade, revogação manual), volte a ligar o módulo através do botão Ligar à Google do ecrã Parâmetros.
Nenhum site na lista pendente
A conta Google ligada deve ter acesso a pelo menos uma propriedade Search Console (proprietário ou utilizador). Verifique em search.google.com/search-console com a mesma conta.
Erro « redirect_uri_mismatch » na ligação
O URI de redirecionamento declarado na Google Cloud Console deve corresponder exatamente ao apresentado no ecrã Parâmetros do módulo (protocolo https incluído, sem barra final a mais).
Sincronização muito longa ou timeout
A API pagina por lotes de 25 000 linhas. Para os sites grandes: aumente memory_limit para 512M, aumente max_execution_time e privilegie o cron (que não tem o limite de tempo do navegador).
URLs não resolvidos em entidades PrestaShop
O resolvedor trabalha sobre o link_rewrite (slug do URL amigável). Os URLs gerados por módulos de routing de terceiros podem ficar por ligar: aparecem com o tipo « other » mas continuam plenamente analisados.
Desinstalação
A desinstalação elimina as 4 tabelas SQL, os separadores de administração e todas as chaves de configuração (incluindo os tokens OAuth). Lembre-se de revogar o acesso da aplicação nas definições de segurança da sua conta Google se já não usar o módulo.