Здоровье Сайта (Site Health)
Эти маршруты позволяют получить данные о здоровье сайта. Добавлено в WP 5.6.
Возможные маршруты (конечные точки маршрутов описаны ниже):
/wp-site-health/v1/tests/background-updates /wp-site-health/v1/tests/loopback-requests /wp-site-health/v1/tests/https-status /wp-site-health/v1/tests/dotorg-communication /wp-site-health/v1/tests/authorization-header /wp-site-health/v1/directory-sizes /wp-site-health/v1/tests/page-cache
Класс контроллера: WP_REST_Site_Health_Controller{}
Схема ресурса
Схема показывает все поля, которые существуют для объекта: поля объекта которые вернет запрос.
Параметр | Контекст | Описание |
---|---|---|
test string readonly |
any | Название запущенного теста. |
label string readonly |
any | Ярлык описания теста. |
status string readonly |
any | Состояние теста. Одно из: good, recommended, critical |
badge object readonly |
any | Категория теста. |
description string readonly |
any | Более детальное описание действий теста и почему это важно для пользователя. |
actions string readonly |
any | HTML-код с действием для направления пользователя туда, где они могут решить проблему. |
Описание маршрута
Запрос GET к маршруту вернет полное описание вложенных маршрутов: эндпоинты их параметры, схему.
$ curl -i http://example.com/wp-json/wp-site-health/v1/GitHub
Tests/background-updates
Проверяет возможность обновления в фоновом режиме и возвращает результат проверки.
Запрос OPTIONS к маршруту вернет полное описание этого маршрута: эндпоинты их параметры, схему.
$ curl -X OPTIONS -i https://example.com/wp-site-health/v1/tests/background-updatesGitHub
Вид запроса
Доступ: приватный (cap: view_site_health_checks)
GET /wp-site-health/v1/tests/background-updates
Параметры запроса
Нет параметров.
Пример запроса
$ curl http://example.com/wp-json/wp-site-health/v1/tests/background-updates
{ "label": "Background updates may not be working properly", "status": "recommended", "badge": { "label": "Security", "color": "blue" }, "description": "<p>Background updates ensure that WordPress can auto-update if a security update is released for the version you are currently using.</p><ul><li><span class=\"dashicons warning\"><span class=\"screen-reader-text\">Warning</span></span> The folder <code>/var/app/wptest.loc/www/WordPress/</code> was detected as being under version control (<code>.git</code>).</li><li><span class=\"dashicons pass\"><span class=\"screen-reader-text\">Passed</span></span> Your installation of WordPress does not require FTP credentials to perform updates.</li><li><span class=\"dashicons pass\"><span class=\"screen-reader-text\">Passed</span></span> All of your WordPress files are writable.</li></ul>", "actions": "", "test": "background_updates" }
Tests/loopback-requests
Проверяет может ли сайт делать запросы сам на себя и возвращает результат проверки.
Вид запроса
Доступ: приватный (cap: view_site_health_checks)
GET /wp-site-health/v1/tests/loopback-requests
Параметры запроса
Нет параметров.
Пример запроса
$ curl http://example.com/wp-json/wp-site-health/v1/tests/loopback-requests
{ "label": "Ваш сайт может выполнять петлевые запросы", "status": "good", "badge": { "label": "Производительность", "color": "blue" }, "description": "<p>Петлевые запросы используются для запуска запланированных заданий, а также используются встроенным редактором кода плагинов и тем для проверки корректности кода.</p>", "actions": "", "test": "loopback_requests" }
Tests/https-status
Проверят используется ли протокол безопасности SSL (HTTPS).
Вид запроса
Доступ: приватный (cap: view_site_health_checks)
GET /wp-site-health/v1/tests/https-status
Параметры запроса
Нет параметров.
Пример запроса
$ curl http://example.com/wp-json/wp-site-health/v1/tests/https-status
{ "label": "Ваш сайт не использует HTTPS", "status": "recommended", "badge": { "label": "Безопасность", "color": "blue" }, "description": "<p>Вы зашли на сайт по HTTPS, но <a href=\"https://wptest.loc/WordPress/wp-admin/options-general.php#siteurl\">адрес WordPress</a> и <a href=\"https://wptest.loc/WordPress/wp-admin/options-general.php#home\">адрес сайта</a> не установлены для использования HTTPS по умолчанию.</p><p>Обратитесь в техническую поддержку хостинга для обеспечения поддержки HTTPS на вашем сайте.</p>", "actions": "<p><a href=\"https://developer.wordpress.org/advanced-administration/security/https/\" target=\"_blank\" rel=\"noopener\">Узнайте больше, почему вам следует использовать HTTPS<span class=\"screen-reader-text\"> (откроется в новой вкладке)</span><span aria-hidden=\"true\" class=\"dashicons dashicons-external\"></span></a></p>", "test": "https_status" }
Tests/dotorg-communication
Проверяет может ли ваш сайт делать запросы на сайт WordPress.org. Подключение к серверам WordPress.org используется для проверки новых версий, установки и обновлений WordPress, плагинов и тем.
Вид запроса
Доступ: приватный (cap: view_site_health_checks)
GET /wp-site-health/v1/tests/dotorg-communication
Параметры запроса
Нет параметров.
Пример запроса
$ curl http://example.com/wp-json/wp-site-health/v1/tests/dotorg-communication
{ "label": "WordPress.org доступен", "status": "good", "badge": { "label": "Безопасность", "color": "blue" }, "description": "<p>Подключение к серверам WordPress.org используется для проверки новых версий, установки и обновлений WordPress, плагинов и тем.</p>", "actions": "", "test": "dotorg_communication" }
Tests/authorization-header
Проверяет HTTP заголовок авторизации на корректность. См. WP_Site_Health::get_test_authorization_header(). См. https://developer.wordpress.org/rest-api/frequently-asked-questions/#why-is-authentication-not-working
Вид запроса
Доступ: приватный (cap: view_site_health_checks)
GET /wp-site-health/v1/tests/authorization-header
Параметры запроса
Нет параметров.
Пример запроса
$ curl http://example.com/wp-json/wp-site-health/v1/tests/authorization-header
{ "label": "Неверный заголовок авторизации", "status": "recommended", "badge": { "label": "Безопасность", "color": "blue" }, "description": "<p>Заголовок авторизации предоставляется разрешёнными приложениями третьей стороны. Без этого заголовка такие приложения не смогут подключиться к вашему сайту.</p><p>Если вы все еще видите это предупреждение после того, как предприняли описанные ниже действия, возможно, вам придется обратиться в поддержку хостинга за дополнительной помощью.</p>", "actions": "<p><a href=\"https://developer.wordpress.org/rest-api/frequently-asked-questions/#why-is-authentication-not-working\" target=\"_blank\" rel=\"noopener\">Узнайте о том, как настроить заголовок авторизации.<span class=\"screen-reader-text\"> (откроется в новой вкладке)</span><span aria-hidden=\"true\" class=\"dashicons dashicons-external\"></span></a></p>", "test": "authorization_header" }
Directory-sizes
Получает информацию о размере папок сайта.
Вид запроса
Доступ: приватный (cap: view_site_health_checks)
GET /wp-site-health/v1/directory-sizes
Параметры запроса
Нет параметров.
Пример запроса
$ curl http://example.com/wp-json/wp-site-health/v1/directory-sizes
{ "raw": 0, "wordpress_size": { "size": "54,65 МБ", "debug": "54,65 МБ (57305511 bytes)", "raw": 57305511 }, "themes_size": { "size": "3,30 МБ", "debug": "3,30 МБ (3460331 bytes)", "raw": 3460331 }, "plugins_size": { "size": "158,26 МБ", "debug": "158,26 МБ (165947579 bytes)", "raw": 165947579 }, "uploads_size": { "size": "210,93 МБ", "debug": "210,93 МБ (221175270 bytes)", "raw": 221175270 }, "database_size": { "size": "1,01 ГБ", "debug": "1,01 ГБ (1088950272 bytes)", "raw": 1088950272 }, "total_size": { "size": "1,43 ГБ", "debug": "1,43 ГБ (1536838963 bytes)", "raw": 1536838963 } }
Или:
{ "code": "not_available", "message": "Нельзя отобразить размеры папок.", "data": { "status": 500 } }
Tests/page-cache
Проверяет включено ли для сайта кэширование страниц.
Вид запроса
Доступ: приватный (cap: view_site_health_checks)
GET /wp-site-health/v1/tests/page-cache
Параметры запроса
Нет параметров.
Пример запроса
$ curl http://example.com/wp-json/wp-site-health/v1/tests/page-cache
{ "badge": { "label": "Производительность", "color": "blue" }, "description": "<p>Кеш страниц повышает скорость и производительность сайта за счет сохранения и отдачи статических страниц вместо создания страницы каждый раз, когда её посещают.</p><p>Кеширование страниц обнаруживается поиском активного плагина кеша страниц, а также выполнением трех запросов к главной странице и поиском одного или нескольких из следующих заголовков кеширования для HTTP-клиента:</p><code>cache-control</code>, <code>expires</code>, <code>age</code>, <code>last-modified</code>, <code>etag</code>, <code>x-cache-enabled</code>, <code>x-cache-disabled</code>, <code>x-srcache-store-status</code>, <code>x-srcache-fetch-status.</code><ul><li><span class=\"dashicons dashicons-yes-alt\"></span> Среднее время ответа сервера составило 174 мс. Это меньше рекомендуемого порога в 600 мс.</li><li><span class=\"dashicons dashicons-warning\"></span> В заголовках ответа не найдены заголовки кеширования на стороне клиента.</li><li><span class=\"dashicons dashicons-warning\"></span> Плагин кеширования страниц не обнаружен.</li></ul>", "test": "page_cache", "status": "recommended", "label": "Кеширование страниц не обнаружено, но время отклика сервера хорошее", "actions": "<p><a href=\"https://developer.wordpress.org/advanced-administration/performance/optimization/#caching\" target=\"_blank\" rel=\"noopener noreferrer\">Узнайте больше о кешировании страниц<span class=\"screen-reader-text\"> (откроется в новой вкладке)</span><span aria-hidden=\"true\" class=\"dashicons dashicons-external\"></span></a></p>" }