Откл RSS и убираем фиды

//Откл RSS и убираем фиды
function site_kill_feed() {
wp_redirect( home_url(), 302 );
exit;
}
add_action(‘do_feed’, ‘site_kill_feed’, 1);
add_action(‘do_feed_rdf’, ‘site_kill_feed’, 1);
add_action(‘do_feed_rss’, ‘site_kill_feed’, 1);
add_action(‘do_feed_rss2’, ‘site_kill_feed’, 1);
add_action(‘do_feed_atom’, ‘site_kill_feed’, 1);
//После добавления данной функции, при обращении к любому из фидов, будет производится переадресация на главную страницу Вашего сайта. Если после обращения к странице url.ru/feed идет переадресация на url.ru, то функция работает правильно.

function cfr_wp_head(){
remove_action( ‘wp_head’, ‘feed_links’, 2 );
remove_action( ‘wp_head’, ‘feed_links_extra’, 3 );
}
add_action( ‘wp_head’, ‘cfr_wp_head’, 1 );
//Данная функция, убирает ссылки на RSS-фиды из исходного кода страниц Вашего сайта.

// Отключаем WP-API версий 1.x
add_filter( ‘json_enabled’, ‘__return_false’ );
add_filter( ‘json_jsonp_enabled’, ‘__return_false’ );

// Отключаем WP-API версий 2.x
add_filter( ‘rest_enabled’, ‘__return_false’ );
add_filter( ‘rest_jsonp_enabled’, ‘__return_false’ );

// Удаляем информацию о REST API из заголовков HTTP и секции head
remove_action( ‘xmlrpc_rsd_apis’, ‘rest_output_rsd’ );
remove_action( ‘wp_head’, ‘rest_output_link_wp_head’, 10 );
remove_action( ‘template_redirect’, ‘rest_output_link_header’, 11 );

// Отключаем фильтры REST API (если мы разрабатываем приложение и используем сайт как базу данных. Он генерирует большой кусок кода в шапку, который просто висит и обращаются в json, генерирует страницы ненужные (неканонические), потом вебмастер понимает, что они не нужные и удаляет, засоряет сильно сайт)
remove_action( ‘xmlrpc_rsd_apis’, ‘rest_output_rsd’ );
remove_action( ‘auth_cookie_malformed’, ‘rest_cookie_collect_status’ );
remove_action( ‘auth_cookie_expired’, ‘rest_cookie_collect_status’ );
remove_action( ‘auth_cookie_bad_username’, ‘rest_cookie_collect_status’ );
remove_action( ‘auth_cookie_bad_hash’, ‘rest_cookie_collect_status’ );
remove_action( ‘auth_cookie_valid’, ‘rest_cookie_collect_status’ );
remove_filter( ‘rest_authentication_errors’, ‘rest_cookie_check_errors’, 100 );

// Отключаем Embeds связанные с REST API
remove_action( ‘rest_api_init’, ‘wp_oembed_register_route’ );
remove_filter( ‘rest_pre_serve_request’, ‘_oembed_rest_pre_serve_request’, 10, 4 );

// Убираем oembed ссылки в секции head
remove_action( ‘wp_head’, ‘wp_oembed_add_discovery_links’ );

// Если собираетесь выводить oembed из других сайтов на своём, то закомментируйте следующую строку
remove_action( ‘wp_head’, ‘wp_oembed_add_host_js’ );

// Редиректим со страницы /wp-json/ на главную
add_action( ‘template_redirect’, function() {
if ( preg_match( ‘#\/wp-json\/.*?#’, $_SERVER[‘REQUEST_URI’] ) ) {
wp_redirect( get_option( ‘siteurl’ ), 301 );
die();
}
} );

RSD xmlrpc ссылки в теге link в WordPress — как удалить

//удалить RSD (открытая дырка в вп, через нее любят ломиться переборщики паролей)
remove_action( ‘wp_head’, ‘rsd_link’ );
//Если в коде (ctrl + u) пропала через поиск RSD, значит функция работает правильно

//удалить xmlrpc.php
add_filter(‘xmlrpc_enabled’, ‘__return_false’);
//файл xmlrpc.php, который находится в корне сайта, можно удалить

Удаляем ссылку Windows для Live Writer (wlwmanifest)


//откл api.
remove_action( ‘xmlrpc_rsd_apis’, ‘rest_output_rsd’ );
remove_action( ‘wp_head’, ‘rest_output_link_wp_head’, 10, 0 );
remove_action( ‘template_redirect’, ‘rest_output_link_header’, 11, 0 );
remove_action( ‘auth_cookie_malformed’, ‘rest_cookie_collect_status’ );
remove_action( ‘auth_cookie_expired’, ‘rest_cookie_collect_status’ );
remove_action( ‘auth_cookie_bad_username’, ‘rest_cookie_collect_status’ );
remove_action( ‘auth_cookie_bad_hash’, ‘rest_cookie_collect_status’ );
remove_action( ‘auth_cookie_valid’, ‘rest_cookie_collect_status’ );
remove_filter( ‘rest_authentication_errors’, ‘rest_cookie_check_errors’, 100 );
remove_action( ‘init’, ‘rest_api_init’ );
remove_action( ‘rest_api_init’, ‘rest_api_default_filters’, 10, 1 );
remove_action( ‘parse_request’, ‘rest_api_loaded’ );
remove_action( ‘rest_api_init’, ‘wp_oembed_register_route’ );
remove_filter( ‘rest_pre_serve_request’, ‘_oembed_rest_pre_serve_request’, 10, 4 );
remove_action( ‘wp_head’, ‘wp_oembed_add_discovery_links’ );
remove_action( ‘wp_head’, ‘wp_oembed_add_host_js’ );

//убираем страницы вложения.
function wpcourses_attachment_redirect() { global $post; if ( is_attachment() && 0 !== $post->post_parent ) { wp_redirect( get_permalink( $post->post_parent ), 301 ); exit(); } } add_action( ‘template_redirect’, ‘wpcourses_attachment_redirect’ );

Удаляем шортлинк ( короткую ссылку /?p=? )

//убираем короткую ссылку, которая генерируется в шапке, ее так же читают роботы и они также попадают в вебмастер и потом как неканонические исключаются
remove_action( ‘wp_head’, ‘wp_shortlink_wp_head’ );

Удаляем предыдущую и следующую запись в хедере

//удаляем предыдущую следующую запись. Перелинковка нужна грамотная, это категории, возврат на главную и та, которая нужна для сео
remove_action( ‘wp_head’, ‘adjacent_posts_rel_link_wp_head’, 10, 0 );

Отключаем Emoji

//тормозит загрузку сайта, гугл пейдж спид покажет цифры меньше нужных

// Отключаем emoji
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', array( $this, 'disable_emojis_tinymce' ) );

Отключаем dns-prefetch

//удаляем dns-prefetch (ускоряет загрузку emodji как доп. кеширование. Но эта ссылка не дает 2 раз загрузиться из кеша, он портит систему кеширования)
emove_action( ‘wp_head’, ‘wp_resource_hints’, 2 );

Отключаем .recentcomments

//удаляем .recentcomments (Это стили виджета свежие комментарии, он выводится в шапку, стили в тело сайта размещать нежелательно )

function wpschool_remove_recentcomments_css() {
    global $wp_widget_factory;
    remove_action( 'wp_head', array( $wp_widget_factory->widgets['WP_Widget_Recent_Comments'], 'recent_comments_style' ) );
}
add_action( 'widgets_init', 'wpschool_remove_recentcomments_css' );

Удаляем следы сео плагина

//удаляем yoast комментарии и микроразметку шема от yoast