Práticas recomendadas (e não recomendadas) de navegação facetada

quinta-feira, 15 de maio de 2014

Nível do webmaster: todos

A navegação facetada, como quando é filtrada por cor ou faixa de preço, pode ser útil para os visitantes, mas muitas vezes prejudica as pesquisas porque cria muitas combinações de URL com conteúdo duplicado . Quando os URLs são duplicados, os mecanismos de pesquisa talvez não consigam rastrear ou atualizar o conteúdo exclusivo tão rapidamente e / ou não consigam indexar uma página corretamente, já que os sinais de indexação ficam diluídos entre as versões duplicadas. Para reduzir esses problemas e ajudar os sites de navegação facetada a facilitar as pesquisas, gostaríamos de :



A seleção de filtros na navegação facetada pode gerar diversas combinações de URL, tais como http://www.example.com/category.php?category=gummy-candies&price=5-10&price=over-10

Histórico

Em uma situação ideal, o conteúdo exclusivo (seja um produto ou artigo individual, ou ainda uma categoria de produtos e artigos) teria somente um URL acessível. Esse URL teria um caminho ou uma rota inconfundível para o conteúdo no site, acessível por clique na página inicial ou em uma página de categoria.
Ideal para quem faz pesquisas e para a Pesquisa Google
  • Caminho específico para todas as páginas de produtos e artigos individuais


    À esquerda está a possível navegação do usuário no site (ou seja, a sequência de cliques). À direita estão as páginas acessadas.

  • Um URL representativo por página de categoria
    http://www.example.com/category.php?category=gummy-candies


    Um URL representativo para a página do produto individual

  • Um URL representativo por página de produto individual
    http://www.example.com/product.php?item=swedish-fish

    Página de produto para um tipo de doce
Duplicação indesejada causada pela navegação facetada
  • Inúmeros URLs para um único produto ou artigo
    Canônico Duplicados
    example.com/product.php? item=swedish-fish example.com/product.php? item=swedish-fish&category=gummy-candies&price=5-10
    A mesma página do produto pode ser acessada em diversos URLs..

  • Várias páginas de categoria que oferecem pouco ou nenhum valor aos usuários que realizam a pesquisa e aos mecanismos de busca .

  • URL example.com/category.php? category=gummy-candies&taste=sour&price=5-10 example.com/category.php? category=gummy-candies&taste=sour&price=over-10
    Issues
    • Nenhum valor agregado a quem pesquisa no Google, já que os usuários quase nunca pesquisam por [bala de goma amarga com preço de cinco a dez dólares].
    • Nenhum valor agregado aos rastreadores dos mecanismos de pesquisa que encontram o mesmo item ("salada de frutas") nas páginas de conteúdo principais (“balas de goma” ou “balas de goma amargas”).
    • Valor negativo ao proprietário do site, já que os sinais de indexação podem estar diluídos entre várias versões da mesma categoria.
    • Valor negativo para o proprietário do site, que perde largura de banda e capacidade de rastreamento ao indexar conteúdo duplicado, em vez de páginas novas ou atualizadas.
    • Nenhum valor para os mecanismos de pesquisa (deveria ser exibido o código de resposta 404 ) .
    • Valor negativo aos usuários que realizam a pesquisa.

Práticas não recomendadas (prejudiciais às pesquisas) de navegação facetada

Prática não recomendada 1: usar codificação não padrão de Parâmetros de URL, como vírgulas ou colchetes, em vez de pares de valor-chave ("key=value&") .
Práticas não recomendadas:
  • example.com/category? [ category:gummy-candy ][ sort:price-low-to-high ][ sid:789 ]
    • Pares de key=value marcados com : em vez de =
    • Múltiplos parâmetros anexos com [ ] em vez de &
  • example.com/category?category , gummy-candy ,, sort , lowtohigh ,, sid , 789
    • Pares de key=value marcados com , em vez de =
    • Múltiplos parâmetros anexos com ,, em vez de &
Prática recomendada:
example.com/category? category=gummy-candy&sort=low-to-high&sid=789
Embora seja possível para humanos descodificar Parâmetros de URL estranhos, como “,,”, os rastreadores têm dificuldade para interpretar os Parâmetros de URL quando estes são implementados de forma incomum. Mehmet Aktuna, engenheiro de software da Equipe de rastreamento do Google, afirma que “Usar codificação fora do padrão é o mesmo que pedir para ter problemas.” Em vez disso, recomenda-se conectar os pares de key=value com o sinal de igual (=) e anexar os diversos parâmetros com um "e" comercial (&).
Prática não recomendada 2: usar diretórios ou caminhos de arquivos, em vez de parâmetros, para listar valores que não alteram o conteúdo da página .
Prática não recomendada:
example.com/c123 /s789/ product?swedish-fish
(em que "/c123/" é uma categoria e "/s789/" é um código de sessão que não altera o conteúdo da página)
Prática sugerida:
example.com /gummy-candy/ product?item=swedish-fish& sid=789 (o diretório, "/gummy-candy/",altera o conteúdo da página de forma significativa)
Prática recomendada:
example.com/product?item=swedish-fish& category=gummy-candy&sid=789
(Parâmetros de URL que permitem maior flexibilidade aos mecanismos de pesquisa para determinar como rastrear de forma eficiente)
Para programas automatizados como os rastreadores dos mecanismos de pesquisa, é difícil diferenciar valores úteis (como “bala de goma”) de valores inúteis (como “ID de sessão”) quando os valores são inseridos diretamente no caminho. Por outro lado, os Parâmetros de URL oferecem a flexibilidade necessária para que os mecanismos de pesquisa testem e determinem rapidamente se determinado valor não requer o acesso do rastreador a todas as variações.
Os valores comuns que não alteram o conteúdo da página e devem ser listados como Parâmetros de URL incluem:
  • IDs de sessão
  • IDs de rastreamento
  • IDs de referenciador
  • Indicação de data e hora
Prática não recomendada 3: converter valores gerados por usuários em Parâmetros de URL (possivelmente infinitos) que são rastreáveis e indexáveis, mas não são úteis nos resultados de pesquisa.
Práticas não recomendadas (por exemplo, valores gerados por usuários, como longitude e latitude, “dias atrás” como URLs rastreáveis e indexáveis):
  • example.com/find-a-doctor? radius=15&latitude=40.7565068&longitude=-73.9668408
  • example.com/article?category=health& days-ago=7
Práticas recomendadas:
  • example.com/find-a-doctor? city=san-francisco&neighborhood=soma
  • example.com/articles?category=health& date=january-10-2014
Em vez de permitir que os valores gerados por usuários criem URLs rastreáveis​, o que leva a infinitas possibilidades com muito pouco valor para quem faz a pesquisa, recomendamos publicar páginas de categoria para os valores mais populares e incluir informações adicionais, para que a página ofereça mais valor do que uma página de resultados de pesquisa convencional. Como opção, considere colocar os valores gerados por usuários em um diretório separado, fazendo com que o arquivo robots.txt não permita o rastreamento de diretório.
  • example.com /filtering/ find-a-doctor?radius=15&latitude=40.7565068&longitude=-73.9668408
  • example.com /filtering/ articles?category=health&days-ago=7
Com o arquivo robots.txt:
User-agent: *
Disallow: /filtering/
Prática não recomendada 4: anexar Parâmetros de URL sem lógica .
Prática não recomendada:
  • example.com /gummy-candy/lollipops/gummy-candy/ gummy-candy/product?swedish-fish
  • example.com/product? cat=gummy-candy&cat=lollipops&cat=gummy-candy &cat=gummy-candy&item=swedish-fish
Prática recomendada:
example.com /gummy-candy/ product?item=swedish-fish
Prática recomendada:
example.com/product? item=swedish-fish&category=gummy-candy
Parâmetros de URL externos somente aumentam a duplicação, causando com que o rastreamento e a indexação sejam ainda mais ineficientes. Portanto, considere remover Parâmetros de URL desnecessários e realizar uma "limpeza interna" em seu site antes de gerar o URL. Se for necessário usar muitos parâmetros na sessão do usuário, é recomendável esconder as informações em um cookie, em vez de seguir acrescentando valores como cat=gummy-candy&cat=lollipops&cat=gummy-candy& ...
Prática não recomendada 5: oferecer refinamento (filtragem) adicional quando não houver resultados.
Prática não recomendada:
Permitir que os usuários selecionem filtros quando não for exibido qualquer item após o refinamento.

É permitido o refinamento de uma página com nenhum resultado (por exemplo, price=over-10) embora essa prática frustre o usuário e cause problemas desnecessários para os mecanismos de pesquisa.
Prática recomendada
Só crie links / URLs quando a seleção do usuário for válida, ou seja, se houver itens. Se não houver respostas, desative as opções de filtragem. Para aprimorar ainda mais a utilização, considere adicionar a contagem de itens ao lado de cada filtro.

Não é permitido o refinamento de uma página com nenhum resultado (por exemplo, price=over-10). Assim, os usuários ficam impedidos de fazer um clique desnecessário e os rastreadores de mecanismos de pesquisa não precisam acessar uma página sem utilidade.

Crie URLs somente quando existirem produtos para desabilitar URLs inúteis e minimizar o espaço de rastreamento Isso ajuda os usuários a permanecer engajados em seu site (menos cliques no botão "Voltar" quando não existem produtos) e ajuda a reduzir os URLs indexados pelos rastreadores. Além disso, se uma página não exibe produtos em estoque e provavelmente nunca exibirá conteúdo útil, considere retornar o código de status 404 . Junto com a resposta 404, é possível incluir uma mensagem útil para usuários com mais opções de navegação, ou oferecer uma caixa de pesquisa para encontrar produtos relacionados.

Práticas recomendadas para implementações ou repaginações da navegação facetada
Os novos sites que consideram a implementação da navegação facetada dispõem de várias opções para otimizar o "espaço de rastreamento" (a totalidade de URLs em seu site conhecidos pelo Googlebot) de páginas de conteúdo exclusivo, reduzir o rastreamento de páginas duplicadas e consolidar os sinais de indexação.
  • Determine quais Parâmetros de URLs são necessários para que os mecanismos de busca possam indexar todas as páginas de conteúdo individual, ou seja, defina quais parâmetros são necessários para criar pelo menos um caminho de cliques para cada item. Os parâmetros obrigatórios podem incluir código de item, código de categoria, página , etc.
  • Determine os parâmetros que serão úteis para as consultas dos usuários e os que provavelmente só causarão a duplicação de conteúdo com rastreamento e indexação desnecessários. No exemplo da loja de doces, o Parâmetro de URL sabor ” pode ser útil para as consultas dos usuários, como [balas de goma amargas], que podem retornar o resultado example.com/category.php?category=gummy-candies&taste=sour . No entanto, o parâmetro preço ” pode causar somente a duplicação, como em category=gummy-candies&taste=sour&price=over-10 . Outros exemplos comuns:
    • Parâmetros úteis para os usuários: item-id , category-id , name , brand ...
    • Parâmetros desnecessários: session-id , price-range ...
  • C onsidere implementar uma das várias opções de configuração dos URLs que contêm parâmetros desnecessários. Os Parâmetros de URL desnecessários nunca devem ser necessários no caminho de cliques de rastreadores ou usuários para encontrar cada produto !

    • Opção 1: links internos rel="nofollow"
      Torne todos os links de URLs desnecessários rel=“nofollow .” Esta opção reduz a localização de URLs desnecessários pelo rastreador e, portanto, reduz o espaço potencialmente excessivo de rastreamento (URLs conhecidos pelo rastreador) que podem ocorrer com a navegação facetada. rel=”nofollow” não impede o rastreamento de URLs desnecessários (somente um arquivo robots.txt impede a busca). Ao permitir que eles sejam rastreados, no entanto, é possível consolidar sinais de indexação de URLs desnecessários com um URL útil para o usuário adicionando rel="canonical" do URL desnecessário para um URL superset (por exemplo, example.com/category.php?category=gummy-candies&taste=sour& price=5-10 pode especificar rel=”canonical” para a página superset de visualização geral das balas de goma amargas example.com/category.php?category=gummy-candies&taste=sour& page=all ).
    • Opção 2: arquivo Robots.txt
      Para URLs com parâmetros desnecessários, inclua um /filtering/ directory que será bloqueado pelo robots.txt. Isso permite que todos os mecanismos de busca indexem livremente o conteúdo útil, mas impedirá o rastreamento de URLs indesejados. Por exemplo, se os parâmetros úteis fossem item, categoria e sabor, e os parâmetros desnecessários fossem código de sessão e preço, teríamos o URL : example.com/category.php?category=gummy-candies
      Esse URL vincularia a outro parâmetro útil de URL, por exemplo, de sabor: example.com/category.php?category=gummy-candies&taste=sour .
      Mas para os Parâmetros de URL desnecessários, como preço, o URL inclui um diretório predefinido, /filtering/ : example.com/filtering/category.php?category=gummy-candies&price=5-10
      que será bloqueado pelo robots.txt
      User-agent: *
      Bloquear: /filtering/
    • Opção 3: Hosts separados
      Se você não usa um CDN (sites com CDNs não dispõem facilmente dessa flexibilidade nas Ferramentas do Google para webmasters), considere colocar os URLs com parâmetros desnecessários em outro host. Por exemplo, crie um host principal www.example.com e um host secundário, www2.example.com . No host secundário (www2), defina a Taxa de rastreamento nas Ferramentas do Google para webmasters em “baixo” e mantenha a taxa de rastreamento do host principal a mais alta possível. Isto permitirá o rastreamento mais completo dos URLs do host principal e reduzirá o foco do Googlebot nos URLs desnecessários.
      • Deve haver pelo menos um caminho de cliques no host principal.
      • Se você deseja consolidar sinais de indexação, considere adicionar rel=”canonical” do host secundário a um URL superset no host principal (por exemplo, www2.example.com/category.php?category=gummy-candies&taste=sour& price=5-10 pode especificar um rel=”canonical” à página superset de visualização geral das balas de goma amargas, www.example.com/category.php?category=gummy-candies&taste=sour& page=all ).
  • Evite links clicáveis ​​quando não houver produtos para a categoria / filtro.
  • Adicione lógica à exibição dos Parâmetros de URL.
    • Remova os parâmetros desnecessários, em vez de anexar continuamente os valores.
      • Evite
        example.com/product? cat=gummy-candy&cat=lollipops &cat=gummy-candy&item=swedish-fish )
    • Melhore a experiência do usuário. Para isso, mantenha uma ordem consistente dos parâmetros, listando primeiramente os parâmetros úteis aos usuários (já que o URL pode ser visível nos resultados de pesquisa) e deixando os parâmetros desnecessários por último (como o código de sessão).
      • Evite
        example.com/category.php? session-id=123&tracking-id=456 &category=gummy-candies&taste=sour
  • Aprimore a indexação de páginas de conteúdo individual com rel=”canonical” na versão preferida de uma página. rel=”canonical” pode ser usado em diversos nomes de host ou domínios .
  • Melhore a indexação do conteúdo paginado (como page=1 e page=2 da categoria “balas de goma”). Para isso:
    • Adicione rel=”canonical” das páginas de componentes individuais na série à página de visualização geral "view-all" (por exemplo, page=1, page=2 e page=3 de “balas de goma” com rel=”canonical” a category=gummy-candies&page=all ), sem deixar de oferecer uma experiência agradável ao usuário (por exemplo, fazendo com que a página carregue rapidamente).
    • Use a marcação de paginação com rel=”next” e rel=”prev” (artigo em inglês) para consolidar as propriedades de indexação, como links, a partir de páginas / URLs de componentes para a série como um todo.
  • Se usar JavaScript para classificar / filtrar / ocultar o conteúdo dinamicamente sem atualizar o URL, ainda deverá haver obrigatoriamente URLs no site que sejam úteis aos usuários, como as páginas da categoria principal e dos produtos, que podem ser rastreadas e indexadas. Por exemplo, evite usar somente a página inicial (ou seja, um URL) do site inteiro com JavaScript para alterar dinamicamente o conteúdo com a navegação do usuário. Isso oferecerá aos usuários somente um URL para acessar todo o seu conteúdo. Além disso, verifique se o desempenho não é afetado negativamente pela filtragem dinâmica, já que isso poderá prejudicar a experiência do usuário .
  • Inclua somente URLs canônicos nos sitemaps .

Práticas recomendadas para sites existentes com navegação facetada

Primeiramente, tenha consciência de que as práticas recomendadas acima (por exemplo, rel=”nofollow” para URLs desnecessários) podem ser aplicadas mesmo que você consiga implementar uma repaginação mais ampla. Caso contrário, com a navegação facetada existente, é provável que um espaço maior de rastreamento já tenha sido descoberto pelos mecanismos de pesquisa. Com isso, procure reduzir o desenvolvimento adicional de páginas desnecessárias rastreadas pelo Googlebot e consolide os sinais de indexação.
  • Quando possível, use parâmetros com a codificação padrão e os pares de key=value.
  • Verifique os valores que não alteram o conteúdo da página, como IDs de sessão, para garantir que eles sejam implementados como pares de valor-chave padrão, não diretórios.
  • Bloqueie as âncoras clicáveis ​​quando existirem produtos para a categoria ou filtro (ou seja, não permita que cliques ou URLs sejam criados quando não houver itens para o filtro).
  • Adicione lógica à exibição dos Parâmetros de URL
    • Remova os parâmetros desnecessários, em vez de continuar anexando valores (por exemplo, evite example.com/product? cat=gummy-candy&cat=lollipops &cat=gummy-candy&item=swedish-fish )
  • Melhore a experiência do usuário. Para isso, mantenha uma ordem consistente dos parâmetros, listando primeiramente os parâmetros úteis aos usuários (já que o URL pode ser visível nos resultados de pesquisa) e deixando os parâmetros desnecessários por último (por exemplo, evite example.com/category? session-id=123&tracking-id=456 &category=gummy-candies&taste=sour& em favor de example.com/category.php?category=gummy-candies&taste=sour& session-id=123&tracking-id=456 )
  • Configure os Parâmetros de URL das Ferramentas do Google para webmasters se tiver um alto nível de conhecimento do comportamento dos Parâmetros de URL em seu site (verifique se há um caminho de cliques inconfundível para cada item e / ou artigo específico). Por exemplo, com os Parâmetros de URL nas Ferramentas do Google para webmasters, é possível listar o nome do parâmetro, o efeito do parâmetro no conteúdo da página e como você quer que o Googlebot rastreie os URLs que contêm o parâmetro.

    Os Parâmetros de URL nas Ferramentas do Google para webmasters permitem que o proprietário do site forneça informações sobre os parâmetros do site e recomendações para o comportamento do Googlebot.

  • Se usar JavaScript para classificar / filtrar / ocultar o conteúdo dinamicamente sem atualizar o URL, ainda deverá haver obrigatoriamente URLs no site que sejam úteis aos usuários, como as páginas da categoria principal e dos produtos, que podem ser rastreadas e indexadas. Por exemplo, evite usar somente a página inicial (ou seja, um URL) do site inteiro com JavaScript para alterar dinamicamente o conteúdo com a navegação do usuário. Isso oferecerá aos usuários somente um URL para acessar todo o seu conteúdo. Além disso, verifique se o desempenho não é afetado negativamente pela filtragem dinâmica, já que isso poderá prejudicar a experiência do usuário.
  • Aprimore a indexação de páginas de conteúdo individual com rel=”canonical” na versão preferida de uma página. rel=”canonical” pode ser usado em diversos nomes de host ou domínios .
  • Melhore a indexação do conteúdo paginado (como page=1 e page=2 da categoria “balas de goma”). Para isso:
    • Adicione rel=”canonical” das páginas de componentes individuais na série à página de visualização geral ("view-all") (por exemplo, page=1, page=2 e page=3
    • Use a marcação de paginação com rel=”next” e rel=”prev” para consolidar as propriedades de indexação, como links, a partir de páginas / URLs de componentes para a série como um todo.
  • Inclua somente URLs canônicos nos sitemaps .
Em geral, quanto mais simples, melhor. Dúvidas? Coloque suas questões no fórum de discussão para webmasters .

Escrito por Maile Ohye , líder de tecnologia em programas para desenvolvedores, e Mehmet Aktuna, equipe de rastreamento
Traduzido e publicado por Diogo Botelho , Equipe de Search Quality e Webmaster Outreach