Вставьте текст ошибки
Почему
С чего начать
В тексте похоже есть пароль или ключ. Уберите его перед отправкой: для разбора он не нужен.
Это вероятная причина по тексту ошибки. Точно скажу, когда посмотрю на сайт.
Бесплатный разбор. Пришлите текст ошибки: прочитаю и отвечу за рабочий день.
Что узнаю сразу
16 видов сбоев. Откройте строку или подставьте пример в поле.
1С · XMLСайт ответил 1С не тем, что она ждала
1С запросила у сайта данные, а получила то, что не читается как XML. Чаще всего это предупреждение PHP перед XML, страница ошибки, редирект или странный символ в заказе.
- Повторите запрос обмена руками и откройте ответ сайта: он должен начинаться с <?xml.
- Если в начале текст PHP, выключите вывод ошибок на экран и исправьте причину по логу.
- Если XML чистый, проверьте названия из последних заказов: спецсимвол ломает разбор.
1С · 504Обмен не уложился в таймаут сервера
Обмен идёт дольше, чем сервер готов ждать. 1С получает 502 или 504 и считает его упавшим, хотя PHP мог всё доделать.
- Найдите время запуска обмена в логе nginx и в логе PHP.
- Для PHP-FPM поднимите fastcgi_read_timeout. proxy_read_timeout работает только на прокси.
- Если каталог большой, разбейте обмен на части.
1С · 403Сайт не пускает 1С
Запрос обмена режет защита, плагин обмена выключен, адрес изменился или пароль уже другой.
- Откройте адрес обмена снаружи: 403 и 404 покажут, что его режет.
- Сверьте логин и пароль обмена на сайте и в настройке узла 1С.
- Для Розницы и УНФ указывайте только домен: полный адрес даст двойной путь.
ОплатаБанк получил деньги, а сайт об этом не узнал
Платёж прошёл, сломан мост между банком и заказом. Уведомление не дошло, попало на редирект или сайт ответил не так, как ждёт сервис.
- Откройте платёж в кабинете: в ЮKassa нужен статус succeeded.
- Проверьте, что адрес уведомлений отвечает без редиректа: 301 может превратить POST в GET.
- Запишите в файл всё, что приходит на адрес, до любой логики. Записей нет, значит проблема снаружи.
API оплатыСервис оплаты отклонил запрос сайта
Сайт не может создать платёж. Чаще всего дело в ключах: тестовые вместо боевых, старый секрет после перевыпуска или другой магазин.
- Сравните идентификатор магазина и секретный ключ с кабинетом сервиса.
- Проверьте режим: тестовый ключ не работает с боевым магазином.
- Посмотрите полный ответ сервиса в логе: там есть код и поле с ошибкой.
ВзломПохоже на заражение сайта
На сайте посторонний код: уводит посетителей, показывает чужую рекламу или рассылает спам. Обычно он заходит через старый плагин, утёкший пароль или чужой доступ к файлам.
- Снимите копию сайта и базы как есть, до чистки.
- Смените пароли: хостинг, база, админка, FTP.
- Сравните файлы с чистой копией ядра и найдите, откуда код попал на сайт.
WordPressWordPress поймал фатальную ошибку
Плагин, тема или обновление вызвали ошибку PHP, и WordPress показал заглушку. Данные при этом обычно целы.
- Проверьте почту администратора: WordPress присылает туда письмо с виновником и ссылкой на режим восстановления.
- Откройте wp-content/debug.log или лог PHP на время сбоя.
- Отключите виновника: переименуйте папку плагина через файловый менеджер.
PHP FatalPHP остановился на фатальной ошибке
Код упал на конкретной строке. В тексте обычно есть файл и номер строки, это готовый адрес виновника. Если там Allowed memory size, кончилась память.
- Найдите в тексте путь к файлу: по папке видно плагин или тему.
- Вспомните, что обновляли перед сбоем: PHP, плагин, тему.
- Если дело в памяти, поднимите memory_limit и найдите, что её съедает.
БазаСайт не достучался до базы данных
PHP работает, а база не отвечает: упала, кончились соединения или место на диске, либо изменился пароль.
- Проверьте, запущена ли база и есть ли место на диске.
- Сверьте доступы в wp-config.php или настройках CMS с хостингом.
- Посмотрите лог MySQL: таблица могла повредиться.
504Сервер не дождался ответа
nginx ждал PHP дольше лимита и оборвал соединение. Сам код мог работать дальше. Виноваты тяжёлый запрос, медленная база или внешний сервис, который молчит.
- Найдите адрес в логе nginx: строка upstream timed out покажет, какой запрос висел.
- Посмотрите медленные запросы к базе и обращения к внешним сервисам.
- Поднимайте таймаут только после этого и в нужном месте: fastcgi_read_timeout для PHP-FPM.
502Сервер за сайтом не отвечает
nginx жив, а PHP за ним упал, перезапустился или занят: все рабочие процессы уже держат другие запросы.
- Проверьте, запущен ли php-fpm, и откройте лог nginx на время ошибки.
- Посмотрите, не кончились ли процессы: в логе php-fpm это max_children.
- Вспомните, что менялось: версия PHP, настройки, всплеск посещений.
500 · 503Сайт упал внутри себя
500 значит, что ошибка внутри сайта, а сервер не стал показывать подробности. 503 чаще значит, что сайт на обслуживании или сервер перегружен.
- Откройте лог ошибок PHP или панель хостинга: причина записана там.
- Проверьте .htaccess и что менялось в файлах последним.
- На WordPress посмотрите, не остался ли файл .maintenance после обновления.
ЗаявкиЗаявка теряется по пути к вам
Форма сработала, а письмо не дошло: отправка с домена без настроенной почты попадает в спам или отбрасывается. Иногда ломается сама форма или капча.
- Отправьте тестовую заявку и проверьте папку со спамом.
- Посмотрите, чем сайт шлёт почту: отправка через SMTP надёжнее почты хостинга.
- Проверьте записи SPF и DKIM у домена.
ПоискПоисковик не берёт страницы
Страницу закрыли от робота, или робот её нашёл, но не счёл полезной. Сначала исключите запреты: robots.txt, noindex, ответ сервера. Молодой домен к тому же индексируется дольше.
- Проверьте адрес в Яндекс Вебмастере и Search Console: там написана причина.
- Откройте robots.txt и код страницы: нет ли запрета и noindex.
- На WordPress проверьте настройку «Попросить поисковые системы не индексировать сайт».
СкоростьСайт тормозит
Скорость держится на трёх вещах: сколько сервер думает над страницей, сколько она весит и сколько чужих скриптов тянет. Сначала надо понять, что из этого ваш случай.
- Замерьте PageSpeed на главной и на странице, где медленнее всего.
- Посмотрите TTFB: если он большой, дело в сервере и базе.
- Проверьте вес картинок и чужие скрипты в начале страницы.
HTTPSБраузер не доверяет сертификату
Сертификат истёк, выпущен на другой адрес или цепочка установлена не полностью. Посетитель видит предупреждение вместо сайта.
- Посмотрите дату окончания сертификата в браузере или панели хостинга.
- Проверьте, что он выпущен на этот адрес, с www и без.
- Настройте автопродление, чтобы сбой не повторился.
Дальше читаю сам
Бесплатно и только по тексту, 3–5 разборов в неделю. Отвечаю за рабочий день.
-
Что сломалось
Текст ошибки или описание симптома. Скриншот можно приложить, когда отвечу.
Вероятную причину
Что именно, скорее всего, сломалось и почему.
-
Где это работает
CMS, версия 1С или платёжный сервис, адрес сайта.
Порядок проверки
Что посмотреть самому и что исключить.
-
Когда началось
Что менялось перед этим: обновления, домен, хостинг, подрядчик.
Оценку
Если нужна работа, назову цену. Если хватит настройки, так и скажу.
Если нужен доступ к логам и серверу, это платный разбор за 3 000 ₽. Сумма идёт в зачёт работы.