# Дмитрий Мещеряков — Блог о веб-разработке > Блог Дмитрия Мещерякова — практические разборы по 1С-Битрикс, Битрикс24, Laravel и Next.js: рабочий код, причины ошибок и готовые решения из коммерческих проектов. Автор — Дмитрий Мещеряков, коммерческая разработка на 1С-Битрикс и Laravel/Next.js с 2016 года, Россия. Каждая статья — разбор одной конкретной задачи: причина проблемы, рабочий код, границы применимости. Ключевые факты (обновлено: октябрь 2026): - В блоге 114 технических статей на русском языке, 13 тематических разделов. - Основная специализация — 1С-Битрикс и Битрикс24: 50 и 8 статей соответственно. - Второе направление — backend на Laravel (17 статей) и фронтенд на Next.js (15 статей). - Все примеры кода взяты из реальных коммерческих проектов, а не из документации. - Чего в блоге НЕТ: новостей, обзоров без практики, курсов и платных материалов — только технические разборы. - Платная услуга с фиксированной ценой: лечение сайта на 1С-Битрикс от вирусов — 10 000 ₽ за один сайт, типовой срок 24 часа, гарантия 14 дней. - Автор доступен для коммерческой разработки и консультаций: https://dmeshcheryakov.ru/contact/ - Контакты автора: https://t.me/dmeshcheryakov, https://vk.com/dmeshcheryakov ## Основные страницы - [Главная](https://dmeshcheryakov.ru/): кто такой Дмитрий Мещеряков, стек и последние статьи - [Все статьи](https://dmeshcheryakov.ru/blog/): архив из 114 технических разборов с фильтром по темам - [Услуги](https://dmeshcheryakov.ru/services/): разработка и доработка на 1С-Битрикс, Битрикс24, Laravel, Next.js - [Лечение сайта на 1С-Битрикс от вирусов](https://dmeshcheryakov.ru/services/bitrix-virus-removal/): удаление веб-шеллов и редиректов, поиск точки входа по логам, снятие флага «опасный сайт» в Яндексе и Google — 10 000 ₽ за сайт, 24 часа - [Портфолио](https://dmeshcheryakov.ru/portfolio/): реализованные коммерческие проекты - [Об авторе](https://dmeshcheryakov.ru/about/): опыт, стек и принципы работы - [Контакты](https://dmeshcheryakov.ru/contact/): как связаться и обсудить задачу ## Свежие материалы - [Фасетный индекс: когда ускоряет, а когда мешает](https://dmeshcheryakov.ru/blog/bitrix-catalog-facet-index/): Почему умный фильтр тормозит не на выборке, а на счётчиках, что именно денормализует фасетный индекс и в каких случаях он делает каталог медленнее. - [Инфоблоки или Highload-блоки: как выбрать хранилище](https://dmeshcheryakov.ru/blog/bitrix-iblock-vs-highload-choice/): Разница между EAV и плоской таблицей на цифрах, чего Highload-блок не умеет принципиально и по каким пяти признакам выбор делается за минуту. - [Торговые предложения: SKU, свойства и выбор на карточке](https://dmeshcheryakov.ru/blog/bitrix-catalog-sku-offers/): Как устроена связка двух инфоблоков, почему цена и остаток живут на предложении, а не на товаре, и что делать с предложениями, потерявшими родителя. - [Импорт 100 000 товаров: почему обмен идёт сутки](https://dmeshcheryakov.ru/blog/bitrix-catalog-import-performance/): Как найти множители, из-за которых время обмена растёт нелинейно: индексация поиска, обработчики на элементе, теговый кэш и EAV-хранилище свойств. - [Картинки и файлы из 1С: почему пропадают и дублируются](https://dmeshcheryakov.ru/blog/bitrix-1c-images-attachments/): Как картинки едут из 1С на сайт двумя разными путями, откуда берутся десятки копий одного файла в b_file и что делать с регистром имён на Linux. ## Блог (задачи и как их решить) ### 1С-Битрикс (50 статей) - [Фасетный индекс: когда ускоряет, а когда мешает](https://dmeshcheryakov.ru/blog/bitrix-catalog-facet-index/): Почему умный фильтр тормозит не на выборке, а на счётчиках, что именно денормализует фасетный индекс и в каких случаях он делает каталог медленнее. - [Инфоблоки или Highload-блоки: как выбрать хранилище](https://dmeshcheryakov.ru/blog/bitrix-iblock-vs-highload-choice/): Разница между EAV и плоской таблицей на цифрах, чего Highload-блок не умеет принципиально и по каким пяти признакам выбор делается за минуту. - [Торговые предложения: SKU, свойства и выбор на карточке](https://dmeshcheryakov.ru/blog/bitrix-catalog-sku-offers/): Как устроена связка двух инфоблоков, почему цена и остаток живут на предложении, а не на товаре, и что делать с предложениями, потерявшими родителя. - [Импорт 100 000 товаров: почему обмен идёт сутки](https://dmeshcheryakov.ru/blog/bitrix-catalog-import-performance/): Как найти множители, из-за которых время обмена растёт нелинейно: индексация поиска, обработчики на элементе, теговый кэш и EAV-хранилище свойств. - [Картинки и файлы из 1С: почему пропадают и дублируются](https://dmeshcheryakov.ru/blog/bitrix-1c-images-attachments/): Как картинки едут из 1С на сайт двумя разными путями, откуда берутся десятки копий одного файла в b_file и что делать с регистром имён на Linux. - [Цены из 1С: типы цен, валюты, НДС, округление](https://dmeshcheryakov.ru/blog/bitrix-1c-prices-types-currencies/): Почему несопоставленный тип цены игнорируется молча, как считается НДС при выгрузке и откуда берётся расхождение в копейку между сайтом и учётной системой. - [Свои свойства в выгрузке из 1С без правки ядра](https://dmeshcheryakov.ru/blog/bitrix-1c-custom-fields-mapping/): Как связать реквизит из 1С со свойством инфоблока через XML_ID, что делать со свалкой CML2_ATTRIBUTES и почему обработчик на каждом элементе убивает обмен. - [Отладка обмена с 1С: логи, зависшие сессии, повторный импорт](https://dmeshcheryakov.ru/blog/bitrix-1c-exchange-debug/): Четыре источника правды в строгом порядке, механика зависшего цикла импорта и безопасный повторный запуск обмена руками на боевом сайте. - [Обмен с 1С по расписанию: cron вместо агентов](https://dmeshcheryakov.ru/blog/bitrix-1c-exchange-schedule-cron/): Почему обмен ночью проходит, а обработка после него не запускается, как развести import.xml и offers.xml по разным интервалам и чем закрыть параллельный запуск. - [Обмен Битрикса с 1С по CommerceML: как устроен протокол](https://dmeshcheryakov.ru/blog/bitrix-1c-exchange-commerceml/): Разбираем обмен не по галочкам в админке, а по проводу: пять HTTP-команд, структура import.xml и offers.xml, пошаговый импорт и точки расширения. - [Композитный сайт в Битрикс — ускоряем загрузку в 10 раз](https://dmeshcheryakov.ru/blog/bitrix-composite/): Разбираем технологию композитного сайта: как работает, когда применять, что может сломаться. Пошаговая настройка и отладка проблем. - [Highload-блоки в Битрикс — когда и зачем использовать](https://dmeshcheryakov.ru/blog/bitrix-highload-blocks/): Разбираем highload-блоки: отличия от обычных инфоблоков, производительность, ограничения. Примеры использования для каталогов, логов, справочников. - [Кэширование в 1С-Битрикс — управляемый и тегированный кэш](https://dmeshcheryakov.ru/blog/bitrix-cache/): Полный гайд по кэшированию: управляемый кэш компонентов, тегированный кэш D7, автосброс при изменениях. Избавляемся от проблемы 'а почему не обновилось?' - [Интеграция 1С-Битрикс с Telegram-ботом](https://dmeshcheryakov.ru/blog/bitrix-telegram-bot/): Создаём Telegram-бота для уведомлений о заказах, обратной связи и поддержки клиентов. Пошаговая настройка webhook, обработка команд и интеграция с инфоблоками. - [ORM в Битрикс D7 — сущности, связи и кастомные таблицы](https://dmeshcheryakov.ru/blog/bitrix-orm/): Полный гайд по ORM D7: создание своих сущностей, связи между таблицами, валидация, события. Уходим от CIBlockElement::GetList к современному API. - [События в Битрикс — подписки, свои события, отладка](https://dmeshcheryakov.ru/blog/bitrix-events/): Разбираем систему событий: OnBeforeIBlockElementAdd, свои события, EventManager D7. Как не сломать сайт обработчиком и как дебажить. - [CI/CD для Битрикс-проектов на GitHub Actions](https://dmeshcheryakov.ru/blog/bitrix-cicd-github-actions/): Настраиваем автоматический деплой Битрикс-сайта: линтинг, тесты, деплой на dev/prod через SSH. Пошаговый гайд с рабочими workflow. - [REST API в Битрикс — создание своих методов](https://dmeshcheryakov.ru/blog/bitrix-rest-api/): Создаём собственные REST-методы в Битрикс24 и коробке: регистрация эндпоинтов, авторизация, документация. Интеграция с внешними системами. - [Настройка Docker-окружения для разработки на Битрикс](https://dmeshcheryakov.ru/blog/bitrix-docker-setup/): Пошаговая инструкция по созданию удобной среды разработки с MySQL, nginx, xdebug и автоматическим бэкапом. Разбираем типичные проблемы и способы их решения. - [Агенты в Битрикс — периодические задачи и очереди](https://dmeshcheryakov.ru/blog/bitrix-agents/): Агенты — встроенный планировщик задач Битрикс. Разбираем создание, отладку, переход на cron и альтернативы для highload-проектов. - [Собственный модуль генерации sitemap для 1С-Битрикс без правок ядра](https://dmeshcheryakov.ru/blog/bitrix-sitemap-custom-module/): Создаём независимый модуль для генерации карт сайта с разбиением по 4000 URL. Решаем проблему Google, который не принимает большие Sitemap-файлы. - [Smart Filter в Битрикс: невалидные URL и корректный 404](https://dmeshcheryakov.ru/blog/bitrix-smartfilter-404/): Как невалидные URL smart.filter раздувают кэш и вредят SEO. Настраиваем проверку валидности и корректную 404-обработку. - [Битрикс: собственный модуль генерации sitemap с разбиением](https://dmeshcheryakov.ru/blog/bitrix-custom-sitemap-module/): Разработка модуля для создания sitemap с ограничением 4000 URL на файл. Без правок ядра, с админкой в стиле SEO-модуля. - [Битрикс: региональные sitemap для умного фильтра SmartSEO](https://dmeshcheryakov.ru/blog/bitrix-regional-sitemap-smartseo/): Модуль генерации sitemap для каждого поддомена без правок ядра Aspro. Proxy-файлы, htaccess, автоочистка. - [Битрикс: валидация URL умного фильтра для SEO](https://dmeshcheryakov.ru/blog/bitrix-smartfilter-url-validation/): Как невалидные URL smart.filter раздувают кэш и вредят SEO. Проверка сегментов, 404 для несуществующих комбинаций. - [Рост кэша catalog.section в Битрикс: политика кэширования](https://dmeshcheryakov.ru/blog/bitrix-catalog-cache-policy/): Как остановить неограниченный рост кэша catalog.section. Создаём централизованную политику кэширования для контроля токсичных URL каталога. - [Взлом сайтов на Aspro: уязвимость unserialize и как защититься](https://dmeshcheryakov.ru/blog/bitrix-aspro-vulnerability/): Разбор целевых атак на сайты 1С-Битрикс с модулем Aspro. Уязвимые файлы, механизм атаки, исправления кода и автоматический скрипт очистки. - [Битрикс: определение текущей страницы комплексного компонента](https://dmeshcheryakov.ru/blog/bitrix-complex-component-page/): Как программно определить, на какой странице комплексного компонента мы находимся. Используем CComponentEngine для работы с SEF-шаблонами. - [Битрикс: сохранение UTM-меток в cookies](https://dmeshcheryakov.ru/blog/bitrix-utm-cookies/): Автоматическое сохранение UTM-параметров в cookies для отслеживания источников трафика. Полная реализация с учётом перезаписи и времени жизни. - [Битрикс24: создание сделки из заказа интернет-магазина](https://dmeshcheryakov.ru/blog/bitrix24-deal-from-order/): Автоматическое создание сделки в CRM при оформлении заказа на сайте 1С-Битрикс. Поиск/создание контакта, привязка товаров. - [Работа с SFTP в 1С-Битрикс: загрузка и скачивание файлов](https://dmeshcheryakov.ru/blog/bitrix-sftp-integration/): Использование встроенного класса Bitrix\Sale\TradingPlatform\Sftp для работы с SFTP-серверами. Подключение, загрузка, скачивание файлов. - [1С-Битрикс: не удаётся войти в админку — диагностика и решение](https://dmeshcheryakov.ru/blog/bitrix-admin-login-issues/): Полное руководство по устранению проблем авторизации в административной панели Битрикс. Забытый пароль, битые сессии, блокировка IP. - [1С-Битрикс: настройка canonical URL для SEO](https://dmeshcheryakov.ru/blog/bitrix-canonical-url/): Установка канонических адресов для статических страниц, каталога и разделов. Предотвращение дублей в индексе поисковых систем. - [Битрикс: 404 для несуществующих поддоменов](https://dmeshcheryakov.ru/blog/bitrix-wildcard-subdomain-404/): Обработка wildcard-поддоменов в мультирегиональном сайте. Показ 404 ошибки для несуществующих региональных поддоменов. - [Битрикс: отправка формы через BX.ajax](https://dmeshcheryakov.ru/blog/bitrix-bx-ajax-form/): AJAX-отправка данных формы без перезагрузки страницы с использованием Bitrix JavaScript API. FormData, валидация, обработка ответа. - [Битрикс: проверка уникальности свойства при добавлении элемента](https://dmeshcheryakov.ru/blog/bitrix-unique-property-validation/): Валидация артикула, email или другого свойства на уникальность. Обработчики OnBeforeIBlockElementAdd и OnBeforeIBlockElementUpdate. - [Битрикс: фильтрация и сортировка элементов по свойству](https://dmeshcheryakov.ru/blog/bitrix-filter-sort-by-property/): Реализация AJAX-фильтра по свойству инфоблока. Highload-блоки справочников, передача фильтра в компонент, счётчики элементов. - [Битрикс: транслитерация символьного кода элементов](https://dmeshcheryakov.ru/blog/bitrix-translit-code/): Автоматическая генерация CODE из NAME при добавлении элементов в инфоблок. CUtil::translit и альтернативные методы. - [Битрикс: отслеживание изменений свойств элемента инфоблока](https://dmeshcheryakov.ru/blog/bitrix-track-property-changes/): Обработчики событий для реакции на изменение свойств. Синхронизация цен, логирование изменений, триггеры бизнес-логики. - [Битрикс: почему не работает CPrice::Update](https://dmeshcheryakov.ru/blog/bitrix-cprice-update-issue/): Решение проблемы с обновлением цен товаров. CCatalogProduct::Add, проверка существующих цен, правильная последовательность действий. - [Битрикс: кнопка «Открыть на сайте» в админке](https://dmeshcheryakov.ru/blog/bitrix-admin-element-link/): Добавление ссылки на публичную страницу элемента в административной панели. Событие OnAdminContextMenuShow. - [Битрикс: получение курсов валют из XML ЦБ РФ](https://dmeshcheryakov.ru/blog/bitrix-xml-currency-rates/): Парсинг XML-ленты Центробанка для получения актуальных курсов валют. Класс CDataXML, конвертация, кэширование. - [Битрикс: очистка неиспользуемых свойств инфоблоков](https://dmeshcheryakov.ru/blog/bitrix-cleanup-unused-properties/): SQL-запросы для поиска пустых свойств. Безопасное удаление, анализ заполненности, оптимизация базы данных. - [Битрикс: создание пользовательского типа свойства](https://dmeshcheryakov.ru/blog/bitrix-custom-property-type/): Разработка собственного типа свойства инфоблока с дополнительными полями. Привязка к элементам с количеством, ценой или описанием. - [Настройка .htaccess для 1С-Битрикс: полное руководство](https://dmeshcheryakov.ru/blog/bitrix-htaccess-config/): Оптимальная конфигурация .htaccess: редиректы, ЧПУ, сжатие, кэширование браузера. Готовые примеры для production. - [Битрикс: ресайз изображений на лету](https://dmeshcheryakov.ru/blog/bitrix-image-resize/): CFile::ResizeImageGet для создания миниатюр. Типы масштабирования, кэширование, оптимизация производительности. - [Битрикс: настройка хлебных крошек (bitrix:breadcrumb)](https://dmeshcheryakov.ru/blog/bitrix-breadcrumb-guide/): Полное руководство по компоненту навигационной цепочки. Кастомизация, отключение на главной, микроразметка Schema.org. - [Битрикс: страница товаров со скидками](https://dmeshcheryakov.ru/blog/bitrix-discount-section-page/): Создание раздела /sale/ с товарами, на которые действуют скидки из маркетинговых правил. Класс для фильтрации и кэширования. - [Битрикс: динамические robots.txt и sitemap.xml для мультидоменного сайта](https://dmeshcheryakov.ru/blog/bitrix-multidomain-robots-sitemap/): Генерация отдельных файлов для каждого поддомена. PHP-обработчики, редиректы через .htaccess, автоматическое определение хоста. - [Битрикс: хлебные крошки внутри кэшируемого компонента](https://dmeshcheryakov.ru/blog/bitrix-breadcrumb-inside-component/): Как вывести bitrix:breadcrumb внутри шаблона компонента с включённым кэшированием. Deferred-вызовы и плейсхолдеры. ### Битрикс24 (8 статей) - [Битрикс24: очистка таблиц модуля socialnetwork](https://dmeshcheryakov.ru/blog/bitrix24-socialnetwork-cleanup/): Автоматическая очистка устаревших записей социальной сети в Битрикс24. Метод ClearOld, cron-задача и оптимизация базы данных. - [Битрикс24: автоматическая дисковая квота для новых пользователей](https://dmeshcheryakov.ru/blog/bitrix24-disk-quota/): Настраиваем автоматическое назначение дисковой квоты при создании пользователя в Битрикс24. Обработчик события onAfterUserAdd. - [Битрикс24: получение календарных событий через API](https://dmeshcheryakov.ru/blog/bitrix24-calendar-events-api/): Работа с CCalendarEvent для получения списка встреч и событий сотрудника. Фильтрация по датам, владельцу и статусу. - [Битрикс24: очистка истории событий CRM](https://dmeshcheryakov.ru/blog/bitrix24-crm-event-cleanup/): Удаление старых событий у лидов, сделок, контактов и компаний. Безопасная очистка таблиц b_crm_event и b_crm_event_relations. - [Битрикс24: массовое завершение дел при перемещении сделок](https://dmeshcheryakov.ru/blog/bitrix24-complete-deal-activities/): Автоматическое закрытие всех активных задач и дел при перемещении сделок между этапами воронки. Пакетная обработка с контролем ошибок. - [Битрикс24: запуск бизнес-процессов через API](https://dmeshcheryakov.ru/blog/bitrix24-business-process-api/): Программный запуск бизнес-процессов для сделок, лидов, контактов и других сущностей CRM. Передача параметров и обработка ошибок. - [Битрикс24: получение сотрудников с открытым рабочим днём](https://dmeshcheryakov.ru/blog/bitrix24-timeman-api/): Работа с модулем учёта рабочего времени через API. Проверка статуса рабочего дня, выборка активных сотрудников отдела. - [Битрикс24: открытие виджета по кнопке в шаблоне сайта](https://dmeshcheryakov.ru/blog/bitrix24-widget-custom-button/): Интеграция виджетов Битрикс24 с кастомными кнопками. Открытие чата, формы обратного звонка, CRM-формы по клику. ### Laravel (17 статей) - [Service Layer в Laravel — выносим логику из контроллеров](https://dmeshcheryakov.ru/blog/laravel-service-pattern/): Паттерн Service Layer помогает структурировать код: контроллеры остаются тонкими, бизнес-логика переиспользуется, тестирование упрощается. - [Repository Pattern в Laravel — когда нужен и как внедрять](https://dmeshcheryakov.ru/blog/laravel-repository-pattern/): Repository абстрагирует работу с данными. Разбираем, когда паттерн оправдан, а когда Eloquent достаточно. Практические примеры без оверинжиниринга. - [Очереди в Laravel — Jobs, Workers, Horizon](https://dmeshcheryakov.ru/blog/laravel-queues/): Очереди обрабатывают тяжёлые задачи в фоне: email, уведомления, импорт. Настраиваем Redis, создаём Jobs, мониторим через Horizon. - [События и слушатели в Laravel — асинхронная архитектура](https://dmeshcheryakov.ru/blog/laravel-events-listeners/): Events отвязывают бизнес-логику от побочных эффектов. Создаём события, слушатели, subscribers. Асинхронная обработка через очереди. - [API Resources в Laravel — правильная сериализация ответов](https://dmeshcheryakov.ru/blog/laravel-api-resources/): API Resources трансформируют модели в JSON. Скрываем поля, добавляем computed-атрибуты, управляем связями. Версионирование API. - [Laravel Sanctum — аутентификация для SPA и мобильных приложений](https://dmeshcheryakov.ru/blog/laravel-sanctum-auth/): Sanctum — простая аутентификация через токены и cookies. Настраиваем для SPA (Next.js, Vue) и мобильных приложений. CSRF, CORS, refresh tokens. - [Тестирование в Laravel — Feature, Unit, Mocks, Factories](https://dmeshcheryakov.ru/blog/laravel-testing/): Полный гайд по тестированию: настройка, Feature vs Unit тесты, фабрики моделей, моки внешних сервисов, тестирование API и очередей. - [Orchid Platform — быстрый старт админки за 30 минут](https://dmeshcheryakov.ru/blog/orchid-getting-started/): Orchid — современная платформа для создания админ-панелей на Laravel. Устанавливаем, настраиваем, создаём первый CRUD без лишнего кода. - [Screens в Orchid — CRUD без боли](https://dmeshcheryakov.ru/blog/orchid-screens/): Глубокое погружение в Orchid Screens: layouts, modals, tabs, async-данные. Строим сложные интерфейсы декларативно. - [Кастомные поля в Orchid — создание своих компонентов](https://dmeshcheryakov.ru/blog/orchid-custom-fields/): Встроенных полей не хватает? Создаём свои: color picker, map selector, JSON editor. От простого до сложного с JS-интеграцией. - [Фильтры и сортировка в Orchid](https://dmeshcheryakov.ru/blog/orchid-filters-sorting/): Добавляем фильтрацию в таблицы Orchid: текстовые фильтры, select, даты, кастомные фильтры. HTTP-фильтры и Selection-фильтры. - [Права и роли в Orchid — гибкая система доступа](https://dmeshcheryakov.ru/blog/orchid-permissions/): Настраиваем RBAC в Orchid: роли, permissions, проверка доступа в screens, скрытие элементов. Интеграция с Laravel Gates. - [Виджеты и графики в Orchid — дашборд](https://dmeshcheryakov.ru/blog/orchid-charts-widgets/): Создаём информативный дашборд: метрики, графики, таблицы. Charts.js интеграция, кастомные виджеты, real-time данные. - [Telegram-уведомления из Laravel](https://dmeshcheryakov.ru/blog/laravel-telegram-notifications/): Отправляем уведомления в Telegram: создание бота, Laravel Notifications, форматирование сообщений, кнопки, группы. Production-ready код. - [Интеграция платежей в Laravel — ЮKassa и Stripe](https://dmeshcheryakov.ru/blog/laravel-payment-integration/): Принимаем платежи в Laravel-приложении: ЮKassa для России, Stripe для международных. Webhook-обработка, рекуррентные платежи, refunds. - [Работа с файлами в Laravel — S3, оптимизация изображений](https://dmeshcheryakov.ru/blog/laravel-file-storage/): Загрузка файлов, хранение в S3, оптимизация изображений на лету. Intervention Image, Spatie Media Library, очереди для обработки. - [Laravel: обёртка для кэширования API-запросов](https://dmeshcheryakov.ru/blog/laravel-api-cache-wrapper/): Создаём универсальный класс-обёртку для кэширования результатов API с учётом пользователя. Магический метод __call и автоматическое кэширование. ### NextJS (15 статей) - [Next.js: полная модель из API или только нужные поля](https://dmeshcheryakov.ru/blog/nextjs-server-data-client-props/): Как данные из внешнего API доходят до браузера в Next.js App Router, что попадает в RSC payload и где на самом деле нужно резать модель. - [NextJS на виртуальном хостинге Beget — Passenger вместо PM2](https://dmeshcheryakov.ru/blog/nextjs-beget-passenger/): Развернуть Next.js на shared-хостинге Beget можно, но не по гайдам для VPS. Разбираем Passenger, standalone-сборку, чего в ней не хватает и где это ломается. - [Vercel vs свой VPS: что выбрать для Next.js](https://dmeshcheryakov.ru/blog/nextjs-vercel-vs-vps/): Сравниваем Vercel и self-hosted деплой. Цены, производительность, ограничения и когда что использовать. - [MDX-блог на Next.js: от идеи до деплоя](https://dmeshcheryakov.ru/blog/nextjs-mdx-blog/): Создаём блог с MDX-статьями, подсветкой кода, оглавлением и RSS. Полный гайд с примерами кода. - [Интернационализация (i18n) в Next.js 15](https://dmeshcheryakov.ru/blog/nextjs-i18n/): Мультиязычность в App Router: роутинг, переводы, форматирование дат и чисел. next-intl и альтернативы. - [Headless Bitrix + NextJS: архитектура и реализация](https://dmeshcheryakov.ru/blog/nextjs-headless-bitrix/): Как использовать 1С-Битрикс как headless CMS для React-фронтенда. REST API, аутентификация, каталог товаров и корзина. - [Оптимизация Core Web Vitals в Next.js](https://dmeshcheryakov.ru/blog/nextjs-core-web-vitals/): Практические техники улучшения LCP, FID/INP и CLS. Диагностика, оптимизация изображений, шрифтов и JavaScript. - [Миграция на App Router в Next.js: пошаговый гайд](https://dmeshcheryakov.ru/blog/nextjs-app-router-migration/): Как перевести проект с Pages Router на App Router без боли. Стратегия, типичные ошибки и совместимость. - [Деплой NextJS на свой VPS — nginx + PM2](https://dmeshcheryakov.ru/blog/nextjs-vps-deploy/): Пошаговый гайд по деплою NextJS-приложения на собственный сервер. Настройка nginx, PM2, SSL, автодеплой через GitHub Actions. - [Server Actions в Next.js — замена API routes](https://dmeshcheryakov.ru/blog/nextjs-server-actions/): Server Actions позволяют вызывать серверные функции прямо из компонентов без создания API-эндпоинтов. Разбираем синтаксис, валидацию, обработку ошибок и лучшие практики. - [ISR в NextJS — кэширование на стероидах](https://dmeshcheryakov.ru/blog/nextjs-isr/): Incremental Static Regeneration позволяет обновлять статические страницы без полной пересборки. Разбираем revalidate, on-demand ISR и типичные ошибки. - [Middleware в Next.js — auth, редиректы, A/B тесты](https://dmeshcheryakov.ru/blog/nextjs-middleware/): Middleware выполняется до рендеринга страниц. Разбираем авторизацию, геолокацию, A/B тестирование и защиту роутов на Edge Runtime. - [TanStack Query в Next.js — кэширование и мутации](https://dmeshcheryakov.ru/blog/react-query-nextjs/): TanStack Query (React Query) решает проблемы управления серверным состоянием: кэширование, ревалидация, оптимистичные обновления. Интеграция с App Router. - [Аутентификация в Next.js — NextAuth.js vs своё решение](https://dmeshcheryakov.ru/blog/nextjs-auth/): Сравниваем NextAuth.js (Auth.js) и кастомную JWT-аутентификацию. Когда что использовать, подводные камни, production-ready примеры. - [SSR-кэширование в NextJS: ускоряем рендеринг в 10 раз](https://dmeshcheryakov.ru/blog/nextjs-ssr-caching/): Разбираем стратегии кэширования Server Components в NextJS 14+. Revalidation, ISR, on-demand revalidation и edge caching. ### DevOps (7 статей) - [Блокировка по странам в nginx: как отсечь 80% запросов и не выпасть из Google](https://dmeshcheryakov.ru/blog/nginx-geoblocking-googlebot/): Блокировка по странам в nginx без GeoIP2: geo и map, проверка Googlebot и Яндекса по IP, страница 403 с просьбой отключить VPN и fail2ban для сканеров. - [Настройка MikroTik RB951G-2HnD с нуля: готовый скрипт PPPoE и Wi-Fi](https://dmeshcheryakov.ru/blog/mikrotik-pppoe-setup-script/): Базовая настройка MikroTik RB951G-2HnD одним .rsc-скриптом: PPPoE на ether1, мост из ether2–5 и Wi-Fi, файрвол с FastTrack, порядок запуска и отладка. - [Docker Compose для Битрикс — production-ready конфиг](https://dmeshcheryakov.ru/blog/docker-compose-bitrix/): Полный docker-compose.yml для Битрикс: nginx, PHP-FPM, MySQL, Redis, cron. Оптимизация для production, persistent volumes, healthchecks. - [Оптимизация nginx для PHP и Битрикс](https://dmeshcheryakov.ru/blog/nginx-optimization/): Тюним nginx для максимальной производительности: gzip, кэширование, fastcgi_cache, worker_processes, буферы. Production-ready конфигурация. - [Аномальная нагрузка на VPS: блокируем crawler на уровне nginx](https://dmeshcheryakov.ru/blog/bitrix-crawler-nginx-block/): Как Facebook crawler перегружал VPS и разгонял CPU до 60%. Настраиваем точечную блокировку тяжёлых URL каталога на уровне nginx. - [Диагностика PHP-FPM: анализ активных процессов и slowlog](https://dmeshcheryakov.ru/blog/php-fpm-diagnostics/): Систематический подход к диагностике нагрузки на PHP-FPM: статус пула, slowlog, /proc и pidstat. Находим причину медленных ответов. - [Анализ логов Apache и Nginx: практическое руководство](https://dmeshcheryakov.ru/blog/apache-nginx-logs-analysis/): Полезные команды для анализа access.log и error.log. Поиск ошибок 404, определение географии запросов, выявление подозрительной активности. ### Интеграции (6 статей) - [Бот MAX на сайте: форма обратной связи вместо Telegram](https://dmeshcheryakov.ru/blog/max-bot-website-integration/): Подключаем заявки с формы к боту MAX: верификация ИП, chat_id, лимит 4000 символов и главная засада — сертификат НУЦ Минцифры, из-за которого запрос падает до HTTP. - [Wildberries API — синхронизация товаров и заказов](https://dmeshcheryakov.ru/blog/wildberries-api-integration/): Интеграция с API Wildberries: получение остатков, обновление цен, загрузка заказов. Обходим лимиты, обрабатываем ошибки, настраиваем автосинхронизацию. - [Интеграция с СберБанк Эквайринг API](https://dmeshcheryakov.ru/blog/sber-api-integration/): Подключаем интернет-эквайринг СберБанка: регистрация заказа, оплата, callback, возвраты. Работающие примеры для PHP и Node.js. - [СДЭК API — расчёт доставки и создание заказов](https://dmeshcheryakov.ru/blog/cdek-api-integration/): Интеграция с СДЭК: расчёт стоимости доставки, создание заказов, отслеживание статусов, выбор ПВЗ. Примеры для PHP и TypeScript. - [ЮKassa — приём платежей в Next.js и Битрикс](https://dmeshcheryakov.ru/blog/yookassa-integration/): Интеграция ЮKassa: создание платежей, webhook-уведомления, возвраты, рекуррентные платежи. Production-ready код для TypeScript и PHP. - [Интеграция с Ozon API: синхронизация товаров и заказов](https://dmeshcheryakov.ru/blog/ozon-api-integration/): Практическое руководство по интеграции интернет-магазина с маркетплейсом Ozon. Загрузка товаров, обработка заказов, работа с FBS/FBO. ### Безопасность (4 статьи) - [CSRF и XSS: защита в PHP-приложениях](https://dmeshcheryakov.ru/blog/security-csrf-xss-protection/): Разбираем две самые частые веб-уязвимости. Как атакуют, как защищаться, примеры для Laravel и Битрикс. - [Аудит безопасности Битрикс-сайта: чеклист](https://dmeshcheryakov.ru/blog/security-bitrix-audit-checklist/): Практический чеклист для проверки безопасности 1С-Битрикс. Конфигурация, права, уязвимости, мониторинг. - [Двухфакторная аутентификация в 1С-Битрикс](https://dmeshcheryakov.ru/blog/security-bitrix-2fa/): Настройка 2FA для администраторов и пользователей. OTP, приложения-аутентификаторы, резервные коды. - [1С-Битрикс: сохранение пароля пользователя (антипаттерн)](https://dmeshcheryakov.ru/blog/bitrix-save-user-password/): Разбор опасной практики сохранения паролей в открытом виде. Почему это критическая уязвимость и как правильно решать задачи, требующие доступа к паролю. ### PHP (2 статьи) - [Валидация email в PHP: три подхода](https://dmeshcheryakov.ru/blog/php-email-validation/): Сравнение методов проверки email-адресов: filter_var(), регулярные выражения и PHPMailer. Примеры кода и рекомендации по выбору. - [PHP: работа с датами — полное руководство](https://dmeshcheryakov.ru/blog/php-datetime-guide/): DateTime, DateInterval, DatePeriod. Форматирование, сравнение, разбиение периодов, часовые пояса. Примеры для реальных задач. ### JavaScript (1 статья) - [Axios: добавление задержки между запросами](https://dmeshcheryakov.ru/blog/axios-request-delay/): Решение проблемы rate limiting при работе с API. Три способа добавить паузу между HTTP-запросами в JavaScript. ### Frontend (1 статья) - [JavaScript: автоматическое оглавление статьи](https://dmeshcheryakov.ru/blog/js-table-of-contents/): Генерация содержания на основе заголовков H1-H6. Якорные ссылки, нумерация, smooth scroll, подсветка активного пункта. ### Производительность (1 статья) - [Конвертация изображений в WebP на лету](https://dmeshcheryakov.ru/blog/webp-conversion-on-fly/): Автоматическая конвертация JPG/PNG в WebP для улучшения Page Speed. Решения для Nginx, PHP и Битрикс. ### Программирование (1 статья) - [Полезные регулярные выражения: справочник паттернов](https://dmeshcheryakov.ru/blog/useful-regex-patterns/): Коллекция проверенных регулярных выражений для валидации email, телефонов, дат, URL, IP-адресов и других данных. С примерами на PHP и JavaScript. ### CMS (1 статья) - [OpenCart: отображение ID категорий в админке](https://dmeshcheryakov.ru/blog/opencart-category-id-admin/): Добавление столбца с ID в список категорий админ-панели OpenCart/ocStore для удобной работы с импортом. ## Форматы для машинного чтения - [llms.txt](https://dmeshcheryakov.ru/llms.txt): этот файл — карта сайта для языковых моделей - [llms-full.txt](https://dmeshcheryakov.ru/llms-full.txt): полные тексты всех статей одним файлом - [RSS](https://dmeshcheryakov.ru/feed/): лента новых публикаций - [sitemap.xml](https://dmeshcheryakov.ru/sitemap.xml): карта сайта для поисковых роботов - Markdown-версия любой статьи доступна по адресу https://dmeshcheryakov.ru/blog//index.md