mojwp.ru
Назад

Чистим код страницы сайта на WordPress "по самые не балуйся"

Опубликовано: 04.07.2016
16
1258

По-умолчанию WordPress пихает в код страницы сайта кучу кода, который не всегда нужен, а иногда создает проблемы с индексацией страниц.

По поводу проблем я уже писал раньше в этой статье.

Ниже код с пояснениями, который размещаю на всех созданных для клиентов сайтах (в том числе на своих личных). Вставляем код в functions.php:

	remove_action('wp_head', 'wp_generator'); // Убирает вывод используемого движка и его версии
	remove_action('wp_head', 'rel_canonical'); // Убирает канонические линки
	remove_action('wp_head', 'wp_shortlink_wp_head'); // Убирает короткую ссылку к текущей странице
	remove_action('wp_head', 'wlwmanifest_link'); // Используется блог-клиентами, а вернее лишь одним из них - Windows Live Writer. Не используете WLW - удаляйте.
	remove_action('wp_head', 'rsd_link'); // Используется различными блог-клиентами или веб-сервисами для публикации/изменения записей в блоге.
	remove_action('wp_head', 'pagenavi_css'); // Убирает вывод лишнего css изи плагина WP-PageNavi
	remove_action('wp_head', 'index_rel_link'); // Убирает ссылку на главную страницу
	remove_action('wp_head', 'parent_post_rel_link', 10, 0); // Убирает ссылку на предыдущую запись
	remove_action('wp_head', 'start_post_rel_link', 10, 0);  // Убирает ссылку на первую запись
	remove_action('wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0); // Убирает связь с родительской записью
	remove_action('wp_head', 'adjacent_posts_rel_link', 10, 0); // Убирает ссылку на следующую запись
	remove_action('wp_head', 'feed_links_extra', 3); // Запрещаем вывод RSS фида для записей, тегов, рубрик и т.д. Таким образом, мы запрещаем создавать такие фиды, но тем не менее, они будут доступны, если добавить /feed в конец урла.
	remove_action('wp_head', 'feed_links', 2); // Формально если запретить данное действие, то в блоге не должны выводиться ссылки на основную ленту RSS и на RSS ленту комментариев. А на практике это работать не будет, так как функция wp_head не выводит эти самые ссылки на RSS ленты записей и комментариев, их вывод должен осуществляться вручную в файле header.php
	//полное отключение Emoji
	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');
	
	// Код ниже избавляет от wp-json и oembed
	add_filter('rest_enabled', '__return_false'); // Отключаем сам REST API
	// Отключаем фильтры 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_filter('oembed_dataparse', 'wp_filter_oembed_result', 10);
	remove_action('wp_head', 'wp_oembed_add_host_js');

        // убираем meta rel='dns-prefetch' href='//s.w.org'
        remove_action( 'wp_head', 'wp_resource_hints', 2 );

Если юзаете Clearfy, то вам не обязательно вставлять представленное выше: просто выставьте галочки в плагине напротив нужных пунктов.

Автор:
Виталий
Поделиться
Похожие записи
Черкани пару строк
  • seoonly.ru
    Опубликовано: 04.07.2016 Ответить на сообщение

    Шикарно)) Что ожидать после вставки? Сайт быстрее грузиться заметно будет?

    • Alex
      Опубликовано: 04.07.2016 Ответить на сообщение

      Если только на пару миллисекунд)

    • Виталий
      Опубликовано: 05.07.2016 Ответить на сообщение

      Вроде бы в статье нет слов про скорость))

  • freedore
    Опубликовано: 05.07.2016 Ответить на сообщение

    Спасибо за подробное описание. Профит я так понимаю будет в более чистом коде? Есть ли смысл в text to html ratio?

  • makedo
    Опубликовано: 05.07.2016 Ответить на сообщение

    Проблемы с wp-json это проблема с неправильно составленным robots. У меня Яндекс успешно НЕинедксирует подобные страницы.

  • Добрый бомж
    Опубликовано: 08.07.2016 Ответить на сообщение

    Сапсибо большое. Расширил аналогичный файл у себя.

  • Сергей Ермолинский
    Опубликовано: 04.09.2016 Ответить на сообщение

    Просто отлично! Спасибо! Обязательно воспользуюсь!

  • Игорь
    Опубликовано: 23.09.2016 Ответить на сообщение

    Скажите, а для сайта на кириллице (домен) с возрастом 3 года, можно вносить изменения? ПС нормально отнесется? Ничего нигде не понизит? Спасибо.

    • Виталий
      Опубликовано: 23.09.2016 Ответить на сообщение

      Здесь правки движка WP, а не домена) Все ок.

  • Lucky
    Опубликовано: 24.09.2016 Ответить на сообщение

    Заюзал, сократился код от 15 до 30 срок на разных сайтах. Спс.

  • сеошник
    Опубликовано: 23.11.2016 Ответить на сообщение

    Благодарю за полезные инструменты! Код оптимизируется от лишнего "мусора".

  • Ёж
    Опубликовано: 17.12.2016 Ответить на сообщение

    Спасибо!
    Я еще добавляю для плагина Yoast SEO:

    // Remove Canonical Link Added By Yoast WordPress SEO Plugin
    function at_remove_dup_canonical_link() {
    return false;
    }
    add_filter( 'wpseo_canonical', 'at_remove_dup_canonical_link' );

    • Виталий
      Опубликовано: 17.12.2016 Ответить на сообщение

      Если в шаблоне есть сразу код какнонических ссылок, то да, из yoast можно убрать.
      Иначе не стоит, т.к. канонические ссылки важно для SEO

      • Ёж
        Опубликовано: 26.12.2016 Ответить на сообщение

        Артиклес сапе выдает ошибки, если что-то каноническое, приходится на некоторых сайтах отключать 🙂

  • Оксана
    Опубликовано: 25.01.2017 Ответить на сообщение

    Возможно мой вопрос покажется глупым, но я не совсем понимаю куда этот код нужно вставлять? Мне нужно в консоле сайта зайти внешний вид → редактор, найти файл functions.php и в самый конец этого файла вставить ваш код? И еще, прежде чем его вставлять ваши пояснения удалять или можно ставить прямо с ними?
    Еще раз простите, я новичок! 🙁

    • Виталий
      Опубликовано: 25.01.2017 Ответить на сообщение

      Лучше в начало с новой строки, сразу после открывающего ?php.
      Комментарии можно не удалять, они не повлияют на работу

Имя
Укажите своё имя и фамилию
E-mail
Без СПАМа, обещаем
Текст сообщения
Отправляя данную форму, вы соглашаетесь с политикой конфиденциальности и правилами нашего сайта.