Fix recipe image not being saved/processed
Notes
Tiramisu recipe was saved without an image (image_url is null in DB). WordPress blogs without og:image meta tag cause Firecrawl to return metadata.ogImage = null, so archiveImage is never called. Fix: add extractFirstImage(html) fallback in the Firecrawl path.