Здоровье Сайта (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>"
}