superinteractive/super-structured-data
A Laravel package for adding schema.org structured data (JSON-LD) to models and pages, simplifying SEO-friendly markup for rich search results without hand-writing scripts.
This package extends Statamic with multisite-aware behavior; v2.2.0 is a compatibility hotfix aimed at installs running more than one site, so treat it as the baseline version for any multisite project.
composer require (check the constraint picks up ^2.2), then publish config if the package ships one: php artisan vendor:publish --tag=<package>-config.php artisan statamic:stache:clear, php artisan cache:clear, php artisan config:clear. Stale Stache indexes are the most common cause of "the hotfix didn't apply" reports.sites or resolved per-site (URLs, locales, driver/handle mappings). That is where the multisite behavior is configured and where this release changed expectations.config/statamic/sites.php, and verify the package resolves the correct site context for both. If both sites return identical output, the hotfix is not active (see Gotchas).If you were on 2.0/2.1 in a multisite install, read the changelog and diff your published config against the new stub before upgrading — hotfix releases in this space frequently assume a refreshed config.
Per-site resolution in content pipelines. The core daily workflow is letting the package resolve the current site rather than hardcoding a handle. Bind site context near the request boundary (middleware or a scoped service) and let downstream code read it, so the same Blade partial, Antlers template, or API transformer works across sites.
Multi-site loops for build/export jobs. When generating sitemaps, feeds, search indexes, or static exports, iterate Site::all() and explicitly set the site for each pass. Do not rely on ambient request state inside queued jobs — a job has no request, and the "current site" defaults can silently collapse everything onto the default site.
Cache keys must include the site handle. Any custom caching you layer on top needs site:handle in the key. The multisite compatibility fix changes how site context is derived, not how your cache keys are built — a key that omits the site will still leak content across sites after upgrading.
Testing pattern. Use Statamic's multisite test helpers to assert behavior per site in a single test class: one test per site against the same fixture, plus one test asserting the two sites return different output. That last assertion is what catches regressions where the package quietly resolves everything to the default site.
Integration with localized routing. If you serve sites on separate domains or subdirectories, confirm route generation and asset/URL helpers run inside the resolved site context. Wrap CLI commands (custom artisan commands that touch content) in an explicit site scope, since there is no request to infer from.
composer.json pins ~2.1.0. Confirm the resolved version with composer show before debugging behavior.How can I help you explore Laravel packages today?