# Mold After Water Leak: Detection & Prevention (2026)

**Slug:** `mold-after-water-leak`
**Bundle generated:** 2026-05-04
**Batch ID:** `batch-ui-2026-05-04-xwgz`
**Word count:** 3145
**Scorecard:** 29/30
**Author:** Mike Nguyen (Chief Scientist, slug: `mike-nguyen`)
**Local places:** Fast Mold Testing - San Francisco Bay Area, Fast Mold Testing - Sacramento, Fast Mold Testing - New York, Fast Mold Testing - Atlanta, Fast Mold Testing - Denver

---

## Files in this bundle

| File | Purpose |
|---|---|
| `mold-after-water-leak.json` | FMT post payload — matches `post.template.jsonc` schema plus FMT-specific `author` + `places` fields. Pipe directly to the MCP `createBlogPost` tool. |
| `mold-after-water-leak_feature_image.jpg` | Hero image, 1200x630, ~341KB. Upload alongside `mold-after-water-leak.json`. |
| `README.md` | This file. |

---

## What's new in this bundle (vs prior batches)

Two FMT-specific additive fields beyond `post.template.jsonc`:

- **`author`** (object): full author profile — name, jobTitle, bio, credentials, image (full https URL), sameAs, knowsAbout — sourced from the `/about` team. Use this to render bylines with photo + credentials and emit Person JSON-LD per post.
- **`places`** (array): one LocalBusiness JSON-LD object per service-area city mentioned in the article. Drop each entry into a `<script type="application/ld+json">` tag in the post page `<head>`.

Existing FMT `createBlogPost` ignores unknown fields, so these are safe to ship alongside the current 13-field shape. Full integration spec for the FMT engineering team: see `FMT_BLOG_EDITOR_SPEC.md` at the bundle root (also lives in the repo at `clients/fast-mold-testing/data/brand-setup/FMT_BLOG_EDITOR_SPEC.md`).

---

## Upload to FMT

### Option A — MCP `createBlogPost` (recommended)

```
/mcp:createBlogPost --post mold-after-water-leak.json --hero mold-after-water-leak_feature_image.jpg --published false
```

The post lands as a draft. QA, then promote with `--published true`.

### Option B — manual paste into FMT CMS

| FMT CMS field | Source |
|---|---|
| Title | `mold-after-water-leak.json` → `title` |
| Excerpt | `mold-after-water-leak.json` → `excerpt` |
| Body HTML | `mold-after-water-leak.json` → `content` |
| Categories | `mold-after-water-leak.json` → `categories` |
| Tags | `mold-after-water-leak.json` → `tags` |
| Author | `mold-after-water-leak.json` → `author.slug` (Firestore doc ID) or `authorName` (fallback) |
| FAQs | `mold-after-water-leak.json` → `faqs[]` |
| Hero image | upload `mold-after-water-leak_feature_image.jpg` |
| Person JSON-LD | render from `mold-after-water-leak.json` → `author` (name, jobTitle, bio, image, knowsAbout) |
| LocalBusiness JSON-LD | render each entry in `mold-after-water-leak.json` → `places[]` |

---

## Article context (operator-facing)

- **Target keyword:** `mold after water leak`
- **Cluster:** `water-damage-emergency`
- **Persona:** sarah
- **Funnel stage:** —
- **Search volume estimate:** ~1300/mo
- **Audit gap addressed:** —

### Cannibalization notes

Storm-season query peaks May-July; converts to booking

---

## Pre-publish QA checklist

- [ ] Title reads naturally (no "(2026)" stripped artifact)
- [ ] Excerpt is 150-160 chars (FMT truncates at 160 in SERPs)
- [ ] Hero image is the FMT-style version (calming/clinical, not generic)
- [ ] Tables are ≤ 3 columns and ≤ 4 data rows
- [ ] FAQ structure renders as accordion in FMT preview (and is NOT also rendered inline from content)
- [ ] Lead-magnet `<aside class="callout-banner">` block is present + links to a live FMT page
- [ ] Internal links in body resolve (no 404s)
- [ ] Categories are valid FMT enum values
- [ ] Author resolves to a real `/about` person matching this article's cluster (verify in FMT_BLOG_EDITOR_SPEC.md)
- [ ] `places[]` includes any service-area cities mentioned in body — if any are missing, refresh `locations-directory.json` via `bin/sync-locations.py`
