Drupal 7でコメント/返信のインデックスを作成しない方法


9

私はDrupal 7を使用していますが、「noindex」メタタグを使用して、http: //example.com/comment/reply/43/738 が検索エンジンによってインデックスに登録されないようにしています。

robots.txtで次の役割を使用したにもかかわらず、コメント/返信ページがインデックスに登録されています。

Disallow: /comment/reply/

/ comment / reply /ページの「noindex」メタタグを組み込む必要があるテンプレートファイルはどれですか。


1
あなたはあなたのrobots.txtファイルにどんな規則を書きましたか?
tostinni

@tostini:Disallow:/ comment / reply /を使用しました
Naweed Chougle

回答:


7

robots.txtで次のコードを使用できます。

User-agent: *
Disallow: /*comment

これにより、コメントを含むすべてのURLが無視されます。

以下を使用して、/ commentを含むすべてのURLを無視することもできます。

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

これを行った後、Google Robots.txtチェッカーを使用して、機能しているかどうかを確認します。


これについてあなたはどう思いますか?google.co.in/support/forum/p/Webmasters/...
Naweed Chougle

Noindexはメタタグなので、ページ全体がインデックスに登録されるのを防ぎます。これで、コメントのクロールを無効にして、インデックスに登録されたリンクをウェブマスターツールを使用してGoogleから削除できるようになりました。サイト構成>>クローラーアクセス>> URLを削除します。これがより良い解決策になると思います。
Vivek R 2011

ウェブマスターツールを使用してURLを削除すると、同じパターン/ comment / reply /を持つ新しいURLが表示されます。また、ロボットファイルでDisallow:/ comment / reply /が使用されていても、URLにインデックスが付けられていました。
Naweed Chougle、2011

2
検索エンジンが削除するまでしばらく時間がかかります。これは一晩で起こることはないので、しばらく待ってください。1週間ほどかかる場合があります。
Vivek R 2011

前に述べたように、Disallow / comment / reply / ....を使用した後でも、URLがインデックスに登録されていました。これは、外部サイトからの返信フォームへのリンクが原因で発生する可能性があります。質問を更新し、メタnoindexタグの必要性に関する詳細を含めました。
Naweed Chougle、2011

4

テーマのtemplate.phpまたはpage.tpl.phpで、ページのURLをチェックして、ページがコメントページかどうかを確認し、メタタグを挿入するコードを追加できます。

これは、template.php関数YOURTHEME_preprocess_html()で行うか、page.tpl.phpの上部近くに挿入できます。追加するコードは次のようになります。

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

drupal_add_html_head()を参照してください。


ありがとう、@ jmarkel!プログラムでページが次のようなものであることを確認してください:example.com/comment/reply/32/409 ....そのようなページにのみメタnoindexを設定できるように?
Naweed Chougle、2012年

1
ここに問題があります-コメントとしてそのようなノードタイプは実際にはありません-コメントしているノードと一緒にしか生きていないようです。したがって、それらを一般的に区別することは実際には不可能です。コメントのパーマリンクをクリックすると、「comment /」で始まるURLが表示されますが、そのURLは内部的に保持されていないため役に立ちません。後続のページで「ページ」引数を探すことができると思います(つまり、コメントが1ページ以上ある場合)が、ページャーを使用してコメントと他のページを区別する必要があります。長い話-どうすればいいのかわからない...
jmarkel 2012年

今のところ、@ jmarkel、GoogleウェブマスターのURL削除ツールを使用する必要があります。Matt Cuttsの動画の1つを見ると、一度削除されたURLは再表示されないようです。問題は、検索結果に新しいものが表示されることです。
Naweed Chougle、2012年

1

更新:次のように動作し、で<meta name="robots" content="noindex,follow" />始まるパスを介してアクセスされるすべてのページのヘッドセクションに印刷されますcomment。これは、jmarkelが上で指摘したように、comment / 3のようなページが内部的にnode / nidを引数として運ぶという事実を回避するためです。

<?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');
  }
}

助けを借りて引数の関数に役立つコメント

うまくいけば、これは最終的にメタタグモジュールによって対処されるでしょう- 機能リクエストがありますが、モジュールの作者がこれをサポートしたいかどうかはまだ明確ではありません。


[私の以前のコメント] robots.txtを使用することが答えではないことを追加したかっただけです-すでに気づいたように、リンクを使用しても検索結果にリンクが表示され続けますDisallow: /comment。robots.txtはボットにこれらのページをクロールしないように指示しますが、インデックスに登録しないようにGoogleに指示しないため、これは予期されたことです。SEOmoz Robots.txtとMeta Robots Best Practices for Search Engine Optimizationで説明されているように:

ほとんどの場合、クロールまたはインデックス作成を制限する方法として、パラメーター「noindex、follow」を持つメタロボットを採用する必要があります。

Robots.txtでブロック-これは、指定されたURLをクロールしないようにエンジンに指示しますが、ページをインデックスに保持し、結果に表示する可能性があることをエンジンに通知します。

メタNoIndexでブロック-エンジンにアクセスできることを通知しますが、結果にURLを表示することは許可されません。(これが推奨される方法です)したがって、あなたが求めているnoindexメタタグは本当に必要なものです。


それは本当です、@ arjan、あなたは私が追加の詳細で行ったコメントの1つを再び述べました。検索結果に表示したくないページにメタnoindexを設定する方法を探しています。
Naweed Chougle、2012年

1
はい、あなたは100%確実ではないようだったので、それが正しいと付け加えたかったです;)
arjan

@ProgrammingEnthusiast:上記の更新を参照してください。
arjan
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.