- poprawiono regex-y do czyszczenia mark-upu Json LD z plików modułów
Найважливіші функції модуля
Єдиний граф JSON-LD і контроль опублікованих сутностей
- Єдиний документ JSON-LD. Модуль складає увімкнені дані в один граф Schema.org з
@contextі@graph, замість створювати окремий фрагмент JSON для кожного типу даних. - Зв’язки через
@id. Сутності можуть посилатися одна на одну, наприклад пропозиція товару на організацію, а сторінка — на сайт і навігаційні крихти. - Генерування на боці PHP. JSON будується класом модуля і кодується через
json_encode(); шаблон отримує готову розмітку. - Рендеринг після підготовки сторінки. Модуль використовує
displayFooter, щоб мати доступ до даних видимого списку товарів і питань FAQ, переданих до Smarty. - Незалежні перемикачі. Organization, LocalBusiness, Product, BreadcrumbList, WebSite, WebPage, CheckoutPage, ContactPage, SearchResultsPage, Article, CollectionPage і FAQPage вмикаються незалежно.
Organization, OnlineStore і комерційні дані
- Тип організації. Можна налаштувати сутність як
OnlineStore,OnlineBusiness,Organization,CorporationабоStore. - Джерело даних компанії. Назва, адреса і контакт можуть використовувати налаштування магазину PrestaShop або значення, введені вручну в модулі.
- Ідентифікація суб’єкта. Модуль підтримує, зокрема, юридичну назву, альтернативні назви, опис, логотип, зображення, адресу, e-mail, телефон, профілі
sameAs, ІПН, VAT ID, код ISO 6523, GLN і дату заснування — якщо дані будуть заповнені. - Контактні точки. У розширеній конфігурації можна додати повторювані канали зв’язку з типом контакту, телефоном, e-mail, мовами й зоною обслуговування.
- Комерційні умови. Для організації можна налаштувати правила повернення, служби доставки та рівні програми лояльності. Дані публікуються лише тоді, коли адміністратор надасть повні, правдиві значення.
LocalBusiness для стаціонарних точок і локального обслуговування
- Одна точка або багато філій. Базові поля створюють сутність LocalBusiness за замовчуванням, а повторюваний список філій дозволяє опублікувати окремі сутності зі стабільними ідентифікаторами.
- Адреса і локальні дані. Для локації можна вказати тип діяльності, назву, бренд, адресу, телефон, e-mail, адресу сторінки, код філії, ціновий діапазон, зону обслуговування, прийняті способи оплати та валюти.
- Координати і карта. Доступні поля широти та довготи, адреси карти й адрес зображень.
- Стандартні та особливі години. Модуль підтримує години роботи за днями тижня, а також рядки з діапазоном дат для сезонного або виняткового графіка.
- Валідація адреси. Для вручну налаштованої активної локації потрібні повні адресні дані: вулиця, місто, поштовий індекс і дволітерний код країни ISO.
Товар, пропозиція і варіанти
- Product або ProductGroup. Товар без доступних варіантів отримує сутність
Product; товар із доступними комбінаціями може бути описаний якProductGroupіз сутностямиhasVariant. - Дані, отримані з PrestaShop. Модуль використовує назву, опис, категорію, зображення, артикул SKU, MPN, EAN-13, UPC, виробника, вагу, розміри, ціну, валюту, наявність і стан товару — коли вони доступні та застосовні.
- Пропозиції, залежні від можливості купівлі. Сутність
Offerдодається лише тоді, коли каталог не працює в режимі каталогу, товар можна замовити і ціна видима на сторінці товару. - Варіанти з власною адресою. Кожен опублікований варіант отримує зв’язок із комбінацією PrestaShop; коли генератор URL повертає одну канонічну адресу, модуль додає параметр
id_product_attribute. - Мапування характеристик варіанта. Групи атрибутів можна призначити властивостям, таким як колір або розмір, а інші осі варіантів передаються як
additionalPropertyз публічною назвою атрибута. - Дані, що розширюють товар. Розширена конфігурація дозволяє мапувати характеристики товару на властивості, матеріал, візерунок, сертифікати та енергетичні дані. Модуль також передає ціну за одиницю, коли дані одиниці та коефіцієнта в товарі дозволяють її обчислити.
- GTIN і фото. Builder перевіряє правильність довжини та контрольної цифри GTIN, а дані зображень товару охоплюють доступні зображення товару, а не лише обкладинку.
- Межа кількості варіантів. Ліміт за замовчуванням становить 100 комбінацій на магазин, а абсолютний технічний ліміт — 250. Після його перевищення модуль не будує розширений
ProductGroupз усіма варіантами, щоб не роздувати відповідь сторінки. - Доставка і повернення. Можна передати деталі доставки та політику повернення на рівні організації або ввімкнути окреме перевизначення для пропозицій товару.
Сторінки, контент і видимі елементи магазину
- BreadcrumbList. Модуль будує навігаційні крихти з видимої навігації, а коли вони недоступні, застосовує підтримку сторінок товару, категорії, виробника, постачальника, CMS і розпізнаних сторінок блогу.
- WebSite на головній сторінці. Сутність
WebSiteпублікується для головної сторінки магазину після її ввімкнення. - WebPage і спеціальні сторінки. Модуль створює
WebPageз типом, підібраним до поточного контролера, а окремі перемикачі підтримуютьCheckoutPage,ContactPageіSearchResultsPage. - Article. Інтеграція стосується записів із
ph_simpleblogіsmartblog; може передавати заголовок, опис, зображення, дати та автора, видимого на сторінці. - CollectionPage. Для списків категорії, виробника, постачальника, новинок, акцій і бестселерів модуль будує список видимих товарів. Ліміт позицій налаштовується від 1 до 200, за замовчуванням 50.
- FAQPage з контенту, видимого користувачеві. Питання та відповіді отримуються виключно з даних, переданих поточною відрендереною сторінкою під ключами
pd_faqs,product_faqsабоfaqs.
Панель адміністратора і підтримка даних
- Робоча область і попередній перегляд. Панель модуля групує налаштування схем і містить попередній перегляд згенерованого JSON-LD на основі поточної конфігурації.
- Контроль збереження. Модуль валідує, зокрема, обов’язкові дані ручної організації, e-mail, коди країн, HTTP(S)-адреси, числові діапазони, години, повторювані рядки та конфігурацію доставки й повернень.
- Multistore. Конфігурація зберігається в контексті магазину; кожен магазин може публікувати власні дані компанії, локації та комерційні дані.
- Видалення старішого JSON-LD. Інструменти модуля можуть створити резервну копію та видалити виявлені старіші фрагменти JSON-LD з файлів теми або модулів, а потім відновити вибрані дані з архіву.
Значення для SEO і GEO — без необґрунтованих обіцянок
JSON-LD передає пошуковим системам і системам обробки даних структуровану інформацію про магазин, компанію, товари, локації та видимий контент. Для GEO важлива узгодженість назв, адрес, контактів, зон обслуговування і профілів із реальними даними підприємства; модуль не заповнює їх за адміністратора і не перевіряє їхню правдивість поза валідацією формату. Структуровані дані не замінюють якість сторінки, доступність контенту, індексацію, політику пошукової системи чи конфігурацію Google Search Console. Результат слід перевіряти на опублікованій сторінці конкретного магазину після ввімкнення відповідних сутностей і заповнення даних.
Важливі межі роботи
- Модуль не надсилає дані до Google, не заявляє адреси до індексу і не примушує до розширених результатів.
- Він не керує контентом FAQ. Файл
faq.jsonє матеріалом для імпорту питань і відповідей; сам модуль Schema.org не зчитує його безпосередньо під час генерування сторінки. FAQPage,CollectionPageіArticleзалежать від даних, фактично доступних на поточній сторінці, та від підтримуваних інтеграцій.- Нестандартна тема або модуль, який не викликає
displayFooterабо не передає видимі дані до Smarty, потребує перевірки в конкретному магазині. - Версія 1.3.6 декларує сумісність із PrestaShop 1.7.0.0–9.99.99; середовище PHP водночас має відповідати вимогам використовуваної версії PrestaShop.
Посилання на демо модуля:
Демо панелі адміністратора:
https://moduly-prestashop.eu/znaczniki-rozszerzone/admin-dev
Демо фронтальної панелі:
https://moduly-prestashop.eu/znaczniki-rozszerzone
Перевірка коректності роботи структурованих даних:
https://validator.schema.org