Справочная информация: мне было поручено внедрить файлы Sitemap для поисковых систем для веб-сайта, работающего на Sling. На сайте есть несколько сайтов, ориентированных на конкретную страну, и для каждой конкретной страны сайты могут иметь несколько локализаций - например, http://ca.example.com/fr будет французско-локализованной версией канадского сайта и будет отображаться в/content/ca/fr. Я не могу изменить эту структуру контента, и, к сожалению, узлы страны и локализации имеют одинаковые sling:resourceType
. Кроме того, административные типы хотят иметь sitemap.xml для каждой пары страны/локализации, а не по одному для каждого сайта страны.Может ли Sling обрабатывать «виртуальные ресурсы»?
Создание файлов Sitemap - это легкая задача, для моей проблемы нужен узел «sitemap» для каждой пары страны/локализации - из-за того, что добавлены узлы стран и локализаций (и они имеют один и тот же тип ресурса) t в настоящее время думаю о хорошем автоматическом способе добавления узла sitemap.
Было бы хорошо, если бы я мог каким-то образом определить «виртуальный ресурс», который сопоставляет запросы для /{country}/{localization}/sitemap.xml к скрипту обработки; Я просматривал и столкнулся с ResourceProvider
и OptingServlet
, но они, похоже, довольно сосредоточены на абсолютных путях - или добавление селекторов к существующему ресурсу, что для меня не похоже.
Любые идеи, если есть более или менее чистый способ справиться с этим? Добавление новых стран/локализаций происходит не каждый день, но добавление узла «sitemap» вручную по-прежнему не является оптимальным решением.
Я рассматриваю вопрос о том, может быть, лучше иметь запущенную службу, которая обновляет sitemaps X раз в день и генерирует узлы sitemap.xml в качестве простых файловых ресурсов в JCR вместо того, чтобы включать в себя преобразователь Sling ... но прежде, чем идти по этому пути, я хотел бы некоторые отзывы :)
EDIT:
Оказывается, требования изменились, и теперь они хотят Sitemaps быть настраиваемыми в локализацию - делает мою работу легче, и Мне не придется работать против Sling :)
Лучше работать * с * в рамках, чем * против * это. Мы действительно на CQ, спасибо за намек на проект - не уверен, что он будет работать с нашей конкретной настройкой, но слишком поздно менять общий макет :) – snemarch