logo

WordPress, отключаем лишнее: WP-json, Emoji, XML-RPC, метатеги head и другое

Разместил , . Последнее изменение: 2018-12-25. / 10 комментариев

WordPress отключаем лишнее

  1. Плагин «Отключить ненужные функции»
  2. WP JSON, что это такое и как отключить?
  3. Emoji, что это такое и как отключить?
  4. XML-RPC что это такое и как отключить?
  5. Отключаем srcset и sizes;
  6. Удаляем некоторые теги из head;
  7. Удаляем стили css-класса .recentcomments;
  8. Удаление авто-ссылок в комментариях.

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

Если вы еще не чистили свой блог то можете зайти в исходный код увидеть в head много лишних метатегов, каких-то ссылок, к примеру: wp-json, pingbackxmlrpc, feed, emoji, generator, profile и другие. Именно для борьбы с этим тегами я и создал плагин с банальным, но говорящим названием "Отключить ненужные функции".

Плагин «Отключить ненужные функции»

Плагин отключает лишнее: WP-json, Emoji, XML-RPC, метатеги head и другое

Плагин представляет собой сборку из кода представленного по ходу статьи.

Что делает плагин понятно из названия → удаляет избыточный функционал. По моему мнению, избыточными плюшками WordPress являются:

  • REST API (WP JSON);
  • Emoji;
  • ссылки на RSS-ленты;
  • данные для блог-клиентов;
  • версии вашего WordPress;
  • srcset и sizes для картинок;
  • автоматические ссылки в комментариях.

Если вы раньше чистили свой блог от такого мусора, или у вас стоят подобные плагины которые удаляют что-либо из перечисленного, то при активации плагина, может возникать конфликт, тут ничего страшного нет, ситуация легко разрешается. Итак, если возник конфликт и сайт перестал работать, то удалите папку с ранее актированным плагином /wp-content/plugins/disable-unnecessary-functionality.

Как исправить конфликт и использовать плагин:

  1. Удалите код, отвечающий за отключение лишних функций в functions.php (примеры кода будут приведены ниже, по сути, происходит дублирование кода в файле плагина и в  functions.php).
  2. Если вы используете плагины такие как JSON REST API, Disable XML-RPC Pingback, Disable Emojis, то отключите их.
  3. Переустановите плагин "Отключить ненужные функции".

WP JSON, что это такое и как отключить?

WP JSON API - это интерфейс для управления сайтом. По сути, он создаёт определённые способы взаимодействия с сайтом: совместная работа, удалённое управление, программный интерфейс для работы без входа в админ панель.

Простому пользователю этой API, может выйти боком. Вот пример негативной стороны использования: странные выдачи Яндекса с каким-то кодом внутри и адресом вида */wp-json/. Конечно, можно вылечить эту проблемы запретом в robots.txt, но мне думается, что правильнее будет отключить эту функцию.

Для удаления WP JSON нужно вставить следующий код в functions.php вашей темы оформления:

Показать / Скрыть

В результате получили:

Wp-json полностью отключён, удалена ссылка в head и сама служебная страница example.com/wp-json/. Уменьшили вероятность появления мусора в поисковой выдачи.

Emoji, что это такое и как отключить?

Emoji - это набор красивых смайликов и иконок, в WordPress они реализованы специальными библиотеками.

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

Для удаления Emoji нужно вставить следующий код в functions.php вашей темы оформления, код взят из плагина Disable Emojis.

Показать / Скрыть

В результате получили:

Удалили код поддержки Emoji. Теперь такие смайлики / иконки будут отображаться только на обновленных, современных браузерах. Поэтому если у вас в постах сохранились емоджи то не спешите их удалять.

XML-RPC что это такое и как отключить?

XML-RPC - это еще один AIP для удаленного доступа к сайту. Если WP JSON API это новый и все еще сырой функционал, то XML-RPC - это ездовой коник. Полностью его отключить в WordPres нельзя, поскольку он нужен для правильной работы некоторых плагинов. Поэтому мы отключим только опасные методы.

Для отключения опасных методов нужно вставить следующий код в functions.php вашей темы оформления, код взят из плагина Disable XML-RPC Pingback.

Показать / Скрыть

В результате получили:

Отключение опасных методов XML-RPC на движке WordPress

Отключаем srcset и sizes для картинок в WordPress

В WordPrss 4.4. ввели новшество: для всех картинок на сайте добавляется атрибут srcset и sizes. Это в некотором смысле промежуточные размеры картинки. Эта функция не всегда работает правильно, может негативно влиять на работу некоторых плагинов и тем оформления. У меня в некоторых браузерах картинки отображались в "сморщенном" виде, только после перезагрузки страницы, все приходило в норму.

Для отключения используйте следующий код в functions.php:

Показать / Скрыть

Удаляем некоторые теги из head

Следующий код в functions.php, удалит лишние теги из шапки сайта. В комментариях к коду написано что именно удаляется.

Показать / Скрыть

Удаляем стили css-класса .recentcomments

Если вы используете виджет "Последние комментарии", то в исходном коде вы найдёте стили .recentcomments. Они там не нужны по этому удалям, с помощью следующего когда в functions.php:

Показать / Скрыть

Если код портит отображение виджета, то удалите код, найдите стили .recentcomments, вставите их в таблицу стилей (style.css).

Удаление авто-ссылок в комментариях

Если читатель при написании комментария оставит текст ссылки, то после публикации этого комментария текст станет действующей ссылкой. Чтобы избежать можно использовать вот такой код:

/*Удаление авто-ссылок в комментариях*/
remove_filter('comment_text', 'make_clickable', 9);
/*Удаление авто-ссылок в комментариях*/

На этой ноте запись подходит к концу, если я что-то упустил или у вас возникли вопросы, пишите в комментариях.

Понравилась статья, не хочешь пропустить следующую? Подпишись в Telegram или на push уведомления.

12345
Поделиься
Отправить

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

  • Здравствуйте!

    Установил Ваш код в Файл Functions PHP, после этого перестали обновляться страницы в редакторе. Редактор выдаёт ошибку обновления страницы. Подстажите пожалуйста как это можно исправить?

    • Здравствуйте. Есть конфликт с одним из компонентов скорей всего, попробуйте поотключать разные блоки кода и посмотреть на результат.

      • Я удалил код, который ранее вставлял в functions.php и всё равно страницы не обновляются. Не могу понять что произошло. Мог ли код удалить что-нибудь ещё?

        • Не знаю в чем проблема, попробуйте откататься на старый бэкап или установить Classic Editor. Плагин видимо конфликтует с новым блочным редактором gutenberg.

  • «WordPress REST API is perhaps the most popular and extensively used REST API in the world. It is available to everyone who uses WordPress for online stores and web apps.»»

    Автор, бывают сайты сложнее сайта-визитки.
    Если тебе REST API в работе не нужен, за всех не говори.

    • Плагин не претендует на универсальность, в статье нет категоричного "нет" тем или иным функциям. Просто, приведены способы отключения каждой функции в отдельности, и на основе их создан плагин. Ни кто не мешает вам удалить тот или иной блок кода с плагина и изменить его версию на высокую, что бы предотвратить его обновление и удаление ваших правок. Как по мне, если движок использовать под блог то REST API не нужен. Не понимаю ваши нападки.

  • Здравствуйте.
    Здорово было бы, если плагин будет и дальше обновляться )))

    • Здравствуйте, да было бы отлично) Может у вас есть какие-то идеи по расширенную функционала или вы нашли какой-то недочет?

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

        • Тут вероятно это плагин отключает, то что необходимо Redirection. Нужно либо в документах Redirection смотреть, что ему требуется для работы или методом тыка отключать элементы кода в плагине и смотреть работоспособность Redirection.

Оставить комментарий

* Возможна анонимная отправка комментария.

Согласен с политикой конфиденциальности *