#Что происходит и как определить неисправность
Редактор блоков WordPress может выдавать «Не удалось обновить» или возвращать запись к старой версии, если запрос сохранения отвергает REST API, истёк сеанс, конфликтуют плагины или кеш показывает устаревшую редакцию. Сначала нужно выяснить ответ конкретного запроса.
#Вероятные причины и признаки
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| REST API возвращает ошибку 401/403/500REST API возвращает ошибку 401/403/500. В сети видно неуспешный запрос к /wp-json/wp/v2/posts/ID | В сети видно неуспешный запрос к /wp-json/wp/v2/posts/ID | Определить источник статуса и исправить доступ/ошибку. |
| Сеанс истёк или неверный nonceСеанс истёк или неверный nonce. После повторного входа сохранение снова работает | После повторного входа сохранение снова работает | Проверить cookie, HTTPS и кеш админки. |
| Редактор отправляет конфликтующие данныеРедактор отправляет конфликтующие данные. Ошибка появляется у одной записи, в журнале ошибка блока или метаполя | Ошибка появляется у одной записи, в журнале ошибка блока или метаполя | Изолировать несовместимый блок на тестовой копии. |
#Пошаговая диагностика и исправление
- Не теряйте несохранённый текстПеред повторными попытками выделите текст в редакторе блоков, скопируйте в локальный текстовый файл без паролей и секретных данных. Если доступна история редакций, откройте её отдельно, но не считайте автосохранение гарантией сохранности новой версии.
- Проверьте роль, права и тип записиУбедитесь, что вошли под учётной записью, способной редактировать именно эту опубликованную запись. Откройте Записи → Все записи → Изменить, нажмите «Обновить» один раз. Запишите отображаемое сообщение и время запроса.
- Изучите сетевой запрос сохраненияНажмите F12 → Сеть, включите фильтр Fetch/XHR, повторите «Обновить». Выберите запрос к /wp-json/wp/v2/posts/... (или маршруту типа записи). Проверьте HTTP-код и безопасную часть ответа. Не пересылайте внешним людям авторизационные cookie, содержимое частной записи или nonce.
- Проверяйте REST отдельно от страницы сайтаОткройте https://ваш-домен/wp-json/ в браузере; JSON-ответ подтверждает доступность только публичного корня API. Для сохранения важны авторизация, заголовок X-WP-Nonce и разрешение редактирования: успешный GET не гарантирует успешный POST.
- Переавторизуйтесь в правильном доменеВ новом окне откройте точный HTTPS-домен сайта, войдите повторно и попробуйте сохранить предварительно скопированный короткий тестовый текст. При ошибке 401/403 проверьте, нет ли перехода между доменами и кеширования страницы редактора.
- Найдите причину на стороне PHP и защитыВ панели хостинга откройте журнал PHP и журнал WAF/ModSecurity на момент неуспешного запроса. Отфильтруйте запись по времени и URI. Для ошибки 500 выясняйте фатальный код; для 403 — конкретное правило блокировки. Не отключайте защиту всего сайта.
- Проверьте конфликт блоков на тестовом сайтеСклонируйте проблемную запись в черновик и попробуйте сохранить по одному изменению: текст, вставленное видео, пользовательский блок. Если сбой появляется лишь при конкретном блоке, проверьте обновления плагина, который его предоставляет, и его совместимость с текущим WordPress.
- Проверьте результат публикации, а не только уведомлениеПосле успешного ответа перезагрузите редактор и публичную страницу с очисткой кеша только нужной записи. Убедитесь, что изменение сохранилось в базе и видно пользователю. Если редактор сохранил, но публичная страница старая, диагностируйте кеш отдельно.
#Как проверить результат
Запрос обновления успешно обрабатывается, версия записи изменяется, после повторного входа и обновления браузера она остаётся новой и отображается без ошибок.
#Если не помогло
Для 401/403 сначала разбирайте авторизацию и WAF, для 500 — журнал PHP, для 409/конфликта — редакции и одновременное изменение. Не переустанавливайте WordPress целиком.