Purpose
Updates an AI website with content changes detected bydetect-changes. Uses three parallel Gemini calls (same pattern as onboarding) for consistency and better results.
Architecture
Three Parallel Gemini Calls
| Call | Input | Output | Purpose |
|---|---|---|---|
| 1 | Current llms.txt + changes | Updated llms.txt | AI-readable content |
| 2 | Current homepage + changes | Updated Q&A structure | Homepage + FAQ pages |
| 3 | Current Schema.org + changes | Updated JSON-LD | Structured data |
asyncio.gather() for speed.
Request Body
Takes the output fromdetect-changes:
What Gets Updated
| File | When Updated | Generated By |
|---|---|---|
llms.txt | Content changes detected | Gemini call 1 |
pages/index.js | Content changes detected | Gemini call 2 |
data.json | Content changes detected | Gemini call 3 |
pages/*.js (replicas) | New or changed pages | Deterministic |
sitemap.xml | New or removed pages | Deterministic |
robots.txt | Never (static) | Deterministic |
Efficiency
Onlynew_pages and changed_pages have markdown content (from Firecrawl batch scrape).
unchanged_pages are NOT scraped - they keep their existing hashes.
This means:
- Gemini only processes changed content
- Replica pages only regenerated for changed pages
- Unchanged content is preserved
Response Format
Code Location
Next Step
After update, callsubmit-indexnow with changed_urls to notify search engines.