SEO, blog expansion, CI hardening, and marketing updates
- Marketing site: raster Open Graph images under public/og/ with per-route previews on key pages; blog posts include a post-article CTA to signup and pricing.
- Blog: published seven guides (positive replies, review request systems, competitor reviews, professional services, review schema, cost of unanswered negatives, franchise reputation); internal links between posts; homepage hero links to each under Recent on the blog.
- Landing pages: Birdeye alternative and All reviews in one place updates, including reputation-management language for paid search alignment.
- Product copy: Yelp Fusion limits and reply expectations clarified across marketing and in-app (Getting Started, Reviews, Account; pricing FAQ). Yelp Partner OAuth token moved under an advanced, collapsible section on Account.
- Database: Row Level Security enabled on ReferralCredit and OnboardingEmailLog via Prisma migration (run prisma migrate deploy on production if not already applied).
- CI: fixed TypeScript on Yelp partner details element; npm package overrides so npm audit passes at moderate level in GitHub Actions.
- Developer hygiene: .claude/ added to .gitignore to avoid duplicate test discovery from local Claude worktrees.