कुछ मेटा टैग कैसे निकालें?


18

मैं Drupal 7 में अपने पृष्ठों से ये टैग कैसे हटा सकता हूं?

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

अपडेट : मेरे पास 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]); 
    }
  }
}

क्या शॉर्ट लिंक टैग को हटाने के लिए कोई कुछ जोड़ सकता है?


1
सब कुछ अच्छा लग रहा है, लेकिन विहित बाहर क्यों ले? यह वास्तव में मददगार है।

जवाबों:


11

यह html.tpl.php में चर $ सिर में प्रदर्शित होता है । drupal_get_html_head () का उपयोग करके template_process_html में चर में $ सिर जोड़ा जाता है । उस फ़ंक्शन में, आप देख सकते हैं कि हुक_ html_head_alter () कहा जाता है।

वहां आप इन्हें हटा सकते हैं।

हालांकि, ध्यान दें कि ये लिंक एसईओ के लिए महत्वपूर्ण हो सकते हैं, इससे बचने के लिए कि एक खोज इंजन को लगता है कि आपके पास आपकी साइट पर डुप्लिकेट सामग्री है, यदि उदाहरण के लिए नोड / नोड और उपनाम के माध्यम से एक नोड उपलब्ध है।


हम्म मैं इसे ढूँढता हूँ, लेकिन फिर भी इसे हटा नहीं सकता :) मुझे लगता है कि मुझे जल्द ही php सीखना चाहिए :) मुझे कोड मिल गया है जिसे template.php (टेम्पलेट में) में जोड़ा जा सकता है और कोड "जनरेटर" लाइन को हटा सकता है। function program_html_head_alter (& $ head_elements) {unset ($ head_elements ['system_meta_generator']); }

लेकिन मुझे अभी भी 2 अतिरिक्त लाइनों के साथ समस्या है जिसे मुझे हटाने की आवश्यकता है। यह seo के लिए अच्छा नहीं है यदि आपके पास कस्टम होमपेज है और कैनोनिकल दे url है न कि मुख्य डोमेन के लिए केवल सबपेज के लिए ... उसी के साथ शालिंक - क्यों कोई व्यक्ति उस लेख को अतिरिक्त रूप से देख सकता है /node/...stupid विचार जोड़ने के लिए इन लाइनों को d7

इसलिए यदि मेरे पास स्वच्छ URL और pathauto के साथ एक ताज़ा D7 इंस्टॉलेशन है, तो कैनोनिकल URL लिंक स्वचालित रूप से सेट हो जाएगा?
एंडी

होना चाहिए, हाँ।
बर्दिर

5

मैं अपने टेम्पलेट के भीतर निम्नलिखित फ़ंक्शन का उपयोग करता हूं। पीएफ फ़ाइल:

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

यह मेरे लिए काम नहीं किया - 'metatag_canonicalऔर के 'metatag_shortlinkअनुक्रम के रूप में मौजूद नहीं है $head_elements(यह Drupal 7 में है)। @Levente द्वारा दिए गए जवाब ने ठीक काम किया।

4

मैंने आपका कोड संशोधित करते हुए शॉर्लिंक भी हल कर दिया है।

कोई इसे ठीक से साफ कर सकता है, क्योंकि मुझे नहीं पता कि इसे ठीक से कैसे लगाया जाए, और न तो यह इस तरह से साइड इफेक्ट है या नहीं। यह अवांछित लिंक को सिर से गायब कर देता है, हालांकि।

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

हां, यह विवादास्पद लिंक के लिए एक कसाई का रवैया है, लेकिन जब तक कोई बेहतर भावना नहीं आती है, तब भी यह बेहतर है।

यह क्यों है: आपको केवल नकली पृष्ठों पर दिखाए गए विहित लिंक की आवश्यकता है, जो पसंदीदा संस्करण नहीं हैं। मूल पृष्ठों को अकेला छोड़ दिया जाना चाहिए: कोई भी कैनोनिकल वहां नहीं दिखाया जाना चाहिए! इसलिए मैं अभी भी कसाई हूं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.