Addon [Soft-Solid] - JSONLD, GEO, AEO structured data and llms.txt for AI search

An add-on for CS-Cart Store Builder and Multi-Vendor that generates Schema.org structured data in JSON-LD format and publishes an llms.txt file for AI bots. A standard installation describes only a part of the store in machine-readable form, so Google builds rich results from incomplete data and AI assistants (ChatGPT, Claude, Perplexity, Gemini) have to work the rest out from HTML. The add-on fills that gap from the admin panel, without touching storefront templates.

Key Features

  • OnlineStore with full company data, WebSite with SearchAction, Product with Offer and OfferShippingDetails, BreadcrumbList, CollectionPage with ItemList on categories, WebPage on CMS pages and Article on the blog. Pages, categories and articles are tied to the WebSite and to the store entity by @id, so parsers read one graph instead of unconnected fragments.

  • Brand and manufacturer are taken from two separate product features; GTIN and MPN come from features as well, while OEM approvals and technical specifications are emitted as additionalProperty. When you do not map a separate manufacturer feature, the manufacturer falls back to the brand value.

  • One MerchantReturnPolicy definition covering the standard return window, the consumer withdrawal and the warranty return for defective goods. It is embedded in every offer rather than left in a separate script, because that is what merchant listings read reliably. If the ss_withdrawal add-on is active, the return window comes from its configuration instead of the local field.

  • ProductGroup (isVariantOf) linking CS-Cart variants by a shared productGroupID, and FAQPage generated from product data. Both are switches and both are off after installation; ProductGroup needs the core Product Variations add-on, FAQPage needs either an OEM approvals feature group or the csc_faq add-on.

  • An llms.txt file in the llmstxt.org format, with categories, blog articles and contact data. On a single storefront it is written as a static file in the document root and served by the web server, with no PHP in the way. Multi-storefront installations get separate content per storefront, each in its own language, served per domain. On CS-Cart 4.20.1 and newer the add-on becomes the source of that content and takes over what the native llms.txt screen would otherwise hold.

  • A static catalog feed at /catalog-feed.json with prices and availability, plus an optional A2A endpoint with an /.well-known/agent-card.json card for AI agents that want to query the catalog directly. The endpoint is off by default; exposing it stays a deliberate decision.

  • A built-in validator that fetches a real storefront URL and checks the emitted schemas, with optional semantic validation by a Claude or OpenAI model using your own API key.

  • A diagnostic dashboard with configuration completeness, product-data quality statistics and a setup guide filtered by the active theme, including the UniTheme2 duplicate warnings for BreadcrumbList, Article and Organization.

Configuration starts with the company details. Name, description, logo with its dimensions, e-mail, opening hours and the tax ID feed the OnlineStore entity, and the store type switch decides whether the shop is described as an online store only or also as a physical Store with geo coordinates. The description is a language variable, so multilingual stores describe themselves once per language and both JSON-LD and llms.txt follow.

The product part is driven by feature IDs. You point the add-on at the features holding brand, manufacturer, GTIN/EAN, MPN, OEM approvals and technical specifications, and it maps them onto the Schema.org properties. Brand and manufacturer stay in separate fields on purpose, because in technical catalogs the selling brand and the actual producer are rarely the same company.

Returns have their own section, because merchant listings ask for more than a single number of days. The add-on describes the standard return, the consumer withdrawal and the warranty return for defective goods as one policy definition, which then travels inside every offer.

The llms.txt section builds the file that describes the store to language models, in the llmstxt.org format that the AI labs themselves publish and that Lighthouse audits for. You choose which supporting pages and how many blog articles go in, then generate the file by hand or leave it to the cron command shown on the same screen. The panel keeps the status of the published file in view, so you know whether it is fresh or two weeks old. On a single storefront the file lands in the document root, so that directory has to be writable.

Markup that nobody verifies is markup that quietly breaks after a theme update. The built-in validator fetches a chosen storefront URL, lists every schema it finds with its own status, and reports missing or malformed fields. The same screen links out to Google Rich Results, validator.schema.org and the Facebook and LinkedIn inspectors with the URL already filled in.

Structured data is only as good as the catalog behind it, so the dashboard also measures the data itself. It shows what share of products carry a brand, GTIN, MPN, description and image, and lists the products with the biggest gaps with a direct link to each product page. On a large catalog this is usually the fastest way to find out why rich results are not showing up.

The end result on the storefront side is a plain file at /llms.txt: the company description, category tree, blog articles and contact details in Markdown. Next to it the catalog feed at /catalog-feed.json exposes products with prices and availability, read in storefront context, so disabled products and products limited to B2B groups are not exported.

Features:

  • no core files are modified; the add-on works through hooks and its own templates
  • Multi-Vendor and Ultimate aware, with vendor-level settings and separate vendor permissions
  • Smarty 3, Smarty 4 and Smarty 5
  • templates for the Responsive theme; UniTheme2 is recognized and gets its own setup warnings
  • suppression of duplicate markup coming from the core SEO add-on and from the native Organization and BreadcrumbList in newer CS-Cart releases

Please, do not hesitate contact us if you have any additional questions.

Link to addon

See our other addons in Marketplace

Team SoftSolid