Marsen JSON-LD implementation example — tested 6 September 2026 1. In a NEW empty directory, create package.json containing: {"type":"module","scripts":{"build":"astro build"},"dependencies":{"astro":"7.2.2"}} 2. Create src/pages/. Save index.astro.txt there as index.astro, and put organization.json beside it. Save check-jsonld.mjs in the project root. 3. Run npm install, npm run build, and node check-jsonld.mjs dist/index.html. Use a Node.js version supported by Astro 7 (our test used Node 26.7.0). 4. Open the generated dist/index.html. Paste its complete source into https://validator.schema.org/ using Code snippet, then Run test. 5. Use https://search.google.com/test/rich-results in code mode to inspect supported Google features separately. Test your public URL after deployment. This fixture is not a replacement for the Marsen homepage. It is distributed as source and text output, not a public HTML page. For a real page, use your own truthful data and production indexing rules. The initial noindex fixture was blocked by Google's test; rich-results-noindex.png records that failed test. Evidence: - generated-page.html.txt: actual isolated Astro 7.2.2 production build output. - test-results.json: actual automated results, scope and time. - schema-validator.png: Schema Markup Validator screenshot for that output. - rich-results.png: Google Rich Results code-test screenshot for that output. The duplicate checker flags full definitions with @type and the same @id. It does not identify every semantic duplicate, inspect microdata or runtime-added scripts, validate vocabulary, or guarantee indexing or search appearance.