it-swarm-id.com

Bagaimana cara menghapus meta tag tertentu?

Bagaimana saya bisa menghapus tag ini dari halaman saya di Drupal 7?

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

Pembaruan: Saya memiliki kode untuk template.php, yang menghapus generator dan tag kanonik.

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]); 
    }
  }
}

Adakah yang bisa menambahkan sesuatu untuk menghapus tag tautan pendek?

17
user332

Ini ditampilkan dalam html.tpl.php dalam variabel $ head. $ head ditambahkan ke variabel dalam template_process_html dengan menggunakan drupal_get_html_head () . Dalam fungsi itu, Anda dapat melihat bahwa hook_html_head_alter () dipanggil.

Di sana Anda dapat menghapus ini.

Namun, perhatikan bahwa tautan ini dapat penting untuk SEO, untuk menghindari bahwa mesin pencari berpikir bahwa Anda memiliki duplikat konten di situs Anda, jika misalnya sebuah node tersedia melalui node/nid dan alias.

11
Berdir

Saya menggunakan fungsi berikut dalam file template.php saya:

/**
 * 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

Saya telah memecahkan shortlink juga, memodifikasi kode Anda.

Seseorang dapat merapikannya dengan benar, karena saya tidak tahu bagaimana cara memasangnya dengan benar, dan juga apakah itu memiliki efek samping dengan cara ini atau tidak. Itu membuat tautan yang tidak diinginkan menghilang dari kepala.

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]);
    }
  }
}

Ya, ini adalah sikap tukang daging terhadap hubungan kanonik, tetapi sampai tidak ada sulosi yang lebih baik, ini masih lebih baik.

ITULAH MENGAPA: Anda memerlukan tautan kanonik yang HANYA ditunjukkan pada halaman duplikat, yang bukan versi yang disukai. Halaman asli harus dibiarkan sendiri: tidak ada kanonik yang boleh ditampilkan di sana! Itu sebabnya saya masih membantai.

4
Levente