{
  "tool": "check-astro-seo.mjs",
  "testedAt": "2026-10-13",
  "node": "v24.19.0",
  "negativeFixture": {
    "pages": 4,
    "injectedFaults": [
      "/b: sitemap entry without lastmod",
      "/b: canonical with trailing slash",
      "/b: noindex page in sitemap",
      "/b: missing meta description",
      "/b: two h1 elements",
      "/b: Organization @id fully defined twice",
      "/b: img without alt",
      "/b: broken internal link",
      "/c: no h1",
      "/c: invalid JSON-LD",
      "/missing: sitemap URL with no built file",
      "/a and /b: duplicate title"
    ],
    "injectedCount": 12,
    "detectedCount": 12,
    "cleanControlPage": "/a passed with no issues",
    "exitCode": 1,
    "output": {
      "site": "https://example.com",
      "dist": "fixture/dist",
      "sitemapFiles": 1,
      "sitemapUrls": 4,
      "pagesWithIssues": 3,
      "duplicateTitles": [
        {
          "title": "Page A",
          "urls": [
            "https://example.com/a",
            "https://example.com/b"
          ]
        }
      ],
      "duplicateDescriptions": [],
      "issues": [
        {
          "loc": "https://example.com/b",
          "issues": [
            "sitemap entry has no lastmod",
            "canonical https://example.com/b/ differs from sitemap URL",
            "noindex page listed in sitemap",
            "missing meta description",
            "2 <h1> elements",
            "https://example.com/#org fully defined 2 times in JSON-LD",
            "<img> without alt: /y.png",
            "internal link target not in build: /nope"
          ]
        },
        {
          "loc": "https://example.com/c",
          "issues": [
            "0 <h1> elements",
            "JSON-LD does not parse: Expected double-quoted property name in JSON at position 17 (line 1 column 18)"
          ]
        },
        {
          "loc": "https://example.com/missing",
          "issues": [
            "no built HTML file for this sitemap URL"
          ]
        }
      ],
      "notChecked": "Live HTTP status, redirects, robots.txt rules, JavaScript-rendered content, Schema.org vocabulary, rich-result eligibility, page speed and rankings."
    }
  },
  "marsentechBuild": {
    "astro": "7.3.2",
    "@astrojs/sitemap": "3.7.4",
    "sitemapUrls": 68,
    "pagesWithIssues": 0,
    "duplicateTitles": 0,
    "duplicateDescriptions": 0,
    "exitCode": 0,
    "note": "Run against the production build of www.marsentech.com deployed on 13 October 2026 (Batch A)."
  },
  "limits": "Live HTTP status, redirects, robots.txt rules, JavaScript-rendered content, Schema.org vocabulary, rich-result eligibility, page speed and rankings."
}
