Bagaimana cara noindex komentar / balas di Drupal 7

9

Saya menggunakan Drupal 7, dan saya mencoba menggunakan tag meta "noindex" untuk mencegah http://example.com/comment/reply/43/738 agar tidak diindeks oleh mesin pencari.

Halaman komentar / balasan sedang diindeks, meskipun saya telah menggunakan peran berikut di robots.txt:

Disallow: /comment/reply/

Di mana file templat yang saya perlukan untuk memasukkan meta tag "noindex" untuk / komentar / balasan / halaman?

Naweed Chougle
sumber
1
Aturan apa yang sudah Anda tulis di robots.txtfile Anda ?
tostinni
@tostini: Saya telah menggunakan Disallow: / comment / reply /
Naweed Chougle

Jawaban:

7

Anda dapat menggunakan kode ini di robots.txt:

User-agent: *
Disallow: /*comment

Ini akan mengabaikan setiap URL yang berisi komentar .

Anda juga dapat menggunakan yang berikut ini, untuk mengabaikan setiap URL yang mengandung / komentar .

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

Setelah Anda melakukan ini, periksa apakah berfungsi atau tidak dengan menggunakan pemeriksa Google Robots.txt .

Vivek R
sumber
Apa yang Anda pikirkan tentang ini? google.co.in/support/forum/p/Webmasters/…
Naweed Chougle
Karena Noindex adalah meta tag, ini akan mencegah seluruh halaman diindeks. Sekarang Anda telah menonaktifkan komentar agar tidak dirayapi sekarang sehingga Anda dapat menghapus tautan yang diindeks dari Google menggunakan alat webmaster. pergi ke konfigurasi situs >> akses perayap >> Hapus URL. Saya pikir ini akan menjadi solusi yang lebih baik.
Vivek R
Setelah saya menghapus URL menggunakan alat webmaster, yang baru dengan pola / komentar / balasan / yang sama muncul! Dan URL diindeks meskipun Disallow: / comment / reply / sedang digunakan dalam file robot.
Naweed Chougle
2
beri waktu untuk dihapus oleh mesin pencari..itu tidak akan terjadi dalam semalam jadi tunggu beberapa saat .. mungkin seminggu atau lebih.
Vivek R
Seperti yang saya katakan sebelumnya, URL sedang diindeks bahkan setelah saya menggunakan Disallow / comment / reply / .... Ini bisa terjadi karena tautan ke formulir balasan yang berasal dari situs eksternal. Saya telah memperbarui pertanyaan saya dan memasukkan perincian tentang kemungkinan perlunya tag meta noindex.
Naweed Chougle
4

Di template.php tema Anda, atau di page.tpl.php, Anda dapat memeriksa url halaman untuk melihat apakah halaman tersebut adalah halaman komentar, lalu tambahkan kode yang akan memasukkan tag meta.

Anda dapat melakukan ini di fungsi template.php YOURTHEME_preprocess_html (), atau masukkan di suatu tempat dekat bagian atas page.tpl.php. Kode yang ditambahkan adalah kira-kira seperti ini:

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

Lihat drupal_add_html_head () .

jmarkel
sumber
Terima kasih, @jmarkel! Dapatkah Anda membantu saya memeriksa, secara program, bahwa halaman tersebut adalah sesuatu seperti: example.com/comment/reply/32/409 .... sehingga saya dapat mengatur meta noindex hanya untuk halaman seperti itu?
Naweed Chougle
1
Inilah masalahnya - sebenarnya tidak ada jenis simpul seperti komentar - mereka sepertinya hanya hidup dengan node yang mereka komentari. Jadi sebenarnya tidak mungkin membedakan mereka secara umum. Jika Anda mengeklik tautan tautan komentar, Anda mendapatkan url yang dimulai dengan 'komentar /' tetapi itu tidak membantu karena mereka tidak membawa url itu secara internal. Saya kira Anda bisa mencari argumen "halaman" di halaman berikutnya (yaitu ketika ada lebih dari satu halaman komentar) tetapi Anda masih harus membedakan antara komentar dan halaman lain menggunakan pager. Singkat cerita - tidak yakin bagaimana cara melakukannya ...
jmarkel
Untuk saat ini, @jmarkel, saya harus hidup dengan alat penghapusan URL webmaster Google. Dengan salah satu video Matt Cutts, tampaknya URL yang pernah dihapus tidak akan muncul kembali. Masalahnya adalah saya telah melihat yang baru muncul di hasil pencarian!
Naweed Chougle
1

Pembaruan : karya-karya berikut ini, ia mencetak <meta name="robots" content="noindex,follow" />di bagian kepala semua halaman yang diakses melalui jalur yang dimulai dengan comment. Ini untuk mengatasi kenyataan bahwa halaman seperti comment / 3 internal membawa node / nid sebagai argumen, seperti yang ditunjukkan jmarkel di atas.

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

Dengan bantuan komentar yang bermanfaat pada fungsi arg .

Semoga ini pada akhirnya akan ditangani oleh modul Meta Tag - ada permintaan fitur , tetapi belum jelas apakah pembuat modul ingin mendukung ini.


[Komentar saya sebelumnya] Saya hanya ingin menambahkan bahwa menggunakan robots.txt bukan jawabannya - seperti yang sudah Anda perhatikan, tautan tetap muncul di hasil pencarian meskipun menggunakan Disallow: /comment. Ini diharapkan, karena robots.txt memberi tahu bot untuk tidak merayapi halaman-halaman itu, tetapi tidak memberitahu Google untuk tidak mengindeksnya. Seperti yang dijelaskan pada SEOmoz Robots.txt dan Praktik Terbaik Meta Robots untuk Optimasi Mesin Pencari :

Dalam kebanyakan kasus, meta robot dengan parameter "noindex, follow" harus digunakan sebagai cara untuk membatasi perayapan atau indeksasi.

Blokir dengan Robots.txt - Ini memberitahu mesin untuk tidak merayapi URL yang diberikan tetapi memberitahu mereka bahwa mereka dapat menyimpan halaman dalam indeks dan menampilkannya dalam hasil.

Blokir dengan Meta NoIndex - Ini memberi tahu mesin yang dapat mereka kunjungi tetapi tidak diizinkan untuk menampilkan URL dalam hasil. (Ini adalah metode yang disarankan) Jadi tag meta noindex yang Anda cari memang yang Anda butuhkan.

arjan
sumber
Itu benar, @arjan, Anda telah menyatakan kembali salah satu komentar yang saya buat dengan detail ekstra. Saya mencari cara untuk menetapkan meta noindex untuk halaman yang tidak saya inginkan dalam hasil pencarian.
Naweed Chougle
1
Ya, sepertinya Anda tidak 100% yakin sehingga saya ingin menambahkan bahwa itu benar;)
arjan
@ProgrammingEnthusiast: lihat pembaruan di atas.
arjan