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

وردپرس به صورت خودکار تعدادی تگ 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 اکشن های مورد نظر را از لیست اکشن های ثبت شده هوک حذف می کند. اکشن wp_generator تابعی است که برای ایجاد تگ generator در وردپرس استفاده می شود. برای نمایش لینک به فایل مانیفست Windows Live Writer از اکشن wlwmanifest_link استفاده می گردد. اکشن های feed_links و feed_links_extra به ترتیب برای نمایش لینک های مربوط به فید نوشته ها و فید های اضافه دیگر مانند فید دسته بندی ها به کار می روند. اکشن rest_output_link_wp_head برای نمایش لینک دسترسی به مسیرهای خروجی REST در وردپرس استفاده می شود.

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

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

پست های مرتبط

Leave a Comment