{
  "generatedAt": "2025-12-02T00:00:00Z",
  "note": "List of site routes and blog fetch info to help an LLM crawl the site. Dynamic blog posts are served from WordPress; use the provided API URL to enumerate all posts.",
  "jobs": {
    "summary": "Static job postings found under `public/jobs`",
    "files": [
      { "file": "public/jobs/product-marketing-manager-role.md", "routeCandidates": ["/jobs/product-marketing-manager-role", "/careers/product-marketing-manager-role"] },
      { "file": "public/jobs/customer-support-executive-role.md", "routeCandidates": ["/jobs/customer-support-executive-role", "/careers/customer-support-executive-role"] },
      { "file": "public/jobs/marketing-executive-role.md", "routeCandidates": ["/jobs/marketing-executive-role", "/careers/marketing-executive-role"] }
    ]
  },
  "blog": {
    "note": "Blog posts are fetched from WordPress. Use the `wordpress_api` endpoint below to enumerate posts and retrieve each post's slug to crawl them individually.",
    "wordpress_api": "https://public-api.wordpress.com/rest/v1.1/sites/blog.novacrust.com",
    "dynamicPostRoutePattern": "/blog/{slug}",
    "exampleSlugsFromMockData": [
      "getting-started-with-international-payments",
      "virtual-cards-for-online-purchases",
      "usd-accounts-for-african-businesses"
    ]
  },
  "howToUse": {
    "crawlStaticRoutes": "Take each `routes[*].path` and fetch the HTML to index content.",
    "crawlJobs": "Fetch each `jobs.files[*].routeCandidates` (or the canonical route your app exposes) and index the markdown or rendered HTML.",
    "crawlBlogDynamic": "Call the `wordpress_api` posts endpoint to list all posts (paginated), then fetch `/blog/{slug}` for each slug to crawl site-rendered post pages (or fetch posts directly from the API if preferred).",
    "wordpressFetchExample": "GET https://public-api.wordpress.com/rest/v1.1/sites/blog.novacrust.com/posts?number=100&offset=0"
  }
}