Skip to content

Web API SEO-блок: отложенное из #567 — TV map, robots по searchable, canonical через makeUrl #703

Description

@biz87

Продолжение #567, который закрывает #599. В #567 и в описании #599 записаны пункты на потом. После закрытия #567 они потеряются, поэтому собраны здесь.

Что осталось

1. Карта TV-полей. В #567 предложена системная настройка ms3_public_seo_tv_map — JSON вида {"title":"tv.seo_title","robots":"tv.robots"}, читать только явно перечисленные TV. В #599 не реализована, в описании PR это сказано прямо.

2. robots по searchable. Сейчас robots всегда index,follow. По #567: если searchable попадёт в allowlist, searchable=0 должен давать noindex,nofollow.

3. Canonical при выключенных friendly URLs. PublicSeoBuilder::absoluteUrl() склеивает базовый адрес и путь строкой: $base . '/' . ltrim($path, '/'). Canonical собирается из site_url и uri. При friendly_urls=0 uri не является рабочим адресом страницы, и canonical получится нерабочим. Вариант — строить адрес через modX::makeUrl() с учётом контекста.

4. include_seo для списков. product/list, category/list и category/tree блок не отдают — в описании #599 это follow-up.

5. og-изображения нескольких размеров из галереи. Тоже follow-up из описания #599, со ссылкой на #566. Проверить, актуально ли после #598.

6. Событие msOnGetPublicSeo. Зарегистрировано в _build/elements/events.php в секции событий товара, хотя вызывается и для категорий. В документации не описано.

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

  • По каждому пункту: реализован или явно отклонён с причиной в этом issue
  • Canonical корректен при friendly_urls=0, либо ограничение задокументировано
  • Событие msOnGetPublicSeo описано в документации

Контекст

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requestpriority: lowНизкий приоритет, когда будет время

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions