Эти маршруты позволяют получить данные о здоровье сайта. Добавлено в WP 5.6.
Возможные маршруты (конечные точки маршрутов описаны ниже):
Класс контроллера: WP_REST_Site_Health_Controller{}
Оглавление
- Схема ресурса
- Tests/background-updates
- Tests/loopback-requests
- Tests/https-status
- Tests/dotorg-communication
- Tests/authorization-header
- Directory-sizes
- Tests/page-cache
Схема ресурса
Схема показывает все поля, которые существуют для объекта: поля объекта которые вернет запрос.
Параметр | Контекст | Описание |
---|---|---|
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/
{ "namespace": "wp-site-health/v1", "routes": { "/wp-site-health/v1": { "namespace": "wp-site-health/v1", "methods": [ "GET" ], "endpoints": [ { "methods": [ "GET" ], "args": { "namespace": { "default": "wp-site-health/v1", "required": false }, "context": { "default": "view", "required": false } } } ], "_links": { "self": [ { "href": "https://wptest.loc/wp-json/wp-site-health/v1" } ] } }, "/wp-site-health/v1/tests/background-updates": { "namespace": "wp-site-health/v1", "methods": [ "GET" ], "endpoints": [ { "methods": [ "GET" ], "args": [] } ], "_links": { "self": [ { "href": "https://wptest.loc/wp-json/wp-site-health/v1/tests/background-updates" } ] } }, "/wp-site-health/v1/tests/loopback-requests": { "namespace": "wp-site-health/v1", "methods": [ "GET" ], "endpoints": [ { "methods": [ "GET" ], "args": [] } ], "_links": { "self": [ { "href": "https://wptest.loc/wp-json/wp-site-health/v1/tests/loopback-requests" } ] } }, "/wp-site-health/v1/tests/https-status": { "namespace": "wp-site-health/v1", "methods": [ "GET" ], "endpoints": [ { "methods": [ "GET" ], "args": [] } ], "_links": { "self": [ { "href": "https://wptest.loc/wp-json/wp-site-health/v1/tests/https-status" } ] } }, "/wp-site-health/v1/tests/dotorg-communication": { "namespace": "wp-site-health/v1", "methods": [ "GET" ], "endpoints": [ { "methods": [ "GET" ], "args": [] } ], "_links": { "self": [ { "href": "https://wptest.loc/wp-json/wp-site-health/v1/tests/dotorg-communication" } ] } }, "/wp-site-health/v1/tests/authorization-header": { "namespace": "wp-site-health/v1", "methods": [ "GET" ], "endpoints": [ { "methods": [ "GET" ], "args": [] } ], "_links": { "self": [ { "href": "https://wptest.loc/wp-json/wp-site-health/v1/tests/authorization-header" } ] } }, "/wp-site-health/v1/directory-sizes": { "namespace": "wp-site-health/v1", "methods": [ "GET" ], "endpoints": [ { "methods": [ "GET" ], "args": [] } ], "_links": { "self": [ { "href": "https://wptest.loc/wp-json/wp-site-health/v1/directory-sizes" } ] } }, "/wp-site-health/v1/tests/page-cache": { "namespace": "wp-site-health/v1", "methods": [ "GET" ], "endpoints": [ { "methods": [ "GET" ], "args": [] } ], "_links": { "self": [ { "href": "https://wptest.loc/wp-json/wp-site-health/v1/tests/page-cache" } ] } } }, "_links": { "up": [ { "href": "https://wptest.loc/wp-json/" } ] } }
Tests/background-updates
Проверяет возможность обновления в фоновом режиме и возвращает результат проверки.
Запрос OPTIONS к маршруту вернет полное описание этого маршрута: эндпоинты их параметры, схему.
$ curl -X OPTIONS -i https://example.com/wp-site-health/v1/tests/background-updates
{ "namespace": "wp-site-health/v1", "methods": [ "GET" ], "endpoints": [ { "methods": [ "GET" ], "args": [] } ], "schema": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "wp-site-health-test", "type": "object", "properties": { "test": { "type": "string", "description": "The name of the test being run.", "readonly": true }, "label": { "type": "string", "description": "A label describing the test.", "readonly": true }, "status": { "type": "string", "description": "The status of the test.", "enum": [ "good", "recommended", "critical" ], "readonly": true }, "badge": { "type": "object", "description": "The category this test is grouped in.", "properties": { "label": { "type": "string", "readonly": true }, "color": { "type": "string", "enum": [ "blue", "orange", "red", "green", "purple", "gray" ], "readonly": true } }, "readonly": true }, "description": { "type": "string", "description": "A more descriptive explanation of what the test looks for, and why it is important for the user.", "readonly": true }, "actions": { "type": "string", "description": "HTML containing an action to direct the user to where they can resolve the issue.", "readonly": true } } }, "_links": { "self": [ { "href": "https://wptest.loc/wp-json/wp-site-health/v1/tests/background-updates" } ] } }
Вид запроса
Доступ: приватный (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>" }