Журнал
Записи о разработке, кейсы и личные мнения.
Beget лежит вторые сутки: что делать, если упал хостинг, и как хранить бэкапы отдельно от провайдера
Если упал хостинг, первым делом выясните, у кого ваш домен и DNS и где лежит последняя копия сайта: от этого зависит, переезжать сейчас или ждать. Разбираю три сценария на примере сбоя Beget 2 ноября 2026 года и схему 3-2-1-1-0 с копией в Object Storage, которую не удалит даже администратор.
Уязвимость PHP2Shell: что делать, если сайт работает на старом PHP
PHP2Shell - две критические уязвимости PHP, через которые можно выполнить код на сервере без входа на сайт. Исправлены в PHP 8.2.35, 8.3.36, 8.4.27 и 8.5.12; для 8.1 и старше проект PHP обновлений не выпускает. Как узнать версию PHP сайта и что делать, если быстро обновиться нельзя.
Яндекс Метрика не работает: как я поднял резервную аналитику на Umami и что с этим делать по 152-ФЗ
В октябре 2026 кабинеты Метрики, Директа и Вебмастера перестали открываться, и к 16 октября Метрика так и не вернулась. Разбираю, как свой Umami на обычном хостинге выручил с отчётами, как я спрятал его от блокировщиков и связал цели с Метрикой, почему Google Analytics в роли запасного счётчика упирается в 152-ФЗ и нужен ли cookie-баннер.
WordPress снова взломан после чистки: разбор реального случая с бэкдорами
Взломали сайт на WordPress, а после чистки заражение вернулось? Разбор реального случая: 7 бэкдоров в 4 слоях, из-за которых взлом годами возвращался после чисток хостинга. Что делать и как их найти: контрольные суммы ядра, прямые SQL-запросы, ручной аудит mu-plugins.
«Зеркало психики»: агент-психолог по Юнгу и мои личные границы с ИИ
Я собрал для себя ИИ-агента психолога по Юнгу, который не советовал, а помогал взглянуть на свои мысли со стороны. Личное мнение о том, где нейросети помогают, а где незаметно отбирают самостоятельность - без единого промпта в этом тексте.
Разработка интернет-магазина на WordPress в паре с Claude Code: бюджетный кейс с интеграцией 1С
Кейс разработки интернет-магазина дизайнерской одежды на WordPress + WooCommerce: реал-тайм обмен с 1С, кастомная блочная тема, ЮKassa и СДЭК. Большую часть кода написал AI-агент Claude Code. Бюджет - в разы ниже студийного. Разберём архитектуру, реальные грабли и код.
Мультирегиональность для интернет-магазина на Битриксе: 27 городов на поддоменах
Региональность на поддоменах для 27 городов: явный список доменов вместо wildcard, защита от SEO-дублей, возврат пользователя в свой город и изоляция CRM-портала на том же сервере.
Архитектура прогрева кеша для каталога на 200 тыс. SKU
Страница без кеша собиралась 2.5 секунды, а полный прогрев каталога на 200 тыс. товаров занял бы десятки часов. Как отобрал 318 нужных URL из 7329, прогрел их с троттлингом по cron и получил ответ 190 мс. Скрипты внутри.
Оптимизация высоконагруженного e-commerce: блокировки БД, падения CRM и атаки AI-ботов
Интернет-магазин на Битриксе тормозил: база уходила в блокировки при обновлении остатков, мобильная CRM показывала пустые экраны, а AI-краулеры выедали все воркеры через умный фильтр. Что было причиной каждой проблемы и как их закрыл.
Оптимизация Redis для Битрикс: фоновая очистка тегов без потери сессий
Redis на Битриксе съел 977 МБ из 1 ГБ. Почему FLUSHDB — плохая идея, как найти, чем забита память, и как чистить кеш точечно, не разлогинив пользователей. Скрипты и чек-лист настройки.
Критическая ошибка WordPress после обновления PHP 8.3: разбор восстановления и чек-лист
После перехода на PHP 8.3 упали и сайт, и админка. Как вернул доступ без панели управления, какой плагин всё сломал, куда делись таблицы Yoast — и пошаговый чек-лист, если у вас та же ошибка.
Деплой SPA: исправление конфликтов сборки и бесконечных циклов редиректа
Сборка падала с ERESOLVE, сервер уходил в бесконечный цикл редиректов на HTTPS, а аналитика конфликтовала с полями формы. Откуда берётся каждая проблема при деплое SPA на React и Vite и как я их закрыл.
Адаптация legacy-Битрикса под PHP 8: исправление ошибок ядра и админки
После переезда старого Битрикса на сервер с PHP 8 админка отдавала 500, импорт падал с TypeError, а drag-and-drop блоков завис. Разбор каждой ошибки, исправления кодом и SQL и порядок, в котором стоит переводить legacy-проект на PHP 8.