Откл 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