Задача: Добавить принудительное и автоматическое обновление транслитерации URI Concept

Добавить принудительное и автоматическое обновление транслитерации URI Concept

27.08.2026fi1osof.ru

Добавить кнопку ручного обновления транслитерации Concept и автоматически поддерживать ЧПУ при создании/обновлении контента.

Контекст

Архитектурный источник истины: Система человекопонятных URI в haih-agent сохраняет стабильность адресов и SEO-сигналы.

На fi1osof.ru Concepts становятся основными публичными SEO/GEO-страницами. ЧПУ должны системно соответствовать актуальному названию/содержанию Concept и не зависеть от того, вспомнил ли пользователь вручную обновить URI.

Что нужно сделать

1. Кнопка принудительного обновления транслитерации

В интерфейсе редактирования Concept добавить явное действие, например «Обновить URI / транслитерацию».

Оно должно:

  • пересчитать человекопонятный URI по актуальному правилу slugify/transliteration;
  • показать/применить новый URI;
  • использовать общую механику смены URI, чтобы старый адрес сохранился через 301;
  • корректно обработать collision нового URI.

Это нужно для уже существующих Concepts и случаев, когда требуется явно пересобрать старый или неудачный slug.

2. Автоматическая транслитерация при create/update

При создании Concept URI должен автоматически формироваться из актуального name по общей логике ЧПУ.

При обновлении Concept нужно автоматически выполнять актуализацию транслитерации/slug в тех случаях, когда изменилось название или другое поле, от которого зависит URI.

Не дублировать алгоритм slugify на frontend: использовать общую серверную функцию haih-agent.

При изменении URI обязательно должна использоваться существующая механика old URI → 301 → new URI.

Важно не создавать бесконечную churn-механику: если рассчитанный URI совпадает с текущим, ничего не менять.

SEO-смысл

Название Concept — один из главных семантических сигналов страницы. URI должен отражать актуальную тему, чтобы:

  • ключевые слова присутствовали в URL;
  • новые Concepts сразу создавались с ЧПУ вместо CUID;
  • переименованный Concept не оставался навсегда со старым бессмысленным slug;
  • canonical URL и внутренние ссылки оставались согласованными;
  • старые адреса сохраняли накопленные сигналы через 301.

Критерии приемки

  • В редакторе Concept есть кнопка принудительного пересчета URI/транслитерации.
  • При создании Concept ЧПУ формируется автоматически.
  • При изменении name URI автоматически приводится к актуальному slug по согласованному правилу.
  • Используется серверная общая slugify/transliteration логика haih-agent.
  • При смене URI автоматически создается/используется 301 со старого адреса.
  • Повторное сохранение без изменения целевого slug не меняет URI.
  • Collision нового URI обрабатывается безопасно и явно.
  • Добавлены regression-тесты на create, rename, forced refresh, unchanged slug и collision.