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 frontend geo i18n indexing maintenance mobile monitoring navigation ops parsing performance pipeline qa reliability research schema security seo ui ux 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