Как исправить ошибки WordPress при обновлении и публикации
Опубликовано: 2022-05-03
Сталкиваетесь с ошибками «Ошибка обновления» или «Ошибка публикации» при попытке обновить контент на вашем сайте WordPress? Вы пришли в нужное место. Давайте посмотрим, как определить основную причину этих проблем и как их можно исправить.
Что вызывает ошибки обновления и публикации WordPress?
Когда ваш экземпляр WordPress не может связаться с WordPress REST API (на который опирается опыт редактирования блоков WordPress) — вы, вероятно, столкнетесь с ошибкой «Ошибка публикации» или «Ошибка обновления» в WordPress.

Хотя есть несколько причин, по которым это может произойти, самая очевидная и самая простая: вы потеряли подключение к Интернету.
Если вы потеряли соединение, вы можете столкнуться с ошибкой Publishing Failed. Другая причина, по которой это может произойти, включает в себя:
- Недавнее изменение URL-адреса сайта
- Любая сторонняя служба, предотвращающая вызовы API
- Неисправный плагин
В большинстве случаев это легко исправить.
Шаг 1. Проверьте подключение к Интернету и сохраните настройки постоянной ссылки.
Возможно, наиболее распространенная причина, по которой вы получаете эту ошибку, — это потеря подключения к Интернету. Если вы неожиданно потеряете соединение при обновлении сообщения в блоге, WordPress может вернуть эту ошибку. Если вы убедились, что подключены к Интернету, откройте публикацию или страницу в режиме редактирования на новой вкладке (или убедитесь, что вы скопировали/сохранили изменения перед переходом со страницы) и попытайтесь снова обновить содержимое.
Другим распространенным решением является просто повторное сохранение настроек постоянной ссылки вашего сайта (обычно они теряются при изменении конфигурации вашего хостинга). Есть два очень простых способа сделать это, первый из которых мы предлагаем использовать WP CLI:
Обновите настройки постоянной ссылки с помощью WP CLI
Если у вас есть доступ к среде хостинга через SSH, самый простой способ обновить настройки постоянной ссылки — это:
1 — SSH на ваш сервер
2 — Перейдите в корневой каталог для вашей установки WordPress.
3 — Очистите существующую структуру постоянных ссылок, запустив:
wp перезаписать флеш
4. Обновите структуру постоянных ссылок до той, которую вы использовали ранее, например:
wp переписать структуру '/%postname%'
Примечание. Если вы запускаете эти команды в производственной среде, действуйте с осторожностью, поскольку изменение настроек постоянной ссылки на другую структуру (без последующего изменения ее на ту же структуру, которую вы использовали) приведет к потере трафика.
Обновите настройки постоянных ссылок в админке WordPress
Кроме того, вы также можете внести это изменение непосредственно в админке WordPress в настройках постоянных ссылок, доступных в разделе « Настройки» > «Постоянные ссылки», как показано ниже:

Шаг 2. Проверьте, не заблокирован ли REST API
Как упоминалось выше, еще одна распространенная причина, по которой вы можете получить сообщение об ошибке WordPress Publishing Failed, заключается в том, что REST API отключен или заблокирован. К счастью, в WordPress есть отличный инструмент, который вы можете использовать для проверки статуса REST API.

Просто перейдите в «Инструменты», затем выберите «Здоровье сайта». Здесь вы увидите кучу ошибок, связанных с вашей установкой WP. Если REST API работает неправильно, вы увидите следующую ошибку:
«REST API обнаружил неожиданный результат».
В дополнение к этому отчет о работоспособности сайта также даст вам несколько советов по устранению неполадок, например, когда REST API блокируется определенным подключаемым модулем, который вы установили и активировали на своем сайте.
При этом лучший способ отладить конкретную причину на вашем сайте — это проверить журнал консоли вашего браузера, который может показать что-то вроде:

В приведенном выше случае точное сообщение об ошибке было « ОШИБКА Обновление не удалось. Сообщение об ошибке: Ответ не является допустимым ответом JSON. », а причиной ошибки было то, что брандмауэр Cloudflare заблокировал IP-адрес пользователя от доступа к WP JSON.
Поэтому, если проблема заключается в том, что вы получаете код состояния 403 (запрещено) от ошибки WP JSON или REST API, убедитесь, что меры безопасности (например, брандмауэр веб-приложений, описанный далее), которые у вас есть, не включать непреднамеренно черный список доступа к этим каталогам, что помешает пользователям публиковать или обновлять контент на вашем веб-сайте WordPress.
Шаг 3. Проверьте службу брандмауэра веб-приложения.
Cloudflare — крупнейший в мире поставщик услуг сети доставки контента (CDN), защиты от DDoS-атак, интернет-безопасности и услуг DNS.
Мы в Servebolt большие поклонники Cloudflare — оптимизированного партнера Cloudflare, который предлагает лучшие сетевые соединения между Servebolt и Cloudflare. Мы используем Cloudflare Enterprise для различных частей нашей инфраструктуры, включая CDN Servebolt и наш сервис Accelerated Domains.
Если вы используете Cloudflare на своем сайте, есть вероятность, что служба может заблокировать ваши вызовы REST API. Если сработают фильтры брандмауэра и Cloudflare сочтет ваш IP-адрес подозрительным, он немедленно заблокирует все запросы REST API, что может привести к ошибке «сбой обновления» или «сбой публикации» в области администрирования WordPress.
В этом случае, прежде чем вы продолжите и просто внесете свой IP-адрес в белый список в качестве быстрого исправления, чтобы определить, почему ваш IP оказался заблокирован вашим собственным WAF, проверьте аналитику брандмауэра вашего веб-приложения, чтобы увидеть, какое правило брандмауэра было активировано.
Шаг 4. Просмотрите журналы ошибок PHP и включите режим отладки в WordPress.
Прежде чем прибегать к включению WP Debug и использованию собственной системы отладки WordPress, те из вас, кто использует Servebolt, смогут легко получить доступ к своим журналам ошибок PHP.

По умолчанию все сайты, работающие в облаке Servebolt, будут генерировать два журнала — ErrorLog и AccessLog . Все они могут находиться в корневом каталоге вашего сайта в папке /logs (т.е. на том же уровне, что и каталог /public ).
Файл ErrorLog будет содержать информацию о любом коде, работающем на вашем сайте, который генерирует ошибки времени выполнения (включая ошибки, которые не нарушат работу вашего сайта и будут продолжать давать сбой в фоновом режиме, но иногда это происходит).
И, если это не дает никакой дополнительной информации о том, что могло быть причиной ошибки, вы можете включить режим отладки в WordPress. Когда вы входите в режим отладки, WordPress автоматически регистрирует все полученные ответы PHP в новом файле с именем debug.log .
Этот новый файл появится в каталоге wp-content, поэтому вам просто нужно взглянуть, чтобы определить любые ответы на стороне сервера, которые могут вызывать проблему.
Чтобы войти в режим отладки, откройте файл wp-config.php и перед последней строкой добавьте следующие строки:
// Включить режим WP_DEBUG определить('WP_DEBUG', правда); // Включить ведение журнала отладки в файл /wp-content/debug.log определить('WP_DEBUG_LOG', правда); // Избегайте публичного показа ошибок на рабочем сайте (это значение по умолчанию равно true, если оно не объявлено) определить('WP_DEBUG_DISPLAY', ложь);
После просмотра файла debug.log вы можете удалить этот код из файла wp-config.php, чтобы выйти из режима отладки.
С Servebolt у вас будет доступ к журналам ошибок PHP по умолчанию, включая ErrorLog и AccessLog. В дополнение к журналу медленных запросов , который можно получить по запросу, связавшись с нашей службой поддержки. Тем не менее, собственная система отладки WordPress отлично подходит для выявления ошибок, так что вы можете работать в тесном режиме, сохраняя контроль над своей кодовой базой.
Это действительно само собой разумеется, но при внесении изменений в файл wp-config.php действуйте с осторожностью, и это поможет создать резервную копию вашего сайта. Веб-сайты, работающие в облаке Servebolt, резервируются два раза в день — мы запускаем дневные резервные копии (хранятся в течение 3 дней) и ночные резервные копии (хранятся в течение 30 дней).
Вы также можете сделать резервную копию своего сайта WordPress самостоятельно. Чтобы восстановить резервную копию, просто свяжитесь с нашей службой поддержки, и мы бесплатно восстановим вашу самую последнюю резервную копию.
Шаг 5 — Отключите все плагины WordPress и проверьте еще раз
Если у вас есть подозрение, что ошибка вызвана плагином WordPress на вашем сайте, один из вариантов — отключить все плагины и проверить, решает ли это проблему.

Для этого просто перейдите в « Плагины » и выберите « Установленные плагины». Затем просто выберите все плагины и деактивируйте их за один раз, используя раскрывающийся список « Массовые действия ».
Затем вернитесь к своему экрану и посмотрите, сохраняется ли ошибка обновления или публикации WordPress по-прежнему или нет. Если нет, то теперь вы будете знать, что причиной ошибки является работающий на вашем сайте плагин. Метод грубой силы идентификации на этом этапе заключается в повторной активации плагинов один за другим и проверке, когда вы снова получите ошибку. И методом исключения вы сможете определить неисправный плагин.
Как только вы обнаружите проблему, мы настоятельно рекомендуем вам связаться с автором плагина, чтобы сообщить ему об этом и предложить ему любую информацию, которая ему потребуется для отладки, поскольку это поможет ему улучшить свои продукты для вас (и всех других пользователей). Это, безусловно, не будет нашим первым выбором, когда дело доходит до отладки, учитывая, что это довольно утомительно и требует много времени.
Временный обходной путь: установите подключаемый модуль Classic Editor (не решение)
Внедрение WordPress версии 5.0 ознаменовало появление редактора Gutenberg, то есть концепции, которую мы сегодня широко называем блоками .
Хотя это всего лишь временный обходной путь, переключение с редактора Gutenberg на классический редактор может позволить вам сохранять и обновлять свои сообщения.
Примечание. Очевидно, это не решение, поэтому его следует использовать только в качестве временного обходного пути.
Чтобы переключиться с Gutenberg на Classic Editor, просто загрузите плагин Classic Editor и активируйте его на своем сайте. Как только он будет активирован, просто вернитесь к сообщению (или странице), которое вы редактировали, и тогда вы сможете обновить или опубликовать его снова, как обычно.
Шаг 7. Обратитесь в нашу службу поддержки
Если ни одно из вышеперечисленных решений не помогло в вашем случае, и вы приняли мудрое решение разместить свои сайты WordPress в облаке Servebolt, не стесняйтесь обращаться в нашу службу поддержки. Мы доступны в чате и по электронной почте, поэтому просто свяжитесь с нами, и наша команда будет более чем рада выяснить, что может быть причиной этой проблемы для вас.
Вывод
Столкновение с любой ошибкой, особенно с той, которая не позволяет вам сохранить работу или опубликовать этот новый фрагмент контента, над которым вы работали, никому не хочется. Таким образом, несмотря на то, что существуют простые исправления и временные решения, которые вы часто найдете, мы настоятельно рекомендуем определить источник проблемы, чтобы вы могли принять меры для предотвращения ее повторения.
Заинтересованы в управляемом хостинге, который эмпирически быстрее? Попробуйте способ Servebolt:
- Масштабируемость: в реальных тестах рабочей нагрузки Servebolt продемонстрировал среднее время отклика 65 мс, что в 4,9 раза быстрее, чем второе место.
- Самое быстрое время загрузки в мире: среднее время загрузки страницы 1,26 секунды поставило нас на первое место в списке результатов глобального теста WebPageTest.
- Самая высокая скорость вычислений: серверы Servebolt обеспечивают невиданную ранее скорость базы данных, обрабатывая в 2,44 раза больше запросов в секунду, чем в среднем, и запуская PHP в 2,6 раза быстрее, чем второй лучший сервер!
- Идеальная безопасность и время безотказной работы: благодаря 100% времени безотказной работы на всех мониторах и рейтингу A+ за нашу реализацию SSL вы можете быть уверены, что ваш сайт в сети и в безопасности.
Все поддерживается нашей командой экспертов. Готовы испытать Servebolt на бесплатном тесте Bolt сегодня ?