it-swarm.com.de

Wie entferne ich bestimmte Meta-Tags?

Wie kann ich diese Tags in Drupal 7) von meinen Seiten entfernen?

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

pdate: Ich habe den Code für template.php, der den Generator und kanonische Tags entfernt.

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

Kann jemand etwas hinzufügen, um das Short-Link-Tag zu entfernen?

17
user332

Dies wird in html.tpl.php in der Variablen $ head angezeigt. $ head wird zu den Variablen in template_process_html hinzugefügt, indem drupal_get_html_head () verwendet wird. In dieser Funktion können Sie sehen, dass hook_html_head_alter () aufgerufen wird.

Dort können Sie diese entfernen.

Beachten Sie jedoch, dass diese Links für die Suchmaschinenoptimierung wichtig sein können, um zu vermeiden, dass eine Suchmaschine denkt, dass Sie doppelten Inhalt auf Ihrer Website haben, wenn beispielsweise ein Knoten über node/nid und den Alias ​​verfügbar ist.

11
Berdir

Ich verwende die folgende Funktion in meiner template.php-Datei:

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

Ich habe auch den Shortlink gelöst und Ihren Code modifiziert.

Jemand könnte es richtig aufräumen, weil ich nicht weiß, wie ich es richtig einsetzen soll, und auch nicht, ob es auf diese Weise Nebenwirkungen hat oder nicht. Dadurch verschwinden die unerwünschten Verbindungen jedoch aus dem Kopf.

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

Ja, es ist die Haltung eines Metzgers gegenüber kanonischen Verbindungen, aber bis keine bessere Sulotion auftaucht, ist dies immer noch besser.

DAS WARUM: Sie benötigen kanonische Links, die NUR auf den doppelten Seiten angezeigt werden, die nicht die bevorzugte Version sind. Originalseiten sollten in Ruhe gelassen werden: Dort sollte kein Kanonisch gezeigt werden! Deshalb schlachte ich immer noch herum.

4
Levente