it-swarm-ko.tech

특정 메타 태그를 제거하는 방법은 무엇입니까?

Drupal 7의 내 페이지에서이 태그를 제거하려면 어떻게해야합니까?

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

pdate : 생성기와 표준 태그를 제거하는 template.php 코드가 있습니다.

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

누구든지 짧은 링크 태그를 제거하기 위해 무언가를 추가 할 수 있습니까?

17
user332

변수 $ head의 html.tpl.php 에 표시됩니다. $ -head는 drupal_get_html_head () 를 사용하여 template_process_html 의 변수에 추가됩니다. 이 함수에서 hook_html_head_alter () 이 호출되었음을 알 수 있습니다.

이것들을 제거 할 수 있습니다.

그러나 노드가 노드/니드 및 별명을 통해 사용 가능한 경우 검색 엔진이 사이트에 중복 컨텐츠가 있다고 생각하지 않도록 SEO에이 링크가 중요 할 수 있습니다.

11
Berdir

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

코드를 수정하여 짧은 링크도 해결했습니다.

제대로 넣는 방법을 모르고 부작용이 있는지 여부를 모르기 때문에 누군가가 제대로 정리할 수 있습니다. 그러나 원하지 않는 링크는 머리에서 사라집니다.

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

예, 정식 링크에 대한 정육점의 태도이지만 더 나은 sulotion이 나오지 않을 때까지 이것은 더 좋습니다.

그 이유 : 중복 버전의 페이지에만 선호되는 표준 링크가 아닌 표준 링크가 필요합니다. 원본 페이지는 그대로 두어야합니다. 정식 페이지는 표시되지 않아야합니다. 그래서 나는 아직도 정육점입니다.

4
Levente