Убираем с сайта лишний код

WordPress добавляет в код довольно много информации, которую скорее можно считать лишней. Это информация о движке, ссылки на предыдущую и следующую страницу и много другое.

Я собрал в интернет советы по исключению такого лишнего кода и обобщил их здесь. Этот код нужно поместить в файл function.php вашей темы. Поместить можно в любое место, например, в конец файла.

Если вы используете или планируете использовать на своем сайте плагин Contact Form 7, вам нельзя удалять приведенный ниже код, поскольку последние версии этого плагина используют для своей работы Rest Api.

remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'wp_generator');
remove_action('wp_head', 'feed_links', 2);
remove_action('wp_head', 'rel_canonical');
remove_action('wp_head', 'index_rel_link');
remove_action('wp_head', 'wlwmanifest_link');
remove_action('wp_head', 'feed_links_extra', 3);
remove_action('wp_head', 'wp_shortlink_wp_head');
remove_action('wp_head', 'start_post_rel_link', 10, 0);
remove_action('wp_head', 'parent_post_rel_link', 10, 0);
remove_action('wp_head', 'adjacent_posts_rel_link', 10, 0);
remove_action('wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0);
remove_action('wp_head', 'print_emoji_detection_script', 7);
remove_action('wp_print_styles', 'print_emoji_styles');
remove_action('admin_print_scripts', 'print_emoji_detection_script');
remove_action('admin_print_styles', 'print_emoji_styles');
// Отключаем сам REST API
add_filter('rest_enabled', '__return_false');
// Отключаем фильтры REST 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 );
// Отключаем события REST API
remove_action( 'init', 'rest_api_init' );
remove_action( 'rest_api_init', 'rest_api_default_filters', 10, 1 );
remove_action( 'parse_request', 'rest_api_loaded' );
// Отключаем 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 );
remove_action( 'wp_head', 'wp_oembed_add_discovery_links' );
remove_action( 'wp_head', 'wp_oembed_add_host_js' );

Некоторые комментарии по инструкциям. Для краткости буду указывать только параметр функции.

  • wp_shortlink_wp_head – удаляет короткую ссылку (вида ?p=) к текущей странице;
  • feed_links, feed_links_extra – удаляет ссылки на RSS-фид, при этом сами фиды останутся доступными;
  • wp_generator – убирает версию движка;
  • rsd_link, wlwmanifest_link – используются блог-клиентами; если вы не используете блог-клиенты, вам эти ссылки не нужны;
  • index_rel_link, start_post_rel_link, parent_post_rel_link, adjacent_posts_rel_link, adjacent_posts_rel_link_wp_head – устраняет ссылки на главную, первую, родительскую и смежные страницы;
  • print_emoji_detection_script, print_emoji_styles, print_emoji_detection_script, print_emoji_styles – устраняет поддержку графических смайликов на сайте. Если вам не нужны такие элементы на сайте, то лучше их удалить.
Понравилась статья? Поделись с друзьями:

Добавьте комментарий

* Нажимая на кнопку "Отправить" Вы соглашаетесь с политикой конфиденциальности.