حذف تگ های غیرضروری از هدر وردپرس

وردپرس به صورت خودکار تعدادی تگ HTML غیرضروری در بخش head سایت ایجاد می کند که علاوه بر کندی می تواند سبب بروز مشکلات امنیتی گردد. به طور مثال، تگ generator وردپرس شامل اطلاعاتی در مورد نسخه فعلی وردپرس می باشد. در ادامه به بحث در مورد چگونگی حذف این تگ ها می پردازیم.

لیست تگ های غیرضروری در هدر وردپرس

تگ های غیرضروری در هدر وردپرس شامل موارد زیر هستند:

<link rel="profile" href="http://gmpg.org/xfn/11">
<link rel="pingback" href="#">
<link rel="alternate" type="application/rss+xml" title="Comments Feed" href="#" />
<link rel="EditURI" type="application/rsd+xml" title="RSD" href="xmlrpc.php?rsd" />
<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="wlwmanifest.xml" />
<meta name="generator" content="WordPress 4.1.1" />
<link rel='shortlink' href='#' />
<link rel='https://api.w.org/' href="#" />
<link rel="alternate" type="application/json+oembed" href="#" />
<link rel="alternate" type="text/xml+oembed" href="#" />

خوشبختانه حذف این تگ ها بسیار آسان است. حذف این تگ ها از طریق قرار دادن چند خط کد در فایل function.php تم سایت یا از طریق ایجاد یک پلاگین برای این منظور می تواند صورت پذیرد.

برای حذف اکشن های ایجاد کننده این تگ ها از هوک wp_head، باید اکشنی برای هوک after_setup_theme بنویسیم. این هوک در هر بار بارگذاری صفحه فراخوانده می شود و اقدامات ضروری در مورد تم را به اجرا در می آورد.

<?php
add_action( 'after_setup_theme', 'my_wp_version_remover' );
 function my_wp_version_remover(){
        remove_action('wp_head', 'wp_generator');
        remove_action('wp_head', 'wlwmanifest_link');
        remove_action('wp_head', 'rsd_link');
        remove_action('wp_head', 'wp_shortlink_wp_head');
        remove_action( 'wp_head', 'feed_links', 2 );
        remove_action('wp_head', 'feed_links_extra', 3 );
        // Disable REST API link tag
        remove_action('wp_head', 'rest_output_link_wp_head', 10);

        // Disable oEmbed Discovery Links
        remove_action('wp_head', 'wp_oembed_add_discovery_links', 10);
    }
?>

تابع remove_action اکشن های مورد نظر را از لیست اکشن های ثبت شده هوک حذف می کند. تگ های rel=profile و rel=pingback معمولا در فایل header.php به قالب افزوده می شوند. برای حذف این دو تگ باید به صورت مستقیم آنها را حذف نمایید.

Related posts