Drupal 7'de noindex yorumu / yanıtı nasıl


9

Drupal 7 kullanıyorum ve http://example.com/comment/reply/43/738 arama motorları tarafından dizine eklenmesini önlemek için "noindex" meta etiketini kullanmaya çalışıyorum .

Robots.txt dosyasında şu rolü kullandığım halde yorum / yanıt sayfası dizine ekleniyor:

Disallow: /comment/reply/

/ Comment / answer / pages için hangi şablon dosyasına "noindex" meta etiketi eklemem gerekir?


1
robots.txtDosyanıza hangi kuralı yazdınız ?
tostinni

@tostini: Disallow kullandım: / comment /
answer

Yanıtlar:


7

Bu kodlardan herhangi birini robots.txt dosyasında kullanabilirsiniz:

User-agent: *
Disallow: /*comment

Bu, yorum içeren her URL'yi ihmal eder .

/ Comment içeren her URL'yi ihmal etmek için aşağıdakileri de kullanabilirsiniz .

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

Bunu yaptıktan sonra Google Robots.txt denetleyicisini kullanarak çalışıp çalışmadığını kontrol edin .


Bunun hakkında ne düşünüyorsun? google.co.in/support/forum/p/Webmasters/…
Naweed Chougle

Noindex meta etiketi olduğundan, tüm sayfanın dizine eklenmesini önleyecektir. site yapılandırmasına gidin >> tarayıcı erişimi >> URL'yi kaldırın.Bu daha iyi bir çözüm olacağını düşünüyorum.
Vivek R

URL'leri web yöneticisi araçlarını kullanarak kaldırdıktan sonra, aynı kalıp / yorum / yanıtla / yenisine sahip yeni URL'ler görünüyor! Robotlar dosyasında Disallow: / comment / answer / kullanılmasına rağmen URL'ler dizine eklendi.
Naweed Chougle

2
arama motoru kaldırmak için biraz zaman ver ... bir gecede olmayacak bu yüzden bir süre bekleyin .. bir hafta kadar olabilir.
Vivek R

Daha önce de söylediğim gibi, Disallow / comment / answer / .... kullandıktan sonra bile URL'ler dizine ekleniyordu. Bu, harici sitelerden gelen yanıt formuna bağlantılar nedeniyle olabilir. Sorumu güncelledim ve meta noindex etiketi için olası ihtiyaç hakkında ayrıntılar ekledim.
Naweed Chougle

4

Temanızın template.php dosyasında veya page.tpl.php dosyasında, sayfanın yorum sayfası olup olmadığını görmek için sayfanın URL'sini kontrol edebilir, ardından meta etiketi ekleyecek kodu ekleyebilirsiniz.

Bunu template.php YOURTHEME_preprocess_html () işlevinde yapabilir veya sayfanın üst kısmına yakın bir yere ekleyebilirsiniz. Tpl.php. Eklenecek kod şuna benzer:

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

Bkz. Drupal_add_html_head () .


Teşekkürler @jmarkel! Programlı olarak sayfanın aşağıdaki gibi bir şey olup olmadığını kontrol etmeme yardımcı olabilir misiniz: example.com/comment/reply/32/409 .... meta noindex'i yalnızca bu tür sayfalar için ayarlayabilmem için?
Naweed Chougle

1
Sorun şu - gerçekten bir yorum olarak böyle bir düğüm tipi yok - sadece yorum yaptıkları düğümlerle yaşıyor gibi görünüyorlar. Bu yüzden onları genel olarak ayırt etmek gerçekten mümkün değil. Bir yorumun kalıcı bağlantısını tıklatırsanız, 'comment /' ile başlayan ancak bu URL'yi dahili olarak taşımadığı için bu işe yaramaz. Sonraki sayfalarda "sayfa" bağımsız değişkenini arayabileceğinizi varsayalım (örneğin birden fazla yorum sayfası olduğunda), ancak bir çağrı cihazı kullanarak yorumları ve diğer sayfaları birbirinden ayırmak zorunda kalırsınız. Uzun lafın kısası - nasıl yapılacağından emin değilim ...
jmarkel

Şimdilik, @jmarkel, Google web yöneticisinin URL kaldırma aracıyla yaşamak zorunda kalacağım. Matt Cutts videolarından birine giderken, kaldırıldıktan sonra bir URL tekrar görünmeyecek gibi görünüyor. Sorun şu ki, arama sonuçlarında yeni olanlar görüyorum!
Naweed Chougle

1

Güncelleme : Aşağıdaki işler, <meta name="robots" content="noindex,follow" />ile başlayan bir yoldan erişilen tüm sayfaların baş bölümüne yazdırır comment. Bu, jmarkel'in yukarıda işaret ettiği gibi, açıklama / 3 gibi bir sayfanın dahili olarak düğümü / nid'i bağımsız değişken olarak taşımasıdır.

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

Arg işlevi hakkında yararlı bir yorum yardımıyla .

Umarım bu sonuçta Meta Tags modülü tarafından ele alınacaktır - bir özellik isteği var , ancak modül yazarının bunu desteklemek isteyip istemediği henüz belli değil.


[Benim önceki yorumum] Sadece robots.txt kullanmanın cevap olmadığını eklemek istedim - daha önce de fark ettiğiniz gibi, bağlantılara rağmen arama sonuçlarında görünmeye devam ediyor Disallow: /comment. Robots.txt, bota bu sayfaları taramamasını söylediğinden, Google'a dizine eklememesini söylemediğinden bu beklenen bir durumdur. SEOmoz Robots.txt ve Meta Robots Arama Motoru Optimizasyonu için En İyi Uygulamalar açıklandığı gibi :

Çoğu durumda, "noindex, follow" parametrelerine sahip meta robotlar, taramayı veya dizine eklemeyi kısıtlamanın bir yolu olarak kullanılmalıdır.

Robots.txt ile engelle - Bu, motorlara verilen URL'yi taramamasını söyler, ancak sayfayı dizinde tutabileceklerini ve sonuçlarda görüntüleyebileceklerini söyler.

Meta NoIndex ile Engelle - Bu, motorlara ziyaret edebileceklerini söyler, ancak sonuçlarda URL'yi göstermelerine izin verilmez. (Bu önerilen yöntemdir) Yani peşinde olduğunuz noindex meta etiketi gerçekten ihtiyacınız olan şey.


Bu doğru, @arjan, ek ayrıntılarla yaptığım yorumlardan birini yeniden düzenledin. Arama sonuçlarında istemediğim sayfalar için meta noindex ayarlamanın bir yolunu arıyorum.
Naweed Chougle

1
Evet,% 100 kesin görünmüyormuş gibi görünüyordu, bu yüzden doğru olduğunu eklemek istedim;)
arjan

@ProgrammingEnthusiast: yukarıdaki güncellemeye bakın.
arjan
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.