Архив рубрики: WordPress

Как правильно отключить XML-RPC

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






XML Remote Procedure Call — (Вызов удаленной процедуры) используется для подключения к сайту через мобильное приложение WordPress (androidios).




Эта же функция используется для трекбэков и пингбэков (оповещает владельца сайта о том, что где-то оставили ссылку на его сайт), и используется плагином Jetpack.




История XML-RPC




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




Сервис Blogger создал API и оффлайн-приложение для создания контента, и пользователи стали загружать контент через XML-RPC. После этого остальные блог-платформы сделали то же самое у себя.




В 2008-2009 годах компания Automattic, которая поддерживает плагины WP Super Cache, WooCommerce, Jetpack, VaultPress и другие, выпустила приложение WordPress для мобильных, которое использует интерфейс XML-RPC.




XML-RPC был в Вордпресс с самого начала, но по умолчанию он был выключен. После выхода мобильного приложения, начиная с версии 3.5, функцию включили по умолчанию.




Проблема XML-RPC




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




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




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




В этой статье вы узнаете 3 способа отключить XML-RPC.




Как отключить XML-RPC в wp-config.php




Для отключения добавьте это правило в конце wp-config.php после строки require_once(ABSPATH . 'wp-settings.php');




/* Отключение XML-RPC */
add_filter('xmlrpc_enabled', '__return_false');




Как отключить XML-RPC с помощью плагина




Если вы не хотите добавлять код, установите плагин Disable XML-RPC. Этот плагин делает то же самое, что и код в первом способе.




Как отключить XML-RPC в .htaccess




Хотя эти 2 способа хорошо работают, они не запрещают роботам подключаться к XML-RPC. Когда хакбот приходит на сайт и перебирает комбинации логинов и паролей, он использует ресурсы вашего сервера.




Чтобы отключить xmlrpc.php и не дать хакерам нагрузить сервер, отключите xmlrpc в файле .htaccess. В этом случае запрос не будет передаваться в WordPress, и робот не получит разрешения для подключения к XML-RPC.




Этот способ не будет нагружать сервер. Это самый правильный способ отключить XML-RPC.




Добавьте этот код в .htaccess:




# Block XML-RPC requests
<Files xmlrpc.php>
  Order Allow,Deny
  Deny from all
</Files>




Частичное отключение XML-RPC




Чтобы отключить XML-RPC частично, добавьте следующие строки в .htaccess:




# Block XML-RPC requests
<Files xmlrpc.php>
  Order Deny,Allow
  Deny from all
  Allow from 192.168.1.1
  Allow from 10.0.0.0/100
</Files>




Измените адреса на те, которым вы хотите разрешить подключение к XML-RPC. Добавьте столько адресов, сколько вам нужно.




Если вы не хотите добавлять код, используйте плагин Stop XML-RPC Attack, он создает правило в файле .htaccess, которое разрешает использовать XML-RPC только плагину Jetpack и другим инструментам Automattic.




Плагины iThemes SecurityAnti-Malware Security and Brute-Force Firewall и All in One WP Security & Firewall ограничивают попытки авторизации на стандартной странице входа на сайт и через XML-RPC.




All in One WP Security & Firewall может частично отключить XML-RPC, чтобы работал функционал Jetpack.




Wordfence не отключает XML-RPC, так как разработчики считают, что Вордпресс улучшил встроенную защиту этой функции.



[endtxt]




RSS



Добавление RSS-ленты на главную страницу этого сайта не поддерживается, так как это может привести к зацикливанию, замедляющему работу вашего сайта. Попробуйте использовать другой блок, например блок Последние записи, для отображения записей сайта.


2021-07-15T20:09:34
WordPress

Установка WordPress (nginx)

Устанавливать WordPress будем на Devuan 3 beowulf, а в качестве web-сервера используем nginx. Про Devuan я уже писал, если вкратце это урезанный Debian без systemd, с низким потреблением ресурсов.





Читать

Установка WordPress (Apache2)

Устанавливать WordPress будем на Devuan 3 beowulf, а в качестве web-сервера используем apache2. Про Devuan я уже писал, если вкратце это урезанный Debian без systemd, с низким потреблением ресурсов.





Читать

Yoast SEO — импорт значений

Настройки Yoast хранятся в произвольных полях каждой записи.
Поэтому при импорте значений Yoast SEO — указываем произвольные поля Custom Field.

Значения Yoast SEO записей, товаров WooCommerce

NameCustom FieldValues
Focus Keyword_yoast_wpseo_focuskwText string
SEO Title_yoast_wpseo_titleText string
Meta Description_yoast_wpseo_metadescText string
Meta Robots Index_yoast_wpseo_meta-robots-noindexBlank for default, 1 for noindex, or 2 for index
Meta Robots Follow_yoast_wpseo_meta-robots-nofollowBlank for follow, 1 for nofollow
Meta Robots Advanced_yoast_wpseo_meta-robots-advBlank for default, none, noodp, noydir, noimageindex, noarchive, or nosnippet
Include in Sitemap_yoast_wpseo_sitemap-includeBlank for auto, always, or never
Sitemap Priority_yoast_wpseo_sitemap-prioBlank for auto, 1 to .1
Canonical URL_yoast_wpseo_canonicalCanonical URL of post
301 Redirect_yoast_wpseo_redirectURL to redirect post to
Facebook Title_yoast_wpseo_opengraph-titleText string
Facebook Description_yoast_wpseo_opengraphText string
Facebook Image_yoast_wpseo_opengraph-imageURL to image
Twitter Title_yoast_wpseo_twitter-titleText string
Twitter Description_yoast_wpseo_twitter-descriptionText string

Значения Yoast SEO таксономий: рубрики, категории WooCommerce

NameCustom FieldValues
Focus Keywordwpseo_focuskwText string
SEO Titlewpseo_titleText string
Meta Descriptionwpseo_descText string
Meta Robots Indexwpseo_noindexBlank for default, 1 for noindex, or 2 for index
Include in Sitemapwpseo_sitemap_includeBlank for auto, always, or never
Canonical URLwpseo_canonicalCanonical URL of post
Facebook Titlewpseo_opengraph-titleText string
Facebook Descriptionwpseo_opengraph-descriptionText string
Facebook Imagewpseo_opengraph-imageURL to image
Twitter Titlewpseo_twitter-titleText string
Twitter Descriptionwpseo_twitter-descriptionText string
Twitter Imagewpseo_twitter-imageURL to image

Сообщение Yoast SEO — импорт значений появились сначала на Веб-студия Юсота.


Source: usota.ru seo

Отключение редакций и ревизий в WordPress.

В WordPress отключение редакций и ревизий приносит умиротворение и порядок. Не знаю, как вас, меня иногда бесит огромное количество этих самых ревизий. И, ладно бы, мой сайт прост как грабли и не имеет большого количества функционала и контента. А если это большой сайт и контента много и он добавляется часто? Беда. Редакции — это резервные копии, которые сохраняются в базе данных при каждом обновлении поста или страницы. Если Вам все же нужны ревизии записей и страниц, то можно ограничить количество их сохранения, а можно полностью отключить и удалить.

Итак, решение принято. Мы хотим ограничить количество редакций или отключить их вовсе. Пути три:

  1. Ограничить редакции и ревизии можно при помощи:

WP_POST_REVISIONS

, поместив в config.php:

define('WP_POST_REVISIONS' , 1);

  1. Поработать с хуком, таким образом либо ограничить редакции и ревизии, либо отключить:

wp_revisions_to_keep

Ограничиваем:

function limit_save_revisions_db($count, $post)
{

if ($post-&gt;post_type == 'page') {//для стандартных страниц WordPress сохраняем 1 ревизию

return 1;

} elseif ($post-&gt;post_type == 'post') {//для стандартных записей WordPress сохраняем 3 ревизии

return 3;

} elseif ($post-&gt;post_type == 'reviews') {//для произвольного типа записей "Отзывы" не сохраняем ревизий

return 0;

} else {//для всех остальных сохраняем 3 ревизии

return 3;

}
}
add_action( 'wp_revisions_to_keep', 'limit_save_revisions_db', 10, 2 );

  1. Или отключаем. Третий вариант предусматривает полное отключение редакций и ревизий в WordPress:

function deactivate_revisions( $count )
{
return 0;
}
add_filter( 'wp_revisions_to_keep', 'deactivate_revisions' );

После этого неплохо бы почистить БД WP через PHPMyAdmin (не забываем сделать резервную копию базы данных WP):

DELETE FROM `wp_posts` WHERE post_type = 'revision';

DELETE FROM wp_postmeta WHERE post_id IN (SELECT ID FROM wp_posts WHERE post_type = 'revision' AND post_name LIKE '%revision%');

DELETE FROM wp_term_relationships WHERE object_id IN (SELECT ID FROM wp_posts WHERE post_type = 'revision' AND post_name LIKE '%revision%');



2021-03-09T16:28:04
WordPress

Можно ли отключить AMP для страниц WordPress?

В этом посте показано, как полностью отключить и удалить функцию Google Accelerated Mobile Pages (AMP) с веб-сайтов и страниц WordPress.

AMP ускоряет время загрузки вашего веб-сайта и обеспечивает высокую производительность для вашей аудитории и посетителей. Это достигается за счет удаления большого количества элементов HTML и JavaScript, которые замедляют загрузку веб-сайтов.

Однако не все видели эти преимущества, отстаиваемые Google и другими. Некоторые веб-мастера сообщают, что технология AMP мешает взаимодействию пользователей и плохо работает с рекламой с поддержкой AMP.

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

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

Чтобы начать отключение и удаление AMP из WordPress, выполните следующие действия:

Отключаем AMP для WordPress

Установив AMP для WordPress, просто перейдите на страницу плагинов и отключите установленный плагин AMP.

После деактивации плагина нажмите ссылку «Удалить», чтобы удалить его из WordPress.

Удаление плагина приведет к очистке его записей, хранящихся в базах данных, и связанных данных из WordPress.

Настраиваем перенаправления

Отключение AMP и удаление плагина — это только половина дела. Вы не можете просто удалить плагин AMP без добавления перенаправления.

Если Google отправляет поисковиков на ваши AMP-страницы, но ни одна из них недоступна, всем им будут показаны страницы с ошибкой 404. Это плохо.

Вы хотите, чтобы пользователи, посещающие страницы AMP, перенаправлялись на правильные страницы, не относящиеся к AMP. Для этого выполните следующие действия:

Сначала перейдите на страницу своих плагинов ==> Добавить новый.

Затем выполните поиск Redirection, как показано на изображении ниже. Когда вы найдете плагин Redirection, нажмите Установить.

После установки плагина активируйте его.

После включения перейдите в Инструменты ==> Redirection, чтобы настроить плагин. Вам может быть предложено запустить мастер установки. Просто выполните параметры по умолчанию и закончите.

На странице настроек добавьте новое перенаправление со следующими настройками:

В поле Source URL введите строку ниже

/(.*)/amp

Затем выберите REGEX в раскрывающемся списке справа от поля ввода.

В Target URL ниже введите:

http://www.yourwebsite.com/$1

Затем выберите падение вниз Group окна и нажмите, Redirections.

Когда вы закончите, нажмите кнопку «Добавить перенаправление», чтобы завершить настройку.

Это должно сработать!



2021-02-02T18:07:30
WordPress