Come rimuovere determinati meta tag?


18

Come posso rimuovere questi tag dalle mie pagine in Drupal 7?

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

Aggiornamento : ho il codice per template.php, che rimuove il generatore e i tag canonici.

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

Qualcuno può aggiungere qualcosa per rimuovere il tag link breve?


1
Tutto sembra a posto, ma perché togliere canonico? Questo è effettivamente utile.

Risposte:


11

Questo è visualizzato in html.tpl.php nella variabile $ head. $ head viene aggiunto alle variabili in template_process_html usando drupal_get_html_head () . In quella funzione, puoi vedere che viene chiamato hook_html_head_alter () .

Puoi rimuoverli.

Tuttavia, tieni presente che questi link possono essere importanti per la SEO, per evitare che un motore di ricerca pensi di avere contenuti duplicati sul tuo sito, se ad esempio un nodo è disponibile tramite node / nid e l'alias.


hmm lo trovo ma ancora non riesco a rimuoverlo :) Penso che dovrei imparare presto php :) Trovo il codice che può essere aggiunto a template.php (nel modello) e il codice rimuove la riga "Generatore". funzione program_html_head_alter (& $ head_elements) {unset ($ head_elements ['system_meta_generator']); }

ma ho ancora problemi con 2 righe aggiuntive che devo rimuovere. Non va bene per seo se hai una home page personalizzata e canonical non fornisce l'URL per il dominio principale solo per la sottopagina ... lo stesso con il collegamento breve - perché qualcuno può vedere che l'articolo ha un indirizzo aggiuntivo con /node/...stupid idea da aggiungere queste righe per d7

Quindi, se ho una nuova installazione D7 con URL puliti e pathauto, il collegamento URL canonico verrà impostato automaticamente?
Andy,

Dovrebbe essere, sì.
Berdir,

5

Uso la seguente funzione nel mio file template.php:

/**
 * 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>';
    // */
}

Questo non ha funzionato per me - 'metatag_canonicale 'metatag_shortlinknon esistono come indici di $head_elements(questo è in Drupal 7). La risposta data da @Levente ha funzionato bene.

4

Ho risolto anche il collegamento, modificando il tuo codice.

Qualcuno potrebbe riordinarlo correttamente, perché non so come metterlo correttamente, e nemmeno se ha effetti collaterali in questo modo o no. Fa però scomparire i collegamenti indesiderati dalla testa.

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

Sì, è l'atteggiamento di un macellaio nei confronti dei legami canonici, ma fino a quando non viene fuori un sollievo migliore, questo è ancora meglio.

PERCHÉ: hai bisogno di collegamenti canonici mostrati SOLO sulle pagine duplicate, quelle che non sono la versione preferita. Le pagine originali dovrebbero essere lasciate sole: nessuno canonico dovrebbe essere mostrato lì! Ecco perché macello ancora.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.