Como comentar / responder noindex no Drupal 7

9

Eu uso o Drupal 7 e estou tentando usar a metatag "noindex" para impedir que http://example.com/comment/reply/43/738 seja indexada pelos mecanismos de pesquisa.

A página de comentário / resposta está sendo indexada, mesmo que eu tenha usado a seguinte função no robots.txt:

Disallow: /comment/reply/

Em qual arquivo de modelo precisarei incorporar a metatag "noindex" para / comment / reply / pages?

Naweed Chougle
fonte
11
Que regra você escreveu em seu robots.txtarquivo?
26611 tostinni
@tostini: Eu usei Disallow: / comment / reply /
Naweed Chougle

Respostas:

7

Você pode usar qualquer um desses códigos no robots.txt:

User-agent: *
Disallow: /*comment

Isso negligenciará todos os URLs que contenham comentários .

Você também pode usar o seguinte, para negligenciar cada URL que contém / comentário .

User-agent: *
Disallow: /comment/reply
User-agent: *
Disallow: /comment

Depois de fazer isso, verifique se está funcionando ou não usando o verificador Google Robots.txt .

Vivek R
fonte
O que você pensa sobre isso? google.co.in/support/forum/p/Webmasters/…
Naweed Chougle
Como Noindex é a metatag, ela impede a indexação da página inteira. Agora, você desativou o rastreamento dos comentários agora para remover os links indexados do Google usando as ferramentas do webmaster. vá para a configuração do site >> acesso ao rastreador >> Remover URL .Acho que essa será a melhor solução.
Vivek R
Depois que eu removo os URLs usando ferramentas para webmasters, novos com o mesmo padrão / comentário / resposta / aparecem! E os URLs foram indexados mesmo que o Disallow: / comment / reply / estivesse sendo usado no arquivo de robôs.
Naweed Chougle
2
dê algum tempo para o mecanismo de busca remover .. não acontecerá da noite para o dia, então espere um pouco .. pode demorar uma semana.
Vivek R
Como eu disse anteriormente, os URLs estavam sendo indexados mesmo depois que eu usei Disallow / comment / reply / .... Isso pode estar acontecendo devido a links para o formulário de resposta provenientes de sites externos. Atualizei minha pergunta e incluí detalhes sobre a possível necessidade da tag meta noindex.
Naweed Chougle
4

No template.php do seu tema ou em page.tpl.php, você pode verificar o URL da página para ver se a página é uma página de comentário e adicionar código que irá inserir a metatag.

Você pode fazer isso na função template.php YOURTHEME_preprocess_html () ou inseri-la em algum lugar próximo ao topo da página.tpl.php. O código a ser adicionado seria algo como isto:

    <?php
      $element = array(
        '#tag' => 'meta', 
        '#attributes' => array(
          'property' => 'robots',
          'content' => 'noindex',
        ),
      );
    drupal_add_html_head($element, 'robots');
?>

Veja drupal_add_html_head () .

jmarkel
fonte
Obrigado, @jmarkel! Você pode me ajudar a verificar, programaticamente, se a página é algo como: example.com/comment/reply/32/409 .... para que eu possa definir o meta noindex apenas para essas páginas?
Naweed Chougle
11
Aqui está o problema - realmente não existe um tipo de nó como um comentário - eles parecem viver apenas com os nós que estão comentando. Portanto, não é realmente possível distingui-los genericamente. Se você clicar no link permanente de um comentário, receberá um URL que começa com 'comment /', mas isso não ajuda porque eles não carregam esse URL internamente. Suponho que você possa procurar o argumento "page" nas páginas subseqüentes (ou seja, quando houver mais de uma página de comentários), mas você ainda precisará distinguir entre comentários e outras páginas usando um pager. Para encurtar a história - não sei como fazê-lo ...
jmarkel
Por enquanto, @jmarkel, terei que conviver com a ferramenta de remoção de URL do webmaster do Google. Observando um dos vídeos de Matt Cutts, parece que um URL removido uma vez não reaparecerá. O problema é que eu vi novos aparecendo nos resultados da pesquisa!
Naweed Chougle
1

Atualização : o seguinte funciona, ele imprime <meta name="robots" content="noindex,follow" />na seção principal de todas as páginas acessadas por um caminho que começa com comment. Isso serve para contornar o fato de que uma página como comment / 3 carrega internamente node / nid como argumentos, como jmarkel apontou acima.

<?php
function metarobots_comment_help() {
  $url_components = explode('/', request_uri());
  if ($url_components[1] == 'comment') {
    $elements = array(
      '#tag' => 'meta',
      '#attributes' => array(
        'name' => 'robots',
        'content' => 'noindex,follow',
      ),
    );
   drupal_add_html_head($elements, 'robots');
  }
}

Com a ajuda de um comentário útil sobre a função arg .

Espero que isso acabe por ser tratado pelo módulo Meta Tags - há uma solicitação de recurso , mas ainda não está claro se o autor do módulo deseja dar suporte a isso.


[Meu comentário anterior] Eu só queria acrescentar que o uso do robots.txt não é a resposta - como você já percebeu, os links continuam aparecendo nos resultados da pesquisa, apesar do uso Disallow: /comment. Isso é esperado, já que o robots.txt diz ao bot para não rastrear essas páginas, mas não diz ao Google para não indexá-lo. Conforme explicado nas práticas recomendadas de SEOmoz Robots.txt e Meta Robots para otimização de mecanismos de pesquisa :

Na maioria dos casos, os meta-robôs com os parâmetros "noindex, follow" devem ser empregados como uma maneira de restringir o rastreamento ou a indexação.

Bloquear com Robots.txt - Isso diz aos mecanismos para não rastrear o URL fornecido, mas informa que eles podem manter a página no índice e exibi-la nos resultados.

Bloquear com Meta NoIndex - Isso informa aos mecanismos que eles podem visitar, mas não têm permissão para exibir o URL nos resultados. (Esse é o método recomendado) Portanto, a meta tag noindex que você procura é realmente o que você precisa.

arjan
fonte
Isso é verdade, @arjan, você reformulou um dos comentários que fiz com detalhes extras. Estou procurando uma maneira de definir o meta noindex para as páginas que não quero nos resultados da pesquisa.
Naweed Chougle
11
Sim, parecia que você estava não 100% certo que eu queria acrescentar que é correto;)
arjan
@ ProgrammingEnthusiast: veja a atualização acima.
Arjan1