Project Changelog
Affiliate.Careers Changelog
This page tracks product updates: what changed, why it changed, and when. We update it after every 2-3 meaningful releases.
Release Tags
admin
aeo
ai
alerts
analytics
api
backend
branding
cost-control
cwv
database
deploy
feeds
footer
frontend
geo
google
i18n
indexing
maintenance
mobile
monitoring
navigation
ops
parsing
performance
pipeline
qa
reliability
research
schema
security
seo
theming
ui
ux
workflow
yandex
Dark-mode polish for sponsor layer + Market Pulse partner chip
Добавили отдельный dark-wordmark для ROI MEDIA, чтобы бренд корректно читался в тёмной теме, усилили контраст header/footer/accordion/channel chips и вывели sponsor-chip на страницу /market-pulse/ для консистентного партнёрского слоя на аналитических страницах.
Date / Time: 2026-03-18 12:55:00 UTC
frontend
branding
theming
analytics
Тёмная тема + переключатель рядом с языком + cleanup footer
Добавили глобальную тёмную тему с режимами Авто/Тёмная/Светлая и переключателем рядом с RU/EN. В footer убрали ссылки на Telegram-канал и бота, перенесли акцент на партнёрский блок ROI MEDIA, а навигацию в footer перевели на более предсказуемый JS-toggle вместо нестабильного поведения details/summary.
Date / Time: 2026-03-18 12:40:00 UTC
frontend
ui
theming
footer
branding
Yandex vacancy feed + Google Indexing API scaffold + anti-duplicate crawler hints
Добавили curated feed /vacancy-feed.xml под вакансии для Яндекса: только активные вакансии с числовой зарплатой, контактами и quality threshold. Параллельно добавили условный Google Indexing API submitter для job URL (включается через service account), усилили JobPosting schema полем validThrough и честным omission hiringOrganization для вакансий без компании, а в robots.txt добавили Host/Clean-param директивы для снижения дублей.
Date / Time: 2026-03-14 15:05:00 UTC
seo
indexing
backend
feeds
google
yandex
Data policy + comparison cluster expansion + external skills import
Добавили страницу /data-policy.php с правилами сбора и исправления данных, расширили раздел /comparisons/ новыми GEO/AEO-страницами (Media Buyer vs Affiliate Manager, iGaming vs Crypto, Remote affiliate jobs), усилили taxonomy/company посадочные факт-блоками и FAQ, а также импортировали внешний набор рабочих skills в skills/external/ для дальнейшей локальной работы внутри проекта.
Date / Time: 2026-03-14 12:10:00 UTC
seo
aeo
frontend
backend
workflow
Снижение AI-расходов: anti-repeat review + single scheduler
Убрали дублирующий hourly запуск через cron (оставили systemd timer как single source of truth), добавили throttle для AI-модерации pending очереди: cooldown по часам и лимит попыток на запись. Также добавили alert по оценке AI-расхода за окно (tokens->USD) для раннего контроля затрат.
Date / Time: 2026-03-05 02:45:00 UTC
ai
pipeline
cost-control
ops
Unified MV refresh helper + DB retention cleanup
Убрали дублирование refresh materialized views: добавили единый helper scripts/analytics/refresh_mviews.sh и подключили его в hourly, daily и post-deploy. Также внедрили retention cleanup для alert_events и review_queue_pending_history (defaults: 180/365 дней) через scripts/ops/retention_cleanup.php.
Date / Time: 2026-03-03 07:43:00 UTC
database
ops
pipeline
maintenance
PageSpeed pass: reduced layout-shift risk from feedback modal
Для снижения вероятности CLS до загрузки CSS добавили нативное hidden-состояние feedback modal и базовое fixed-позиционирование feedback button inline. Также для Market Pulse подключен stylesheet preload. После обновления mobile PSI по /market-pulse/ стабилен на high-score диапазоне.
Date / Time: 2026-03-03 07:31:00 UTC
performance
frontend
cwv
PageSpeed tuning: Market Pulse CLS stabilization
Для /market-pulse/ добавили preload основного CSS и стабилизировали высоты ключевых блоков (stats, KPI, trend, compact-list), чтобы уменьшить mobile CLS и снизить вероятность layout shift при первичной отрисовке.
Date / Time: 2026-03-03 07:17:00 UTC
performance
frontend
seo
cwv
Hourly rollup window optimized (14d default)
Снизили вычислительную нагрузку hourly pipeline: пересчет rollups теперь по умолчанию идет за 14 дней (настраивается через HOURLY_ROLLUP_DAYS), вместо полного 90-дневного окна каждый час. Глубокий пересчет оставлен в daily maintenance.
Date / Time: 2026-03-03 07:03:00 UTC
pipeline
performance
database
Daily pipeline split from hourly ingest
Убрали дублирование: daily timer больше не гоняет hourly ingest. Добавлен отдельный run_daily_pipeline.sh для maintenance-задач (rollups, MV refresh, SEO audit/smoke, monitoring). Также в install_on_vps.sh добавлен daemon-reload сразу после установки daily systemd unit для надежной синхронизации ExecStart.
Date / Time: 2026-03-03 06:58:00 UTC
pipeline
ops
performance
reliability
SEO smoke log retention control
Добавили ретеншн для SEO smoke NDJSON-лога: после записи автоматически удерживаются только последние N строк (по умолчанию 2000, настраивается через LOG_MAX_LINES). Это предотвращает бесконечный рост файла мониторинга.
Date / Time: 2026-03-03 06:54:00 UTC
monitoring
ops
performance
SEO smoke fail alerts via Telegram events
Для SEO smoke-check добавили алерт при статусе fail через существующий канал send_telegram_alerts.php с дедупликацией по event_key/event_bucket. Также укрепили fail-path скрипта: даже при сетевых ошибках и пустом HTML теперь гарантированно сохраняется NDJSON/JSON запись с причинами.
Date / Time: 2026-03-03 06:47:00 UTC
seo
monitoring
ops
alerts
API cache-hardening: ETag/304 + no-store on errors
Завершили rollout кэширования на публичных JSON API: успешные ответы теперь унифицированно отдаются через site_send_json_cached() с ETag/Cache-Control (60-300s), а error/rate-limit ответы принудительно помечаются no-store. Это снижает лишний трафик на повторных запросах и убирает риск кэширования 4xx/5xx.
Date / Time: 2026-03-03 06:41:00 UTC
api
performance
backend
reliability
SEO Smoke Monitor в админке + NDJSON лог
Добавили запись результатов SEO smoke-check в /var/www/aff-job/shared/metrics/seo_smoke.ndjson (и latest JSON) и вывели в админке аналитики отдельный блок последних 10 прогонов: статус, время, errors/warns/checks и краткие детали.
Date / Time: 2026-03-03 06:40:00 UTC
admin
seo
monitoring
ops
Post-deploy SEO smoke checks automated
В remote post-deploy checks добавили отдельный SEO smoke-блок: проверка ключевых URL (HTTP 200), наличия title/canonical/h1, Sitemap в robots.txt и контроль дубликатов BreadcrumbList на taxonomy. Это снижает риск тихих SEO-регрессий после релизов.
Date / Time: 2026-03-03 06:25:00 UTC
seo
ops
deploy
qa
Cloudflare selective purge in post-deploy flow
Добавили ops-скрипт selective purge для Cloudflare (главная, robots, sitemap и ключевые аналитические страницы) и подключили его в remote post-deploy checks. При отсутствии CF credentials шаг автоматически пропускается, поэтому деплой остаётся безопасным.
Date / Time: 2026-03-03 06:22:00 UTC
ops
seo
performance
deploy
Taxonomy breadcrumbs cleanup (single schema)
Убрали дублирующуюся BreadcrumbList разметку на страницах taxonomy и перевели breadcrumb trail на корректную иерархию (Главная -> Вакансии -> Роли/Вертикали/Форматы -> Текущий раздел). Это улучшает чистоту SEO-сигналов без изменения URL-структуры.
Date / Time: 2026-03-03 06:13:00 UTC
seo
schema
frontend
backend
Robots.txt normalization for Google parsing
Привели robots.txt к более совместимому формату для парсера Google/PSI: убрали Host-директиву и унифицировали query-правила через wildcard-шаблоны. Это снижает риск false-positive ошибки “robots.txt недействителен” в технических аудитах.
Date / Time: 2026-03-03 06:00:00 UTC
seo
indexing
backend
SQL profiler in pipeline + admin visibility
Добавили lightweight SQL-профайлер (EXPLAIN ANALYZE) для ключевых read-query. В hourly pipeline он запускается в best-effort режиме с TTL skip, пишет JSON-отчёт в shared metrics, а в админке аналитики теперь отображается сводка latency и статус по каждому запросу.
Date / Time: 2026-03-03 05:47:07 UTC
database
performance
admin
backend
DB index pack for catalog filters and analytics
Применили дополнительный набор PostgreSQL-индексов для фильтров/сортировок каталога вакансий (work_format, salary expression, role/vertical tags) и поддерживающих analytics/review-запросов. Это снижает latency на /jobs-фильтрах и тяжёлых аналитических страницах при росте нагрузки.
Date / Time: 2026-03-03 05:23:56 UTC
database
performance
backend
Homepage TTFB cache layer (120s)
Добавили короткий серверный кэш для агрегатов главной страницы (статистика, топ ролей/вертикалей/каналов, последние вакансии), чтобы снизить нагрузку на БД и стабилизировать first-byte под нагрузкой. Кэш хранится в /tmp и обновляется каждые 120 секунд.
Date / Time: 2026-03-03 05:18:41 UTC
performance
backend
analytics
CWV boost + real client IP rate limiting
Перевели загрузку аналитических скриптов на interaction/late-load стратегию для снижения mobile JS overhead и улучшения PSI. Добавили определение реального client IP (CF-Connecting-IP/X-Forwarded-For) для rate-limit на feedback/API, чтобы исключить коллизии по edge-IP Cloudflare.
Date / Time: 2026-03-03 05:14:32 UTC
performance
backend
security
api
Company normalization cleanup for role-noise
Улучшили нормализацию компаний: удаляется типичный role-сuffix в формате «Company. Media Buyer ...». Это снижает шум в аналитике и улучшает качество company-страниц/поиска.
Date / Time: 2026-03-03 05:05:06 UTC
backend
parsing
analytics
Sitemap freshness + archived jobs index policy
Улучшили точность sitemap lastmod: для статических роутов используется filemtime, для динамики остаётся DB-driven lastmod. Ввели SEO-политику для архивных вакансий: noindex на карточках и JobPosting schema только для активных вакансий.
Date / Time: 2026-03-03 05:02:40 UTC
seo
backend
indexing
Deploy safety fix for hourly pipeline timer
Исправили install_on_vps.sh: деплой больше не выключает aff-job-hourly.timer. Теперь hourly ingest/moderation/publish и daily analytics таймеры стабильно работают параллельно после каждого релиза.
Date / Time: 2026-03-03 04:29:23 UTC
backend
pipeline
ops
Stability + Mobile UX + API Limits
Добавили общий rate-limit для feedback и API v1 endpoint’ов, перевели header в hamburger до tablet-ширины, увеличили touch-target для навигации/футера/ярлыков каналов, выровняли feedback-виджет справа и обновили RU-названия Market Pulse.
Date / Time: 2026-03-03 04:21:35 UTC
frontend
backend
seo
api
Переведены языковые URL на чистый формат /en/...
Убрали зависимость от ?lang=en: теперь локализованные страницы используют чистые EN-адреса (/en/...), добавили совместимость со старыми ссылками через 301 и обновили hreflang/canonical генерацию.
Date / Time: 2026-02-28 03:46:00 UTC
seo
geo
i18n
backend
Добавлены GEO/AEO comparison-страницы и FAQ schema
Запущен раздел /comparisons/affiliate-jobs-channels/ с публичным бенчмарком каналов. Расширили FAQPage schema на jobs/channels/reports и улучшили discoverability в sitemap/навигации.
Date / Time: 2026-02-28 03:44:00 UTC
seo
aeo
frontend
analytics
Импортирован локальный набор AI/SEO/UI skills в проект
Подключили и задокументировали 6 skill-пакетов (UI/UX, frontend design, content, pSEO, SEO audit, GEO/AEO) с агентными манифестами для дальнейшей работы по продукту.
Date / Time: 2026-02-28 03:41:00 UTC
workflow
ai
seo
ui
Усилена безопасность админки: включен ADMIN_PASSWORD_HASH
На проде отключили plaintext ADMIN_PASSWORD, включили вход через bcrypt-хеш и сохранили пороги AI apply в env (publish=0.75, reject=0.80).
Date / Time: 2026-02-28 03:18:00 UTC
security
admin
backend
ai
Запущен RU/EN слой интерфейса
Для технических страниц добавили двуязычные мета-данные, hreflang-ссылки и EN-локаль через lang=en (тексты вакансий остаются в исходном языке).
Date / Time: 2026-02-28 03:13:00 UTC
frontend
seo
geo
i18n
Глобальный header + breadcrumbs на всех страницах
Добавили единый верхний хедер с выпадающей навигацией, переключателем RU/EN и SEO-breadcrumbs (включая BreadcrumbList schema). Убрали дублирующее меню из hero-блоков внутренних страниц.
Date / Time: 2026-02-28 03:12:00 UTC
frontend
seo
aeo
navigation
Калибровка AI-модерации добавлена в админку
В разделе AI review появилась метрика точности по ручным решениям, confidence buckets, рекомендации по порогам publish/reject и список расхождений для ручного разбора.
Date / Time: 2026-02-28 02:55:00 UTC
ai
admin
analytics
backend
Добавлен product changelog feed и CLI для релиз-логов
Сделали отдельный фид обновлений продукта /feeds/product-changelog.ndjson.php и скрипт scripts/changelog/add_entry.php для быстрого добавления записей после релизов.
Date / Time: 2026-02-28 02:48:00 UTC
feeds
backend
monitoring
Запущен публичный research-отчёт по рынку вакансий
Добавили раздел /research/ в формате воспроизводимого исследования: executive summary, зарплаты, роли, вертикали, quality/noise-метрики, формулы и ограничения. Плюс открытые датасеты JSON/CSV и PDF-версия отчёта.
Date / Time: 2026-02-27 23:12:00 UTC
research
analytics
seo
frontend
backend
Обновлена главная и мобильная навигация
Добавили блок с 5 последними вакансиями, секции в табах на главной, переименовали H2, перевели footer-навигацию в drop-up, увеличили touch-target ссылок и закрепили feedback-виджет. Также подтвердили валидный robots.txt и включили long-cache заголовки для статики.
Date / Time: 2026-02-27 22:45:00 UTC
frontend
seo
mobile
ux
performance
Переключено превью соцсетей на v2
Обновили мета-картинку для og:image и twitter:image на новый бренд-вариант. Это влияет на карточку сайта при публикации ссылок в Telegram и других соцсетях.
Date / Time: 2026-02-27 19:13:00 UTC
branding
seo
frontend
Добавлен Weekly Reports Monitor в админку
В админке аналитики появился блок со статусом weekly-отчетов, покрытием по дням и быстрыми ссылками на страницы недель.
Date / Time: 2026-02-27 19:07:00 UTC
analytics
admin
backend
Запущены weekly-отчеты /reports/weekly-YYYY-WW/
Добавили публичный раздел weekly-отчетов с архивом недель, метриками прозрачности и топами каналов/skills.
Date / Time: 2026-02-27 19:00:00 UTC
analytics
frontend
seo
Materialized views для аналитики
Ввели analytics_mv_market_daily, analytics_mv_channel_daily и analytics_mv_weekly_rollup для ускорения тяжелых витрин и отчетов.
Date / Time: 2026-02-27 18:58:00 UTC
database
backend
analytics
Алерт на рост pending в review_queue
Добавили снимки очереди и Telegram-алерт при устойчивом росте pending, чтобы ловить деградацию модерации.
Date / Time: 2026-02-27 18:58:00 UTC
ai
monitoring
backend
Улучшен SEO аудит и интеграция PageSpeed API
Подключили ключ PageSpeed API, расширили диагностику CWV и стабилизировали аудит в админке.
Date / Time: 2026-02-27 18:50:00 UTC
seo
analytics
admin
Публичные аналитические фиды JSON/CSV
Добавили daily-выгрузки аналитики рынка и каналов в машинных форматах для внешних интеграций.
Date / Time: 2026-02-27 18:40:00 UTC
feeds
analytics
backend
Публичные страницы Market Pulse и Channels
Собрали витрины индексов рынка и качества каналов на данных Telegram-парсинга.
Date / Time: 2026-02-27 18:35:00 UTC
frontend
analytics
seo
Hourly pipeline + Telegram summary
Настроили часовой systemd-проход: ingest -> AI-review -> publish -> rollups + итоговый отчет в Telegram.
Date / Time: 2026-02-27 18:30:00 UTC
parsing
ai
monitoring
backend
Добавлены Contact / Privacy / Terms
Собрали базовые юридические и контактные страницы и подключили в общий footer.
Date / Time: 2026-02-27 17:55:00 UTC
frontend
seo