web-gelistirme-sc.com

Belirli meta etiketler nasıl kaldırılır?

Bu etiketleri Drupal 7) içindeki sayfalarımdan nasıl kaldırabilirim?

<link rel="shortlink" href=" .... " />
<meta name="Generator" content="Drupal 7 (http://drupal.org)" />
<link rel="canonical" href="...." />

Güncelleme: Jeneratörü ve kurallı etiketleri kaldıran template.php kodum var.

function program_html_head_alter(&$head_elements) {
  unset($head_elements['system_meta_generator']);
  foreach ($head_elements as $key => $element) {
    if (isset($element['#attributes']['rel']) && $element['#attributes']['rel'] == 'canonical') {
      unset($head_elements[$key]); 
    }
  }
}

Herkes kısa bağlantı etiketini kaldırmak için bir şeyler ekleyebilir mi?

17
user332

Bu, $ head değişkeninde html.tpl.php içinde görüntülenir. drupal_get_html_head () kullanılarak template_process_html değişkenlerine $ head eklenir. Bu işlevde, hook_html_head_alter () işlevinin çağrıldığını görebilirsiniz.

Bunları kaldırabilirsiniz.

Ancak, bir düğümün düğüm/nid ve takma ad yoluyla kullanılabilmesi durumunda, bir arama motorunun sitenizde yinelenen içeriğe sahip olduğunuzu düşünmesini önlemek için bu bağlantıların SEO için önemli olabileceğini unutmayın.

11
Berdir

Template.php dosyamda aşağıdaki işlevi kullanıyorum:

/**
 * Used to remove certain elements from the $head output within html.tpl.php
 *
 * @see http://api.drupal.org/api/drupal/modules--system--system.api.php/function/hook_html_head_alter/7
 * @param array $head_elements
 */
function YOUR_THEME_NAME_html_head_alter(&$head_elements) {
    $remove = array(
        'system_meta_generator',
        'metatag_canonical',
        'metatag_shortlink'
    );

    foreach ($remove as $key) {
        if (isset($head_elements[$key])) {
            unset($head_elements[$key]);
        }
    }

    // Use this loop to find out which keys are available.
    /* -- Delete this line to execute this loop
    echo '<pre>';
    foreach ($head_elements as $key => $element) {
        echo $key ."\n";
    }
    echo '</pre>';
    // */
}
5
Fleshgrinder

Ben de kısa bağlantı çözdüm, kodunuzu modyfying.

Birisi düzgün bir şekilde toparlayabilir, çünkü düzgün bir şekilde nasıl koyacağımı bilmiyorum ve ne bu şekilde yan etkileri varsa ya da olmasın. Yine de istenmeyen bağlantıların kafadan kaybolmasını sağlar.

function nameof_mytheme_html_head_alter(&$head_elements) {
  unset($head_elements['system_meta_generator']);
  foreach ($head_elements as $key => $element) {
    if (isset($element['#attributes']['rel']) && $element['#attributes']['rel'] == 'canonical') {
      unset($head_elements[$key]);
    }

    if (isset($element['#attributes']['rel']) && $element['#attributes']['rel'] == 'shortlink') {
      unset($head_elements[$key]);
    }
  }
}

Evet, bu bir kasabın kanonik bağlantılara karşı tutumu, ancak daha iyi bir suçlama gelene kadar, bu hala daha iyi.

NEDEN: SADECE yinelenen sayfalarda gösterilen, tercih edilen sürüm olmayanlar için kanonik bağlantılara ihtiyacınız var. Orijinal sayfalar yalnız bırakılmalıdır: orada hiçbir kurallı gösterilmemelidir! Bu yüzden hala kasabam var.

4
Levente