Configurar redirecionamentos e canonicalizacao WordPress para link building em Osasco: Guia técnico

Aprenda a configurar redirecionamentos 301 e tags canônicas no WordPress para consolidar autoridade de links e evitar conteúdo duplicado em projetos de SEO …

Um cliente de Osasco migrou o site institucional de um domínio antigo para um novo, mantendo a mesma estrutura de URLs. O problema: centenas de backlinks conquistados ao longo de anos apontavam para o domínio antigo, e o desenvolvedor anterior havia configurado apenas um redirecionamento genérico na raiz — tudo caía na home page. Resultado: perda de 60% do tráfego orgânico em três semanas. O cenário expõe um erro clássico: tratar redirecionamento e canonicalização como detalhes de infraestrutura, quando são alicerces de preservação de autoridade em link building.

No WordPress, a combinação correta de redirecionamentos 301 no nível do servidor e tags canônicas no HTML evita que equity de links se disperse entre URLs duplicadas, parâmetros de rastreamento ou versões legadas. Para agências e profissionais que atendem clientes em mercados competitivos como Osasco, dominar essa configuração técnica diferencia um projeto que mantém posições de um que precisa reconstruir autoridade do zero.

Este guia aborda a implementação prática, do mapeamento de URLs à validação no Search Console, com foco em performance, escalabilidade e aderência às diretrizes do Google.

Mapeamento e auditoria prévia de URLs

Antes de escrever uma única regra de redirecionamento, faça o inventário completo. Exporte todas as URLs indexadas via Screaming Frog, Sitebulb ou Google Search Console (Relatório de Cobertura > Indexadas). Cruze com dados de backlinks do Ahrefs, Semrush ou Search Console (Links > Principais sites com links). Identifique:

  • URLs com backlinks de qualidade que mudaram de endereço
  • Páginas com conteúdo duplicado ou near-duplicate
  • URLs com parâmetros de tracking (utm_source, fbclid, gclid) indexadas
  • Versões HTTP/HTTPS, www/non-www, trailing slash/non-trailing slash

Registre em planilha: URL origem, URL destino, tipo de ação (301, canonical, noindex), status HTTP atual, backlinks referenciantes. Esse mapeamento evita redirecionamentos em cadeia, loops e perda de sinais de relevância. Para projetos de SEO programático em escala, a planilha vira spec de automação via WP-CLI ou scripts personalizados.

Redirecionamentos 301 no nível do servidor

Plugins como Redirection ou Rank Math funcionam para gestão pontual, mas adicionam overhead de PHP a cada requisição. Em sites com volume de tráfego relevante, implemente regras direto no servidor web.

Apache (.htaccess)

RewriteEngine On
RewriteCond %{HTTP_HOST} ^dominioantigo\.com\.br$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www\.dominioantigo\.com\.br$ [NC]
RewriteRule ^(.*)$ https://dominionovo.com.br/$1 [R=301,L]

Redirect 301 /servicos/encanamento-antigo/ https://dominionovo.com.br/servicos/encanamento/
Redirect 301 /blog/dica-velha/ https://dominionovo.com.br/blog/dica-atualizada/

RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ https://www.dominionovo.com.br/$1 [R=301,L]

NGINX (nginx.conf ou site conf)

server {
    server_name dominioantigo.com.br www.dominioantigo.com.br;
    return 301 https://www.dominionovo.com.br$request_uri;
}

server {
    server_name www.dominionovo.com.br;
    
    rewrite ^/servicos/encanamento-antigo/?$ https://www.dominionovo.com.br/servicos/encanamento/ permanent;
    rewrite ^/blog/dica-velha/?$ https://www.dominionovo.com.br/blog/dica-atualizada/ permanent;
}

Boas práticas:

  • Use permanent (NGINX) ou R=301,L (Apache) para sinalizar redirecionamento permanente
  • Preserve $request_uri ou $1 para manter query strings e paths intactos
  • Teste com curl -I https://dominioantigo.com.br/servicos/encanamento-antigo/ — deve retornar HTTP/1.1 301 Moved Permanently e Location: https://www.dominionovo.com.br/servicos/encanamento/
  • Evite cadeias: nunca aponte um 301 para outro 301; aponte direto para a URL final 200 OK

Canonicalização via hooks no WordPress

A tag <link rel="canonical" href="..." /> no <head> indica ao Google a versão preferida de indexação. O WordPress gera canonicals auto-referenciadas nativamente desde a versão 4.6, mas falha em cenários comuns: paginação, parâmetros de URL, CPTs customizados, AMP.

Remover parâmetros de tracking da canonical

add_filter( 'get_canonical_url', function( $canonical_url ) {
    $parsed = parse_url( $canonical_url );
    if ( ! empty( $parsed['query'] ) ) {
        parse_str( $parsed['query'], $query_params );
        // Parâmetros que NÃO alteram conteúdo
        $tracking_params = [ 'utm_source', 'utm_medium', 'utm_campaign', 'utm_content', 'utm_term',
                            'fbclid', 'gclid', 'msclkid', 'ref', 'source' ];
        foreach ( $tracking_params as $param ) {
            unset( $query_params[ $param ] );
        }
        if ( ! empty( $query_params ) ) {
            $new_query = http_build_query( $query_params );
            $canonical_url = $parsed['scheme'] . '://' . $parsed['host'] . $parsed['path'] . '?' . $new_query;
        } else {
            $canonical_url = $parsed['scheme'] . '://' . $parsed['host'] . $parsed['path'];
        }
    }
    return $canonical_url;
} );

Canonical em paginação (rel=prev/next + canonical para página 1)

add_action( 'wp_head', function() {
    if ( is_paged() ) {
        global $paged;
        $paged = $paged ?: get_query_var( 'paged' );
        $canonical = get_pagenum_link( 1 );
        echo '<link rel="canonical" href="' . esc_url( $canonical ) . '" />' . "\n";
        if ( $paged > 1 ) {
            echo '<link rel="prev" href="' . esc_url( get_pagenum_link( $paged - 1 ) ) . '" />' . "\n";
        }
        echo '<link rel="next" href="' . esc_url( get_pagenum_link( $paged + 1 ) ) . '" />' . "\n";
    }
} );

Canonical para Custom Post Types com rewrites customizados

add_filter( 'get_canonical_url', function( $canonical_url, $post ) {
    if ( 'case_study' === get_post_type( $post ) ) {
        // Estrutura: /portfolio/{categoria}/{slug}/
        $terms = get_the_terms( $post, 'portfolio_category' );
        if ( $terms && ! is_wp_error( $terms ) ) {
            $primary_term = $terms[0];
            return home_url( '/portfolio/' . $primary_term->slug . '/' . $post->post_name . '/' );
        }
    }
    return $canonical_url;
}, 10, 2 );

Integração com plugins de SEO (Yoast, Rank Math, SEOPress)

Plugins de SEO gerenciam canonicals via suas próprias APIs. O filtro wpseo_canonical (Yoast) ou rank_math/frontend/canonical (Rank Math) permite sobrescrever a URL canônica antes da renderização. Exemplo para Yoast:

add_filter( 'wpseo_canonical', function( $canonical ) {
    if ( is_singular( 'servico' ) ) {
        $post = get_queried_object();
        $city_term = get_the_terms( $post, 'cidade' );
        if ( $city_term && ! is_wp_error( $city_term ) ) {
            // Canonical aponta para versão da cidade principal
            return home_url( '/servicos/' . $city_term[0]->slug . '/' . $post->post_name . '/' );
        }
    }
    return $canonical;
} );

Importante: Desative a geração nativa de canonical do WordPress (remove_action( 'wp_head', 'rel_canonical' )) apenas se o plugin de SEO assumir 100% do controle. Conflitos geram canonicals duplicadas ou ausentes — ambos prejudiciais.

Validação e monitoramento contínuo

Após implementar, valide em três frentes:

  1. Teste manual: curl -I em 20+ URLs mapeadas (antigas, com parâmetros, paginadas). Confirme 301 para destinos corretos e 200 OK nas finais.
  2. Inspeção no Search Console: Use a Ferramenta de Inspeção de URL em 10 URLs canônicas. Verifique “URL canônica selecionada pelo Google” — deve bater com sua tag. Se divergir, investigue sinais conflitantes (sitemap, links internos, hreflang).
  3. Rastreamento completo: Rode Screaming Frog (modo Spider) no site todo. Filtros úteis: “Redirect Chains”, “Canonical Mismatch”, “Multiple Canonicals”, “Non-Indexable Canonicals”.

Monitore por 30 dias: tráfego orgânico (GA4/GSC), posições médias (GSC), impressões/cliques por URL. Quedas em URLs redirecionadas são normais na primeira semana; recuperação deve ocorrer em 2-3 semanas. Se não recuperar, audite: backlinks perdidos, conteúdo alterado, velocidade da página destino, canonicals conflitantes.

Erros comuns que vazam autoridade

Erro Impacto Correção
Redirecionamento 302 (temporário) em migração permanente Google não transfere link equity Use 301 ou 308
Canonical apontando para URL que retorna 404/301 Google ignora a canonical Canonical deve apontar para URL 200 OK
Canonical auto-referenciada em página paginada (página 2 aponta para si) Indexação fragmentada Páginas paginadas → canonical para página 1
Parâmetros UTM na canonical Dilui sinais entre milhares de URLs Strip de parâmetros via hook (exemplo acima)
Redirecionamento em cadeia (A→B→C) Perda de ~15% equity por hop Aponte A→C direto
Sitemap com URLs não canônicas Sinais conflitantes para o Google Sitemap só com URLs canônicas 200 OK
Hreflang apontando para URLs não canônicas Confusão em SEO internacional Hreflang = URL canônica de cada idioma

Para projetos de link building em Osasco e região, onde a competição por termos locais exige precisão técnica, esses detalhes separam sites que escalam de sites que estagnam. A consulte o guia para aprofundar estratégias de autoridade local.

Conclusão prática

Redirecionamentos 301 no servidor e canonicals limpas no WordPress formam a base técnica que preserva cada backlink conquistado. Mapeie antes, implemente no nível certo (servidor para 301, hook/filtro para canonical), valide com ferramentas de rastreamento e monitore por ciclos completos de indexação. Em mercados como Osasco, onde a autoridade de domínio decide posições, essa disciplina técnica é o diferencial entre manter tráfego ou recomeçar do zero. Para integrar essa base com automações de conteúdo e gestão de leads, veja como blocos Gutenberg personalizados para serviços de encanamento no Cambuci e área do cliente para histórico de manutenções em Moema resolvem necessidades operacionais reais.

Checklist prático

0 de 9 concluídos

Perguntas frequentes

Qual a diferença entre redirecionamento 301 e tag canonical?

O redirecionamento 301 move o usuário e o bot para uma nova URL permanentemente, transferindo autoridade. A tag canonical apenas sinaliza ao Google qual versão da página deve ser indexada, mantendo ambas acessíveis.

Quando devo usar redirecionamento em vez de canonical?

Use redirecionamento 301 quando a página antiga não deve mais existir ou ser acessada (mudança de domínio, fusão de páginas). Use canonical quando precisa manter variações acessíveis (parâmetros UTM, paginação, versões print) mas quer consolidar o sinal de indexação.

Como evitar cadeias de redirecionamento no WordPress?

Sempre aponte o redirecionamento para a URL final de destino, nunca para outra URL que também redireciona. Audite periodicamente com ferramentas como Screaming Frog ou Redirect Checker para identificar e corrigir cadeias (301→301→200) que diluem link equity e atrasam rastreamento.

Redirecionamentos via plugin impactam performance?

Plugins de redirecionamento adicionam overhead mínimo se bem codificados, mas regras no .htaccess ou NGINX são mais rápidas por processarem no nível do servidor web. Em sites de alto tráfego, prefira regras de servidor para redirecionamentos em massa e use plugins apenas para gestão pontual.

Como testar se a canonicalização está funcionando?

Inspecione o código-fonte da página e busque pela tag no . Use a Ferramenta de Inspeção de URL no Google Search Console para ver qual URL o Google considera canônica. Confira também se não há canonicals auto-referenciadas incorretas ou apontando para URLs que retornam 404.

O que fazer com backlinks apontando para URLs com parâmetros?

Configure canonicals auto-referenciadas nas URLs limpas (sem parâmetros) e use redirecionamentos 301 das versões com parâmetros para as versões canônicas quando o tráfego direto for relevante. No Google Search Console, configure o tratamento de parâmetros de URL para 'Não rastrear' os parâmetros de tracking (utm_source, fbclid, gclid).