Проблема с загрузкой admin-ajax.php — это вина веб-хостов WordPress?

Вопрос или проблема

Я не могу понять, почему admin-ajax.php заставляет мой сайт на WordPress зависать.

состояние сети admin-ajax.php

Сайт зависает при работе в административной панели после определенного количества редактирований. Admin-ajax.php просто остается в ожидании, пока не достигнет предела времени ожидания, а затем повторяет то же самое, пока я не закрою все вкладки, связанные с этим сайтом. Загрузка никогда не останавливается!

Нет журналов ошибок в WP или в хостинге.

Сайт НИКОГДА не отключается, я могу получить к нему доступ через другой браузер, мобильный и даже Chrome в режиме инкогнито. Просто я не могу получить доступ к любой странице сайта в одном и том же браузере, пока открыта вкладка, где загружается admin-ajax.php. Если я закрою каждую страницу и подожду пару минут, всё возвращается в норму, я могу открыть любую страницу в том же браузере, где произошел сбой.

Например, если я открываю список всех продуктов WooCommerce, функция WordPress heartbeat автоматически отправляет запросы admin-ajax, после нескольких запросов я открываю новую вкладку и работаю на сайте, и, например, иногда после нескольких минут работы, а иногда через 15 минут он зависает при редактировании меню или в кастомизере.

Установка WordPress свежая, установлена через Softaculous на общем хостинге. Тема Astra, с WooCommerce и плагином Loginizer. Никаких кастомизаций, даже нет дочерней темы.

Попробовал всё: изменить версию PHP, увеличить лимит времени ожидания PHP, отключить ModSecurity, новую установку плагинов, новую установку полного WP, другой браузер, плагины кэширования, отключение контроля heartbeat…

Такая же конфигурация на другом хостинге с тем же компьютером, и я не могу воспроизвести проблему.

Также иногда, когда он зависает, и я позволяю ему загрузиться в течение нескольких минут, он размораживается сам по себе. Посмотрите на скриншот:

Скриншот сетевых процессов

Кто-нибудь сталкивался с аналогичной проблемой?

Как вы думаете, эта проблема связана с провайдером веб-хостинга?

Ответ или решение

Проблема с загрузкой admin-ajax.php в WordPress: вина хостинга или что-то иное?

При работе с WordPress, пользователи иногда сталкиваются с проблемой заморозки сайта, вызванной загрузкой файла admin-ajax.php. В вашем случае, судя по описанию, проблема проявляется в том, что при выполнении определенных действий в админ-панели, admin-ajax.php зависает в состоянии ожидания, что приводит к блокировке других вкладок и функций сайта. Давайте детально рассмотрим, возможно ли, что эту проблему вызывает ваш веб-хостинг.

Признаки проблемы

Из вашего описания можно выделить несколько ключевых аспектов:

  1. Зависание в админ-панели: Проблема возникает после выполнения нескольких действий. Это может указывать на ненадлежащую обработку AJAX-запросов.
  2. Периодические "разморозки": Иногда, если оставить страницу загруженной, она может восстановить функциональность. Это может говорить о том, что запросы все же обрабатываются, но с задержкой.
  3. Нет ошибок в логах: Отсутствие записей об ошибках может усложнить процесс отладки, но также и указывает на то, что сервер не завершает обработку запросов с фатальными ошибками.
  4. Работа на другом хостинге: Вы указали, что на другом хостинге с аналогичной настройкой проблема не появляется, что говорит о том, что, скорее всего, проблема связана с конфигурацией или производительностью вашего текущего хостинга.

Возможные причины проблемы

  1. Ограниченные ресурсы хостинга: На shared hosting с низкими тарифами может быть нехватка серверных ресурсов, что вызывает высокую нагрузку и задержки в обработке запросов.

  2. Настройки PHP: Параметры, такие как max_execution_time, memory_limit и другие, могут быть слишком низкими, особенно если ваш сайт обрабатывает множество запросов AJAX.

  3. Фильтрация трафика: Некоторые провайдеры хостинга используют системы защиты (например, ModSecurity), которые могут блокировать определенные запросы или продолжать их обрабатывать дольше обычного, что может вызвать задержки.

  4. Обработчик запросов сервера: В зависимости от конфигурации вашего веб-сервера (Nginx, Apache и т.д.), могут возникать задержки в обработке AJAX-запросов, особенно если имеются игровые конфигурации в htaccess, которые могли создать многоуровневую переадресацию.

Рекомендации по устранению проблемы

  1. Обратитесь к поддержке хостинга: Ваш первый шаг должен стать обращением к службе поддержки вашего хостинга для проверки настройки сервера и наличия любых ограничений. Сообщите им о вашей проблеме и попросите об увеличении ресурсов или изменении конфигурации.

  2. Оптимизация плагинов: Пробуйте отключить плагины один за другим, чтобы определить, не вызывает ли любой из них задержки в обработке AJAX-запросов. Обратите особое внимание на плагины, использующие admin-ajax.php.

  3. Пользовательские настройки PHP: Проверьте и оптимизируйте настройки PHP. Вы можете рассмотреть возможность увеличения значений, таких как max_execution_time и memory_limit.

  4. Использование кэширования: Если это еще не сделано, настройте кэширование для вашего сайта. Это может значительно снизить нагрузку на сервер.

  5. Тестирование на других хостингах: Поскольку вы упомянули, что аналогичная конфигурация на другом хостинге работает нормально, вы можете рассмотреть возможность миграции вашего проекта на более производительный хостинг.

Заключение

Судя по всем представленным данным, проблема с admin-ajax.php может быть вызвана ограничениями или проблемами на стороне веб-хостинга, поскольку вы не сталкиваетесь с аналогичными проблемами в другой среде. Рекомендуется тщательно исследовать настройки хостинга и произвести необходимые изменения, чтобы улучшить общую производительность вашего сайта.

Оцените материал
Добавить комментарий

Капча загружается...