Чистка от мусора кода страницы WordPress

Очистка исходного кода WP страниц необходима, т.к. содержит ссылки на внешние ресурсы, добавляет хоть и небольшой, но вес каждой странице, может содержать уязвимости, ссылки на дубли страниц. В общем – одна из первых вещей, которую нужно сделать новому сайту – почистить его исходный код.

Если Вы используете плагин Clearfy – просто выставьте необходимые галочки на странице настроек. Ничего вставлять из этой статьи Вам не нужно, все реализовано в плагине.

пример мусора в коде страницы

Данный код необходимо вставлять в functions.php Вашей темы и в собственный плагин.

// Отключаем 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') );

// Отключаем REST API
filter('rest_enabled', '__return_false');
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' );

// Удаляем meta generator
remove_action( 'wp_head', 'wp_generator' );
add_filter( 'the_generator', '__return_empty_string' );

// Удаляем короткую ссылку
remove_action( 'wp_head', 'wp_shortlink_wp_head', 10, 0 );
remove_action( 'template_redirect', 'wp_shortlink_header', 11, 0 );

// Удаляем RSD, WLW ссылки, на главную, предыдущую, первую запись
remove_action( 'wp_head', 'rsd_link' );
remove_action( 'wp_head', 'wlwmanifest_link' );
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', 'index_rel_link' );
remove_action( 'wp_head', 'start_post_rel_link', 10, 0 );
remove_action( 'wp_head', 'parent_post_rel_link', 10, 0 );

// Удаляем RSS ссылки
remove_action( 'wp_head', 'feed_links_extra', 3 );
remove_action( 'wp_head', 'feed_links', 2 );

// Удаляем dns prefetch
remove_action( 'wp_head', 'wp_resource_hints', 2 );

В основном весь ненужный код находится в <head> секции. Данный код нельзя удалять, т.к. весь мусор вернется обратно.

Можно еще удалить canonical, но мы не рекомендуем это делать, т.к. он полезен для SEO. Но, если Вам нужно:

// Удалить ссылку на canonical
remove_action('wp_head', 'rel_canonical');

Этих действий достаточно, чтобы удалить максимальное количество ненужного кода. Надеюсь данные примеры помогут и Вам 🙂

Также читайте: Методы добавления кода в WP head на сайт.

Нажмите, пожалуйста, на одну из кнопок, чтобы узнать понравилась статья или нет.

Если Вам понравилась статья — поделитесь с друзьями
Сергей
Создаю сайты уже больше 10 лет, с WordPress начал работать в 2008 году. Основатель и руководитель WPShop.ru.
Обсуждение: 2
  1. Эдвард

    Здравствуйте! Вопрос: а в расширении Clearfy есть пункт “Удалить ссылку на главную” как эта: remove_action( ‘wp_head’, ‘index_rel_link’ ) ?

    Просмотрел настройки расширения – не нашёл. Значит, нужно эту команду в functions.php тему добавить? Я правильно понял, что она удаляет циклическую ссылку с главной на главную?

  2. Иван

    Из-за двух строк файл сохраняться не хотел.
    После сохранения, код стал еще длиннее на 300 строк.

Задать вопрос