Журнал проекта

Журнал обновлений Affiliate.Careers

Здесь фиксируем, что изменили в продукте, для чего это сделали и когда. Обновляем ленту после каждого 2-3 значимых апдейтов.

Теги релизов

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/ для консистентного партнёрского слоя на аналитических страницах.

Дата / Время: 2026-03-18 12:55:00 UTC

frontend branding theming analytics

Тёмная тема + переключатель рядом с языком + cleanup footer

Добавили глобальную тёмную тему с режимами Авто/Тёмная/Светлая и переключателем рядом с RU/EN. В footer убрали ссылки на Telegram-канал и бота, перенесли акцент на партнёрский блок ROI MEDIA, а навигацию в footer перевели на более предсказуемый JS-toggle вместо нестабильного поведения details/summary.

Дата / Время: 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 директивы для снижения дублей.

Дата / Время: 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/ для дальнейшей локальной работы внутри проекта.

Дата / Время: 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) для раннего контроля затрат.

Дата / Время: 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.

Дата / Время: 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 диапазоне.

Дата / Время: 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 при первичной отрисовке.

Дата / Время: 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.

Дата / Время: 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.

Дата / Время: 2026-03-03 06:58:00 UTC

pipeline ops performance reliability

SEO smoke log retention control

Добавили ретеншн для SEO smoke NDJSON-лога: после записи автоматически удерживаются только последние N строк (по умолчанию 2000, настраивается через LOG_MAX_LINES). Это предотвращает бесконечный рост файла мониторинга.

Дата / Время: 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 запись с причинами.

Дата / Время: 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.

Дата / Время: 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 и краткие детали.

Дата / Время: 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-регрессий после релизов.

Дата / Время: 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 шаг автоматически пропускается, поэтому деплой остаётся безопасным.

Дата / Время: 2026-03-03 06:22:00 UTC

ops seo performance deploy

Taxonomy breadcrumbs cleanup (single schema)

Убрали дублирующуюся BreadcrumbList разметку на страницах taxonomy и перевели breadcrumb trail на корректную иерархию (Главная -> Вакансии -> Роли/Вертикали/Форматы -> Текущий раздел). Это улучшает чистоту SEO-сигналов без изменения URL-структуры.

Дата / Время: 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 недействителен” в технических аудитах.

Дата / Время: 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 и статус по каждому запросу.

Дата / Время: 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-фильтрах и тяжёлых аналитических страницах при росте нагрузки.

Дата / Время: 2026-03-03 05:23:56 UTC

database performance backend

Homepage TTFB cache layer (120s)

Добавили короткий серверный кэш для агрегатов главной страницы (статистика, топ ролей/вертикалей/каналов, последние вакансии), чтобы снизить нагрузку на БД и стабилизировать first-byte под нагрузкой. Кэш хранится в /tmp и обновляется каждые 120 секунд.

Дата / Время: 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.

Дата / Время: 2026-03-03 05:14:32 UTC

performance backend security api

Company normalization cleanup for role-noise

Улучшили нормализацию компаний: удаляется типичный role-сuffix в формате «Company. Media Buyer ...». Это снижает шум в аналитике и улучшает качество company-страниц/поиска.

Дата / Время: 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 только для активных вакансий.

Дата / Время: 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 таймеры стабильно работают параллельно после каждого релиза.

Дата / Время: 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.

Дата / Время: 2026-03-03 04:21:35 UTC

frontend backend seo api

Переведены языковые URL на чистый формат /en/...

Убрали зависимость от ?lang=en: теперь локализованные страницы используют чистые EN-адреса (/en/...), добавили совместимость со старыми ссылками через 301 и обновили hreflang/canonical генерацию.

Дата / Время: 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/навигации.

Дата / Время: 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) с агентными манифестами для дальнейшей работы по продукту.

Дата / Время: 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).

Дата / Время: 2026-02-28 03:18:00 UTC

security admin backend ai

Запущен RU/EN слой интерфейса

Для технических страниц добавили двуязычные мета-данные, hreflang-ссылки и EN-локаль через lang=en (тексты вакансий остаются в исходном языке).

Дата / Время: 2026-02-28 03:13:00 UTC

frontend seo geo i18n

Глобальный header + breadcrumbs на всех страницах

Добавили единый верхний хедер с выпадающей навигацией, переключателем RU/EN и SEO-breadcrumbs (включая BreadcrumbList schema). Убрали дублирующее меню из hero-блоков внутренних страниц.

Дата / Время: 2026-02-28 03:12:00 UTC

frontend seo aeo navigation

Калибровка AI-модерации добавлена в админку

В разделе AI review появилась метрика точности по ручным решениям, confidence buckets, рекомендации по порогам publish/reject и список расхождений для ручного разбора.

Дата / Время: 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 для быстрого добавления записей после релизов.

Дата / Время: 2026-02-28 02:48:00 UTC

feeds backend monitoring

Запущен публичный research-отчёт по рынку вакансий

Добавили раздел /research/ в формате воспроизводимого исследования: executive summary, зарплаты, роли, вертикали, quality/noise-метрики, формулы и ограничения. Плюс открытые датасеты JSON/CSV и PDF-версия отчёта.

Дата / Время: 2026-02-27 23:12:00 UTC

research analytics seo frontend backend

Обновлена главная и мобильная навигация

Добавили блок с 5 последними вакансиями, секции в табах на главной, переименовали H2, перевели footer-навигацию в drop-up, увеличили touch-target ссылок и закрепили feedback-виджет. Также подтвердили валидный robots.txt и включили long-cache заголовки для статики.

Дата / Время: 2026-02-27 22:45:00 UTC

frontend seo mobile ux performance

Переключено превью соцсетей на v2

Обновили мета-картинку для og:image и twitter:image на новый бренд-вариант. Это влияет на карточку сайта при публикации ссылок в Telegram и других соцсетях.

Дата / Время: 2026-02-27 19:13:00 UTC

branding seo frontend

Добавлен Weekly Reports Monitor в админку

В админке аналитики появился блок со статусом weekly-отчетов, покрытием по дням и быстрыми ссылками на страницы недель.

Дата / Время: 2026-02-27 19:07:00 UTC

analytics admin backend

Запущены weekly-отчеты /reports/weekly-YYYY-WW/

Добавили публичный раздел weekly-отчетов с архивом недель, метриками прозрачности и топами каналов/skills.

Дата / Время: 2026-02-27 19:00:00 UTC

analytics frontend seo

Materialized views для аналитики

Ввели analytics_mv_market_daily, analytics_mv_channel_daily и analytics_mv_weekly_rollup для ускорения тяжелых витрин и отчетов.

Дата / Время: 2026-02-27 18:58:00 UTC

database backend analytics

Алерт на рост pending в review_queue

Добавили снимки очереди и Telegram-алерт при устойчивом росте pending, чтобы ловить деградацию модерации.

Дата / Время: 2026-02-27 18:58:00 UTC

ai monitoring backend

Улучшен SEO аудит и интеграция PageSpeed API

Подключили ключ PageSpeed API, расширили диагностику CWV и стабилизировали аудит в админке.

Дата / Время: 2026-02-27 18:50:00 UTC

seo analytics admin

Публичные аналитические фиды JSON/CSV

Добавили daily-выгрузки аналитики рынка и каналов в машинных форматах для внешних интеграций.

Дата / Время: 2026-02-27 18:40:00 UTC

feeds analytics backend

Публичные страницы Market Pulse и Channels

Собрали витрины индексов рынка и качества каналов на данных Telegram-парсинга.

Дата / Время: 2026-02-27 18:35:00 UTC

frontend analytics seo

Hourly pipeline + Telegram summary

Настроили часовой systemd-проход: ingest -> AI-review -> publish -> rollups + итоговый отчет в Telegram.

Дата / Время: 2026-02-27 18:30:00 UTC

parsing ai monitoring backend

Добавлены Contact / Privacy / Terms

Собрали базовые юридические и контактные страницы и подключили в общий footer.

Дата / Время: 2026-02-27 17:55:00 UTC

frontend seo