Commit Graph

3 Commits

Author SHA1 Message Date
8d548bdc9d fix(av-beat): skip_rewrite passthrough — Mike Nann (Writeturn) now publishes verbatim w/ noindex
Mike Nann's distribute.users record has skip_rewrite=true (set when task
#19 added the column). distribute-rmp's submit route forwards the flag
in its payload (task #20). BB's receive route handles it (task #21).
AV Beat's receive route was missing the branch entirely AND was writing
to .schema('bb') instead of 'av' — a copy-paste bug from when this file
was cloned from BB. So every Mike Nann submission to AV Beat was either
landing in BB's schema (wrong) or trying to and failing.

Fixed in this commit:

src/app/api/submission-receive/route.ts
  • .schema('bb')  →  .schema('av')   (the copy-paste bug)
  • Added skip_rewrite branch: when payload has skip_rewrite=true,
    insert straight into av.wp_imported_posts with status=published,
    noindex=true, and the contributor's firm/contact_name as byline.
    Skips the native_articles → AI-rewrite path entirely. Mirrors BB's
    pattern exactly. Audit row still written to original_submissions.

src/lib/articles/types.ts
  • Article.noindex?: boolean — surfaces the DB column to the renderer.

src/lib/articles/legacy-source.ts
  • SELECT_COLS adds noindex
  • ImportedPostRow gains noindex field
  • rowToArticle propagates !!row.noindex

src/app/news/[slug]/page.tsx + src/app/articles/[slug]/page.tsx
  • generateMetadata: when article.noindex, set robots = no-index +
    no-follow + nocache + googleBot no-image-index + other meta key
    "googlebot-news": "noindex". Matches BB's pattern.

src/app/news-sitemap.xml/route.ts
  • Adds .or('noindex.is.null,noindex.eq.false') so passthrough rows
    don't pollute the Google News sitemap.

src/app/rss/route.ts
  • Filters out a.noindex before emitting items.

Mike's existing user record is already flagged (DB verified), so the
moment this deploys + he submits, the next press release publishes
verbatim, gets noindex on every Google/social surface, and shows up
on the AV Beat news index without going through the AI rewrite job.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-05 14:32:04 +00:00
Ryan Salazar
d67a2bd48d AV Beat rebrand: theme swap (orange #E67E22 / near-black), logo, schema default → avb
- public/assets/images/logo.png + public/brand/logo*.png replaced with the 1320x310 AV Beat logo
- public/assets/logos/avbeat.png added as the canonical source
- tailwind.config.js + src/styles/tailwind.css + src/styles/redesign-tokens.css palette swapped (primary #0F0E0E, secondary #1D1A1A, accent #E67E22 orange, foreground #F0EBE6 warm white)
- Layout / robots / sitemap / home-page / about / contact / press-kit / team / global-error metadata switched to AV Beat (Where AV Meets IT)
- Bulk replaced 'Broadcast Beat'/'BroadcastBeat.com'/'broadcastbeat.com' across user-facing news/forum/marketplace/advertise/search/newsletter pages
- src/lib/supabase/{admin,server,client} now default to schema 'avb' (was 'bb') — overridable via NEXT_PUBLIC_SUPABASE_SCHEMA
- package.json renamed to 'avbeat'
- Single d60701 reference in about/team swapped to E67E22

Design-only replica — no article content migrated.
2026-06-01 15:30:16 +00:00
Ryan Salazar
107840c5f3 google news phase 1
- Homepage / Industry News query filters wp_imported_posts to
  ai_rewritten_at IS NOT NULL so raw press releases never surface on
  the editorial feed (NewsArticle JSON-LD was already in place).
- New /news-sitemap.xml route emits a Google News sitemap covering
  rewritten editorial published in the last 48 hours, with
  news:publication + news:publication_date + news:title + keywords.
- robots.ts now points crawlers at both sitemap.xml and
  news-sitemap.xml.

After deploy, submit broadcastbeat.com to Google News Publisher Center
to start serving in News.
2026-05-25 17:03:19 +00:00