Портфолио Связаться
История изменений

Changelog

v1.13.0 2026-07-09
  • Новая страница 404.php с noindex, флаг $pageNoindex в includes/header.php.
  • Обнаружено: сервер на nginx, а не Apache — .htaccess для /blog/{slug}/ и /sitemap.xml на нём не работает, нужны правки в конфиге nginx.
v1.12.2 2026-07-09
  • Починена дата публикации статьи — расхождение часовых поясов между браузером админа и сервером (PHP UTC) уводило published_at вперёд от NOW() в БД, статьи не появлялись на /blog/ несмотря на статус «Опубликовано». admin.js теперь явно конвертирует локальное время браузера ↔ UTC.
v1.12.1 2026-07-09
  • В навигацию (десктоп и мобильное меню) добавлен пункт «Статьи» → /blog/.
  • На /about/ добавлен настоящий (визуально скрытый) <h1> — раньше на странице не было ни одного.
  • Новый класс .sr-only в assets/css/site.css.
v1.12.0 2026-07-09
  • Сквозной SEO: canonical, полный Open Graph и Twitter Card на каждой странице сайта через includes/header.php.
  • favicon.svg на основе живого лого шапки, robots.txt и машинный /sitemap.xml — раньше был только человеческий /sitemap/.
  • Общий includes/site-pages.php — единый список страниц для карты сайта и XML-sitemap.
v1.11.0 2026-07-09
  • Блог со своей админкой на MySQL/MariaDB: /blog/ (список, пагинация), /blog/{slug}/ (статья, чистый URL, JSON-LD BlogPosting).
  • /admin/ — вход по общему паролю, CRUD статей (текст как обычный HTML, картинки по внешней ссылке, без своей загрузки файлов), CSRF, троттлинг входа.
  • Новый слой БД: includes/db.php/db.config.php + schema.sql (миграция вручную, без автосоздания таблиц).
v1.10.1 2026-07-09
  • Секция DWA на /about/: текст был зажат в узкую колонку при пустой правой части — теперь заголовок/лид и список фич стоят в сетке, как в блоке «Как дошли».
  • Формулировка про SaaS убрала обещание сроков («в ближайшее время») — теперь «в планах на будущее».
v1.10.0 2026-07-09
  • Новая секция «Даже аналитику копаем сами» на /about/ — про DWA (DirtyWork Analytics), нашу приватную аналитику интернет-ресурсов, и планы выхода в SaaS.
  • Демо-дашборд DWA (about/demo-dashboard.php) встроен на /about/ живым iframe внутри окна браузера (components/browser-frame), по образцу project-case.
v1.9.3 2026-07-09
  • Иконки браузера в виджете «Привет» на главной заменены на настоящие логотипы вместо нарисованных вручную SVG.
v1.9.2 2026-07-09
  • FAQ на страницах услуг растянут на всю ширину контейнера (сетка 2 колонки) — раньше был намеренно ограничен до 760px и висел в левой половине экрана.
v1.9.1 2026-07-09
  • На всех 7 страницах с FAQ первый вопрос раскрыт по умолчанию — секция со свёрнутым аккордеоном визуально выглядела «пустой» рядом с плотными соседними блоками.
v1.9.0 2026-07-09
  • /sites/: убрана позиция «без конструкторов», добавлены Tilda и 1С-Битрикс в текст.
  • Новая секция «Форматы и цены» на /sites/ — 7 позиций, включая новую услугу «Администрирование сайтов».
v1.8.1 2026-07-08
  • Починен залипающий номер манифеста — переключался раньше времени из-за гонки в IntersectionObserver, теперь честный расчёт по скроллу.
v1.8.0 2026-07-08
  • Настоящая причина «пол-экрана пустоты» на /about/ — сетки были вложены в узкую колонку с заголовками, теперь разъединены.
  • WOW-эффекты на /about/: полоса прогресса чтения, залипающий номер манифеста при скролле, декоративная кавычка, стрелка-подсказка в hero.
v1.7.1 2026-07-08
  • Реальный фикс пустого хвоста перед футером — прошлый через :last-of-type не срабатывал из-за <section class="dw-cta"> в footer.php.
  • Reveal-анимация на /about/ и /team/ больше не может навсегда спрятать контент, если JS не отработал.
v1.7.0 2026-07-08
  • Починены раздутые отступы у FAQ и последних секций на страницах услуг.
  • Новая страница /team/ («Команда») — досье из 6 ролей с аватарами DiceBear и культурным кодом.
  • Переписана /about/ («Кто взял лопату») — манифест, история, сравнение подряд vs партнёрство.
  • У /about/ и /team/ свои css/js прямо в папке страницы, тёмный hero с анимированным шумом и reveal-анимацией секций.
v1.6.0 2026-07-08
  • Наполнены все 6 страниц услуг + хаб /services/: hero, «Что входит», процесс, «Почему мы», FAQ.
  • Новый шаблон assets/css/services.css и FAQ-аккордеон для страниц услуг.
v1.5.0 2026-07-08
  • Новый виджет «быстрые действия» справа: Email, Телефон, Telegram, «Наверх» — появляется после скролла, скрыт на мобильных.
  • Копирование email/телефона по клику на подсказку.
v1.4.0 2026-07-08
  • Счётчик визитов в футере — маленький бейдж слева (аватар + «N-й визит · X мин») вместо длинной центрированной строки.
  • Мобильная адаптация виджета «Привет»: меньше на узких экранах, гео скрыто, карточка не вылезает за край.
v1.3.0 2026-07-08
  • Убрана старая CTA-полоса в футере (.dw-fstrip), вместо неё — более крупный и выразительный .dw-cta, теперь один раз на весь сайт (живёт в футере на каждой странице).
  • Дублирующая CTA-секция на главной удалена — раньше она показывалась дважды на одной странице.
v1.2.0 2026-07-08
  • Гео в виджете «Привет» теперь на русском («Россия, Алтайский край, Барнаул»), с фолбэком на английский.
  • Виджет «Привет» перенесён строкой выше заголовка на главной (не накладывается на подзаголовок), показывается только на главной странице.
  • Возвращена SVG-стрелка над словом в виджете.
  • Новый блок в футере: сколько раз посетитель заходил на сайт и сколько времени провёл — на куках, без БД.
v1.1.0 2026-07-08
  • Хлебные крошки на всех внутренних страницах + JSON-LD BreadcrumbList для SEO.
  • Страница «Карта сайта» (/sitemap/), ссылка добавлена в футер.
  • Виджет онбординг-видео перенесён в PHP, подключён на все страницы, с cooldown на повторный показ.
  • Виджет приветствия «Привет» — клиентская копия удалена (накладывалась на dwa.js), вместо неё интегрирован серверный hello-widget.php: гео и аватар (DiceBear, Open Peeps) считаются на сервере, без внешних запросов.
  • includes/geoip.php — общая функция резолва IP, используется hello-widget.php и /api/geo.php.
  • Composer: dicebear/core, dicebear/styles, geoip2/geoip2.
  • Версия и дата обновления сайта выведены в футере.
v1.0.0 2026-07-08
  • Первая PHP-версия сайта: includes/header.php и includes/footer.php как единственный источник шапки/футера.
  • Общие стили и скрипты вынесены в assets/ — убрано дублирование CSS/JS между страницами.
  • Создана структура папок под все разделы меню.
  • Старые HTML-исходники удалены — заменены PHP-структурой.
Есть задача?
Поставьте нам.
Поставить задачу
Отвечаем в течение часа
Смотреть демо
hello@dirtywork.ru
+7 (999) 000-00-00
Телефон
Telegram