Привет всем! Это уже третья статья, где я рассказываю, как что-то надо отключить, или удалить на сайте WordPress. Но чего только не сделаешь ради того, чтобы сайт загружался немного быстрее. Вот и в этой статье, я предлагаю несколько способов избавиться от ненужного кода.
Что такое XML-RPC?
Разработка XML-RPC началась еще в 1998 году, компанией «UserLand Software».- Это библиотека, которая позволяет ускорить разработку веб-сервисов, Через некоторое время этот функционал был отвергнут, и появилась система SOAP от Microsoft. Но, не смотря на это, XML-RPC существует по сегодняшний день и популярность его даже возрастает. С помощью XML-RPC можно удаленно работать с WordPress и управлять его настройками.
Для чего удалять XML-RPC?
Если Вы не собираетесь удаленно управлять своим сайтом, тогда от этого функционала можно отказаться. Известно, что подключенные скрипты и различные библиотеки к сайту, затормаживают его работу и создают дополнительные запросы к базе данных. Плюс ко всему, файл xmlrpc.php, который находится в корне сайта, индексируется поисковиками, но только в том случае, если в файле robots.txt не прописана директива Disallow: /xmlrpc.php
Удаление XML-RPC с помощью плагина
Для отключения XML-RPC на WordPress, можно воспользоваться плагином Disable XML-RPC Pingback. Этот плагин не отключает полностью XML-RPC, а только некоторые его функции, чтобы JetPack и другие похожие плагины могли правильно работать.
Отключаем XML-RPS с помощью кода
Если Вы не хотите устанавливать на свой сайт дополнительный плагин, тогда можно установить в файл functions.php код ниже:
[lazy_load_box effect=»slidefromleft» speed=»1900″ delay=»10″]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
/* * Удаляем опасные методы работы XML-RPC Pingback * * https://sheensay.ru/?p=2044 */ add_filter( 'xmlrpc_methods', 'sheensay_block_xmlrpc_attacks' ); function sheensay_block_xmlrpc_attacks( $methods ) { unset( $methods['pingback.ping'] ); unset( $methods['pingback.extensions.getPingbacks'] ); return $methods; } add_filter( 'wp_headers', 'sheensay_remove_x_pingback_header' ); function sheensay_remove_x_pingback_header( $headers ) { unset( $headers['X-Pingback'] ); return $headers; } |
[/lazy_load_box]
Можно воспользоваться и другим кодом, который полностью удалит XML-RPS, но выше уже было упомянуто, что этой библиотекой могут пользоваться и другие плагины. Не смотря на эти предупреждения, я воспользовался именно им. Код также надо добавить в файл functions.php.
[lazy_load_box effect=»slidefromleft» speed=»1900″ delay=»10″]
1 2 |
// Может перестать работать JetPack и подобные ему плагины add_filter('xmlrpc_enabled', '__return_false'); |
[/lazy_load_box]
Если Вы воспользовались вторым кодом, тогда файл xmlrpc.php, который находится в корне сайта, можно удалить.
Удаление стилей CSS .recentcomments
Если Вы пользуетесь виджетом «Последние комментарии», то знайте, что WordPress прописывает в коде стили css с классом .recentcomment, которые сложно заменить своими. Чтобы с этим не было проблем, можно добавить в файл function.php код ниже.
[lazy_load_box effect=»slidefromleft» speed=»1900″ delay=»10″]
1 2 3 4 5 6 7 |
//Удаляем стили css-класса .recentcomments add_action( 'widgets_init', 'sheensay_remove_recent_comments_style' ); function sheensay_remove_recent_comments_style() { global $wp_widget_factory; remove_action( 'wp_head', array( $wp_widget_factory -> widgets['WP_Widget_Recent_Comments'], 'recent_comments_style' ) ); } |
[/lazy_load_box]
Удаление лишних кодов из header.php
В файле header.php, который находится в шаблоне Вашего сайта, нужно найти и удалить две строки
[lazy_load_box effect=»slidefromleft» speed=»1900″ delay=»10″]
1 2 |
<link rel="profile" href="http://gmpg.org/xfn/11"> <link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>"> |
[/lazy_load_box]
Первая строка — это заголовок, и указывает, что страница использует микроформат XFN. Но скорее всего, Вы его не используете, поэтому строку можно удалить.
Вторая строка — указывает адрес для оставления пингбэков, и ее мы также удаляем. Пингбэки — связь между сайтами.
Также проверьте настройки обсуждения, отключены ли пингбэки.
[lazy_load_box effect=»slidefromleft» speed=»1900″ delay=»10″][/lazy_load_box]Также вручную можно избавиться и от других кодов, которые не получилось удалить с помощью фильтров:
[lazy_load_box effect=»slidefromleft» speed=»1900″ delay=»10″]
1 2 3 4 |
<link rel="alternate" type="application/rss+xml" title="Лента" href="/feed" /> <link rel="alternate" type="application/rss+xml" title="Лента комментариев" href="/comments/feed" /> <link rel="EditURI" type="application/rsd+xml" title="RSD" href="/xmlrpc.php?rsd" /> <link rel="wlwmanifest" type="application/wlwmanifest+xml" href="/wp-includes/wlwmanifest.xml" /> |
[/lazy_load_box]
Это все, что я хотел предложить в этой статье.