I don’t like the “garbage” code in the project (lol, so why you using WordPress :)) and that’s why I add in functions.php file of my theme the following code:
# Disable XML-RPC RSD link remove_action('wp_head', 'rsd_link'); # /Disable XML-RPC RSD link
# Remove api.w.org relation link remove_action('wp_head', 'rest_output_link_wp_head', 10); remove_action('wp_head', 'wp_oembed_add_discovery_links', 10); remove_action('template_redirect', 'rest_output_link_header', 11, 0); # /Remove api.w.org relation link
# Disabling emoji library from WordPress function disable_emojis() { remove_action('wp_head', 'print_emoji_detection_script', 7); remove_action('admin_print_scripts', 'print_emoji_detection_script'); remove_action('wp_print_styles', 'print_emoji_styles'); remove_action('admin_print_styles', 'print_emoji_styles'); remove_filter('the_content_feed', 'wp_staticize_emoji'); remove_filter('comment_text_rss', 'wp_staticize_emoji'); remove_filter('wp_mail', 'wp_staticize_emoji_for_email'); add_filter('tiny_mce_plugins', 'disable_emojis_tinymce'); add_filter('wp_resource_hints', 'disable_emojis_remove_dns_prefetch', 10, 2); } add_action('init', 'disable_emojis'); # /Disabling emoji library from WordPress
# Filter funcion to remove the emoji plugin from TinyMCE function disable_emojis_tinymce($plugins) { if (is_array($plugins)) { return array_diff($plugins, array('wpemoji')); } else return array(); } # /Filter funcion to remove the emoji plugin from TinyMCE
# Removing emoji CDN hostname from DNS prefetching hints function disable_emojis_remove_dns_prefetch($urls, $relation_type) { if ('dns-prefetch' == $relation_type) { /** This filter is documented in wp-includes/formatting.php */ $emoji_svg_url = apply_filters('emoji_svg_url', 'https://s.w.org/images/core/emoji/2/svg/'); $urls = array_diff($urls, array($emoji_svg_url)); } return $urls; } # /Removing emoji CDN hostname from DNS prefetching hints
# Disable RSS Feeds function wpb_disable_feed() { wp_die(__('No feed available,please visit our homepage!')); } add_action('do_feed', 'wpb_disable_feed', 1); add_action('do_feed_rdf', 'wpb_disable_feed', 1); add_action('do_feed_rss', 'wpb_disable_feed', 1); add_action('do_feed_rss2', 'wpb_disable_feed', 1); add_action('do_feed_atom', 'wpb_disable_feed', 1); add_action('do_feed_rss2_comments', 'wpb_disable_feed', 1); add_action('do_feed_atom_comments', 'wpb_disable_feed', 1); # /Disable RSS Feeds
# Disable author page function disable_author_page() { global $wp_query; if (is_author()) { # Redirect to homepage, set status to 301 permenant redirect # Function defaults to 302 temporary redirect wp_redirect(get_option('home'), 301); exit; } } add_action('template_redirect', 'disable_author_page'); # /Disable author page