Сразу хочу попросить сильно не критиковать и не ругать, так как я не кодер, не разработчик, но немного знаю про SEO и слегка разбираюсь в устройстве icms на уровне пользователя, просто поправьте, если в чем-то ошибаюсь.
Instant — прекрасная мощная cms для самых разных проектов, особенно для контентных. Но есть ограничения по использованию микроразметки schema.org с помощью скрипта ld-json. Между тем, много где говорится о косвенной пользе для SEO микроразметки schema.org (на прямую не влияет, но улучшает сниппеты, что повышает CTR, а еще улучшает понимание поисковиками сути страницы, что может влиять и на ранжирование) для специализированных видов контента, например: услуги, новости, блоги, локальный бизнес, отзывы и т.д.
Я хочу на сайте использовать дополнительные бонусы для SEO, которые может давать разметка schema.org, поэтому есть задача встроить разметку в самые разные страницы: главная страница типа контента, категории и подкатегории, контентные страницы.
Оптимально встраивать разметку через скрипт <script type=«application/ld+json»> размещенный в <head>. Можно так же размещать в любом месте <body>, есть еще вариант прописывать вручную разметку schema.org в формате Microdata в html самого контента.
Прописывать вручную в html каждой страницы как Microdata конечно можно, но это неудобно, если есть сотни страниц с разной структурой и набором данных (например специализированные услуги).
Втулить скрипт ld-json в любое место <body> — не вариант, cms не дает такую возможность (поправьте, если ошибаюсь).
Настраивать <head> в icms можно только для всех страниц сайта, что не вариант для сайта с множеством разных видов контента.
И даже если бы было поле для встраивания скрипта ld-json в страницы ТК, для меня это не было бы решением, так как главные страницы ТК и категории у меня не просто структурные элементы, а полноценные страницы, важные с точки зрения SEO, поэтому мне важна разметка в том числе и для главной страницы ТК и для страниц категорий.
Решение вижу в том, чтобы был виджет, который бы встраивал скрипт ld-json в <head> или в <body>, и привязывался бы к наборам страниц, создаваемых в настройках «Виджеты и страницы».
Таких дополнений и доработок на сайте я не нашел. Самое близкое, что нашел — это дополнение «PLMETA — Изменение метатегов», это виджет, который привязывается к наборам страниц и настраивает <head> для них, но он меняет только мета-теги. Вот если бы был подобный виджет, который настраивал бы <head> для набора страниц, добавляя в него нужный код ld-json — то это было бы решением.
Видел доработку для дополнения OpenGraph, которая позволяет встраивать разметку schema.org, но доработка старая, не поддерживается, не известно работает ли.
Поправьте, если в чем ошибаюсь. И напишите, кто знает, какие могут быть другие решения для этой задачи.
UPD Был и остаюсь чайником в Инстанте. Оказалось все просто! Вопрос с разметкой schema.org через ld-json решается штатными средствами системы. Есть тип виджета HTML-блок. Нужно создать страницу в виджетах по нужной маске, и вставить в любое место страницы виджет HTML-блок, в опцию вставить нужный код с разметкой в формате ld+json, c помощью css сделать виджет невидимым. Ну и все. Разметка встраивается в <body>, все работает, вадидаторы микроразметки говорят, что все ок, нужные структурированные данные имеются. Вопрос решен. Всем спасибо за внимание.