วิธี noindex แสดงความคิดเห็น / ตอบกลับใน Drupal 7


9

ฉันใช้ Drupal 7 และฉันพยายามใช้เมตาแท็ก "noindex" เพื่อป้องกันhttp://example.com/comment/reply/43/738จากการจัดทำดัชนีโดยเครื่องมือค้นหา

หน้าความคิดเห็น / ตอบกำลังถูกจัดทำดัชนีแม้ว่าฉันจะใช้บทบาทต่อไปนี้ใน robots.txt:

Disallow: /comment/reply/

ไฟล์เทมเพลตใดที่ฉันจะต้องรวมเมตาแท็ก "noindex" สำหรับ / ความคิดเห็น / ตอบ / หน้า


1
คุณเขียนกฎอะไรลงในrobots.txtไฟล์ของคุณ
tostinni

@tostini: ฉันเคยใช้ไม่อนุญาต: / ความเห็น / ตอบ /
Naweed Chougle

คำตอบ:


7

คุณสามารถใช้รหัสนี้ใน robots.txt:

User-agent: *
Disallow: /*comment

นี้จะละเลย URL ที่มีทุกความคิดเห็น

นอกจากนี้คุณยังสามารถใช้ต่อไปนี้จะละเลยทุก URL ที่มี/ แสดงความคิดเห็น

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

หลังจากที่คุณทำเช่นนี้ตรวจสอบไม่ว่าจะทำงานหรือไม่โดยใช้การตรวจสอบของ Google Robots.txt


คุณคิดอย่างไรเกี่ยวกับเรื่องนี้? google.co.in/support/forum/p/Wmasmasters/
......

เนื่องจาก Noindex เป็นเมตาแท็กมันจะป้องกันไม่ให้ทั้งหน้าถูกทำดัชนีตอนนี้คุณได้ปิดการใช้งานความคิดเห็นจากการรวบรวมข้อมูลในขณะนี้เพื่อให้คุณสามารถลบลิงก์ที่จัดทำดัชนีจาก Google โดยใช้เครื่องมือเว็บมาสเตอร์ ไปที่การกำหนดค่าไซต์ >> การเข้าถึงโปรแกรมรวบรวมข้อมูล >> ลบ URL ฉันคิดว่านี่จะเป็นทางออกที่ดีกว่า
Vivek R

หลังจากที่ฉันลบ URL โดยใช้เครื่องมือเว็บมาสเตอร์แล้ว URL ใหม่ที่มีรูปแบบ / ความคิดเห็น / คำตอบ / ปรากฏเดียวกัน! และ URL ก็ถูกจัดทำดัชนีแม้ว่าจะไม่ได้ใช้ Disallow: / comment / reply / ในไฟล์ robots
Naweed Chougle

2
ให้เวลาสำหรับเครื่องมือค้นหาที่จะลบ .. มันจะไม่เกิดขึ้นข้ามคืนดังนั้นโปรดรอสักครู่อาจเป็นสัปดาห์หรือมากกว่านั้น
Vivek R

อย่างที่ฉันได้กล่าวไปแล้ว URL นั้นถูกจัดทำดัชนีแม้หลังจากที่ฉันใช้ Disallow / comment / reply / .... สิ่งนี้อาจเกิดขึ้นเนื่องจากลิงก์ไปยังแบบฟอร์มตอบกลับที่มาจากไซต์ภายนอก ฉันได้อัปเดตคำถามของฉันแล้วและมีรายละเอียดเกี่ยวกับความต้องการที่เป็นไปได้ของเมตาแท็ก noindex
Naweed Chougle

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

1
นี่คือปัญหา - ไม่มีโหนดชนิดใดที่เป็นความคิดเห็น - ดูเหมือนว่าพวกมันจะอยู่กับโหนดที่พวกเขาแสดงความคิดเห็นเท่านั้น ดังนั้นจึงเป็นไปไม่ได้จริงๆที่จะแยกแยะพวกเขาโดยทั่วไป หากคุณคลิกลิงก์ของความคิดเห็นคุณจะได้รับ URL ที่ขึ้นต้นด้วย 'ความคิดเห็น /' แต่นั่นไม่ได้ผลเพราะพวกเขาไม่ได้พก URL นั้นไว้ภายใน ฉันคิดว่าคุณสามารถหาอาร์กิวเมนต์ "หน้า" ในหน้าถัดไป (เช่นเมื่อมีความคิดเห็นมากกว่าหนึ่งหน้า) แต่คุณยังคงต้องแยกแยะระหว่างความคิดเห็นและหน้าอื่น ๆ โดยใช้เพจเจอร์ เรื่องยาวสั้น - ไม่แน่ใจว่าจะทำมัน ...
jmarkel

สำหรับตอนนี้ @jmarkel ฉันจะต้องอยู่กับเครื่องมือลบ URL ของเว็บมาสเตอร์ของ Google ดำเนินการโดยหนึ่งในวิดีโอของ Matt Cutts ดูเหมือนว่าเมื่อลบ URL แล้วจะไม่ปรากฏขึ้นอีกครั้ง ปัญหาคือฉันเห็นคนใหม่ปรากฏในผลการค้นหา!
Naweed Chougle

1

ปรับปรุง : ผลงานต่อไปนี้จะพิมพ์ในส่วนหัวของหน้าเว็บทั้งหมดเข้าถึงได้ผ่านทางเส้นทางที่เริ่มต้นด้วย<meta name="robots" content="noindex,follow" /> commentนี่คือการหลีกเลี่ยงความจริงที่ว่าหน้าเช่นความคิดเห็น / 3 ดำเนินการโหนด / nid ภายในเป็นอาร์กิวเมนต์ตามที่ jmarkel ชี้ให้เห็นข้างต้น

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

ด้วยความช่วยเหลือของการแสดงความคิดเห็นที่เป็นประโยชน์ในการทำงานของหาเรื่อง

หวังว่าจะได้รับการแก้ไขในที่สุดโดยโมดูล Meta Tags - มีคำขอคุณสมบัติแต่ก็ยังไม่ชัดเจนหากผู้เขียนโมดูลต้องการให้การสนับสนุน


[ความคิดเห็นก่อนหน้าของฉัน] ฉันแค่อยากจะเพิ่มว่าการใช้ robots.txt นั้นไม่ใช่คำตอบ - ตามที่คุณสังเกตเห็นลิงก์ที่ปรากฏในผลการค้นหาแม้จะใช้Disallow: /commentอยู่ก็ตาม คาดว่าเป็นเช่นนี้เนื่องจาก robots.txt บอกว่าบอตไม่รวบรวมข้อมูลหน้าเว็บเหล่านั้น แต่ไม่ได้บอกให้ Google ไม่จัดทำดัชนี ตามที่อธิบายไว้ในSEOmoz Robots.txt และแนวทางปฏิบัติที่ดีที่สุดสำหรับ Meta Robots สำหรับการเพิ่มประสิทธิภาพกลไกค้นหา :

ในกรณีส่วนใหญ่ควรใช้เมตาหุ่นยนต์ที่มีพารามิเตอร์ "noindex, follow" เพื่อเป็นวิธีในการ จำกัด การรวบรวมข้อมูลหรือการจัดทำดัชนี

บล็อกด้วย Robots.txt - สิ่งนี้บอกให้เอ็นจิ้นไม่คลาน URL ที่กำหนด แต่บอกพวกเขาว่าพวกเขาอาจเก็บหน้าเว็บไว้ในดัชนีและแสดงไว้ในผลลัพธ์

บล็อกด้วย Meta NoIndex - สิ่งนี้บอกเอ็นจิ้นที่พวกเขาสามารถเยี่ยมชม แต่พวกเขาไม่ได้รับอนุญาตให้แสดง URL ในผลลัพธ์ (นี่เป็นวิธีที่แนะนำ) ดังนั้นเมตาแท็ก noindex ที่คุณตามมาก็คือสิ่งที่คุณต้องการ


นั่นเป็นความจริง @arjan คุณได้ทบทวนหนึ่งในความคิดเห็นที่ฉันทำพร้อมรายละเอียดเพิ่มเติม ฉันกำลังมองหาวิธีการตั้งค่าเมตา noindex สำหรับหน้าเว็บที่ฉันไม่ต้องการในผลการค้นหา
Naweed Chougle

1
ใช่มันดูเหมือนคุณไม่ได้ 100% บางอย่างดังนั้นผมจึงอยากจะเพิ่มว่ามันถูกต้อง;)
Arjan

@ProgrammingEnthusiast: ดูการอัปเดตข้างต้น
arjan
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.