Canonização de URLs

Por Fábio Ricotta


Canonização? Que palavra mais estranha! Mas o que é isto?

Canonização é o processo de pegar a melhor URL quando se possui múltiplas escolhas, e geralmente indica a página inicial. Por exemplo, muitas pessoas podem considerar, as URLs abaixo, como iguais:

  • mestreseo.com.br
  • www.mestreseo.com.br
  • mestreseo.com.br/index.html
  • www.mestreseo.com.br/index.php

Mas tecnicamente todas estas urls são diferentes. Um determinado servidor por retornar conteúdos completamente diferentes para as urls citadas acima.

O problema que isto gera é a duplicação de conteúdo e a divisão do ranking (de cada buscador, por exemplo o PageRank do Google) entre suas páginas.

Imagine só… possuir 3 ou mais modos de acessar a index do seu site. Você com certeza está perdendo ranking e disperdiçando linkagem interna.

Para corrigir este problema, listo abaixo duas técnicas, a primeira é usando o .htaccess e a segunda organizando os links do site todo.

www vs no-www: Resolvendo o com .htaccess

O código abaixo faz com que toda requisição a mestreseo.com.br seja redirecionado permanentemente(301) para www.mestreseo.com.br :

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

Prevenindo links errados

Verifique se o seu blog ou site utiliza corretamente os links, assegurando de que não haja links do tipo mestreseo.com.br/pagina.php e outro www.mestreseo.com.br/pagina.php

LEIA MAIS
O que é SEO? Como Fazer Seu Site Crescer no Google!

O que é SEO? Como Fazer Seu Site Crescer no Google!

Quer entender o que é SEO? Aprender como esta técnica pode ajudar o seu negócio/website a crescer o número de visitas? Criamos este guia para ajudar você hoje mesmo! CLIQUE e confira os detalhes neste artigo!

Redirecionamento 301 em PHP, ASP, htaccess, Coldfusion e Ruby on Rails

Redirecionamento 301 em PHP, ASP, htaccess, Coldfusion e Ruby on Rails

Você quer saber como configurar o redirecionamento 301 no seu site? Veja como e mantenha sua relevância no Google!

Páginas 404 Não Devem Retornar o Código 200 de Status

Páginas 404 Não Devem Retornar o Código 200 de Status

Hoje em dia é muito comum que página de erro 404 sejam customizadas, mas o trabalho de qualquer profissional de SEO é que estas páginas façam realmente o seu papel. Veja como prevenir que suas páginas de erro 404 causem problemas com os seus rankings.

Comentários
  1. Oi Fabio,

    Parabens pelo projeto. Voce devia terminar a traducao deste template. Se o GoogleBot te visitar ele vai indexar palavras em ingles e portugues.

    Grande abraco

  2. E aí Paulo!

    Estamos trabalhando nisto cara. Aos poucos estamos ajustando todo o template.

    Abraços e valeu por visitar!

  3. Olá!

    Acabo de conhecer esse blog e posso dizer que já entrou no meu RSS! Parabéns! E como resolvi que vou ler todos os artigos (!), estou vindo aqui comentar no primeiro deles!

    Abraços!

  4. E aí Alexandre!

    Muito obrigado por visitar o site e principalmente por ficar ligado no nosso Feed =)

    Qualquer dúvida é só gritar, ou melhor, comentar =)

    []’s

  5. Está faltando um W, nesse código?
    RewriteRule (.*) http://ww.seodicas.com.br/$1 [R=301,L]

  6. Ok, permitir o acesso ao site com ou sem o www não é bom. Mas o ideal é padronizar o acesso com www ou sem é melhor?

    Abraço

  7. Olá Fill,

    Aí vai ao gosto do cliente. Eu prefiro padronizar com www para aproveitar em futuros subdomínios.

    Abraços

  8. Olá, nao sou muito entendida do assunto, ainda sou principiante.
    onde eu coloco isso??
    RewriteCond %{HTTP_HOST} !^seodicas.com.br [NC]
    RewriteRule (.*) http://ww.seodicas.com.br/$1 [R=301,L]
    alguem pode me dar uma ajudinha.. please.. 😀

    vlw pessoal.. o site é 1000!!

  9. Tem como eu fazer isso em ASP e ISS?

    Pois o meu site tem PR2 para http://www.mundoverttice.com.br e PR1 para http://www.mundoverttice.com.br/default.asp?lang=pt_BR

    Desde já obrigado

    []s
    Marcio

  10. Cara,

    Não estaria faltando um w na segunda linha?

    RewriteCond %{HTTP_HOST} !^seodicas.com.br [NC]
    RewriteRule (.*) http://ww.seodicas.com.br/$1 [R=301,L]

    Fiz a alteração mas não funciona o treco…

    Abs e Parabéns pelo Conhecimento de todos…

  11. Como ficaria…
    http://subdominio.meudominio.com.br ??
    nunca testei este eskema aí mas creio que algumas pessoas podem ter problemas com subdominio… ou não?

  12. Fábio,
    Como configurar o .htaccess para tirar a extensão?
    Exemplo:
    “www.site.com.br/pagina.html” para “www.site.com.br/pagina”

  13. Sim, está faltando um WWW.

  14. Olá Gunfree,

    Onde está faltando?

  15. hehehehe

    até agora tá só os dois w lá.

    ww.seodicas no [code] do .htaccess.

  16. O código correto é:
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^dominio.com.br.cc$ [NC]
    RewriteRule ^(.*)$ http://www.dominio.com.br/$1 [R=301,L]

    onde dominio.com.br deve ser alterado para o dominio do seu website.

  17. Fábio, o contrario também é correto?
    redirecionar ‘www.mestreseo.com.br’ para ‘seodicas.com.br’ ?

  18. Olá Adriano,

    Você pode fazer isto sim. O negócio é deixar apenas uma possibilidade para o crawler.

    Um abraço

  19. Obrigado pelas dicas!

    Dani Edson

  20. Pessoal, uma dúvida básica para iniciante. Onde colocar esse código? No cabeçalho do index?

    Abraços,
    Augusto Moura.

  21. Bom dia Fábio,
    Eu fiz o redirecionamento, mas a url permaneceu a mesma. Como saber se funcionou?
    Abraços.

    • Faça o teste com as URLs não canonicas. Já tentou?

      • Oi Fábio,
        Quando pus o prefixo www ele acusou: HTTP/1.1 301 Moved Permanently

        • É exatamente isto o que ele deve fazer. Realizar o 301.

  22. Acho os artigos do site muito bons, mas acho que falta dar uma atençãozinha para os principiantes, afinal, duas pessoas já pergutaram onde colocar o código fornecido e não vi nenhuma resposta. Aliás, compartilho da dúvida! 🙂

  23. Fabio…
    Como ficaria o codigo correto para:

    ‘www.mestreseo.com.br’ para ’seodicas.com.br’

    Tem como postar o codigo pra gente?
    Gostaria de usar o meu sem o “www”.
    Abração!

  24. Parabéns, ótimo artigo.

    Só tenho uma dúvida, meu site acessa tanto pelo endereço http://www.rafaelvergani.com quanto por rafaelvergani.com

    Qual dos dois é melhor utilizar como domínio principal? Com ou sem www?

    Abraço

  25. Como eu devo escrever o código corretamente se o meu site é .com eu não .com.br ?

    Grato

  26. Uma pergunta
    O uso da ferramenta do google para unificar urls é suficiente para resolver este problema?

  27. Ola pessoal estou com uma dúvida, ou melhor muitas dúvidas.
    Montei meu site com dois frames para cada página (frame L, Frame R), nas buscas do Google eles são encontrados em separado, ou seja, os frames são visualizados em separado nas buscas do Google. Se eu adicionar algo como:
    RewriteCond %{HTTP_HOST} ^mestreseo.com.br [NC]
    RewriteRule (.*) https://www.agenciamestre.com/$1 [R=301,L]
    conforme foi sugerido este tipo de problema será resolvido, e onde pelo amor de Deus eu coloco o código?
    Obrigado pela ajuda.

  28. Fábio,

    Não sei o porquê, mas esse código não funcionou pra mim.

    Utilizei o código abaixo no .htaccess e aí sim funcionou:

    Options +FollowSymLinks
    Options +Indexes
    RewriteEngine On
    RewriteBase /
    RewriteCond %{HTTP_HOST} ^dominio.com.br$
    RewriteRule ^(.*)$ http://www.dominio.com.br/$1 [R=301,L]

    • realmente o do post ñ funcionou mas este seu sim

  29. Olá Fabio,
    não me mate por te fazer uma pergunta sobre SEO.. é que to com uma duvida…
    Eu posso usar a tag canonical e o redirecionamento 301?
    por exemplo.. fui la na index e coloquei certinho a tag canonical, so que quando eu escrevo na barra de endereços.. continua funcionando de vaaarios jeitos. Entao eu preciso usar o redirecionamento 301? E se eu tiver que usar o redirecionamento eu tenho que apagar as tags canonicas?
    Desculpe a pergunta básica, mas é que fiquei com bastante dificuldade nisso tudo mesmo depois do curso.
    Obrigada,
    Ana

  30. Boa, bem explicado! o meu problema é o seguinte, tenho um site que entra com www e sem-www. Isso eu posso resolver com esse código no .htacess, o problema é que tenho que redirecionar à um novo site. ou seja, meu site entra com www e sem-www e preciso canonizar ambas as páginas para um outro dominio.

  31. onde colocar este código?

  32. Alguém sabe como faz isso no wordpress? Usando a técnica do .htaccess?

  33. E para que usa o blogger, como fazer?

Deixe seu comentário abaixo