The Miami Beach Journal had solid article pages -- proper Open Graph tags, structured data, a sitemap. But an SEO audit found three critical gaps keeping the site invisible to Google News and other aggregators.

Gap 1: No RSS Feed

RSS feeds are how news aggregators discover new articles. Google News, podcast apps, email digest services -- they all rely on RSS. I had no feed at all.

// FeedController.php
public function index(): Response
{
    $articles = Article::published()
        ->with(['author', 'category', 'tags'])
        ->orderBy('published_at', 'desc')
        ->limit(50)
        ->get();

    return response(view('feed.rss', ['articles' => $articles])->render(), 200)
        ->header('Content-Type', 'application/rss+xml; charset=UTF-8');
}

The feed includes the 50 most recent articles with titles, summaries, authors, categories, and publication dates. I also added RSS autodiscovery tags to every page so feed readers find it automatically:

<link rel="alternate" type="application/rss+xml"
      title="Miami Beach Journal" href="/feed">

Gap 2: No Google News Sitemap

Google News requires a specialized sitemap format with publication name, language, and date -- standard sitemaps don't cut it. I built a dedicated news sitemap that includes articles from the last 48 hours (Google News's indexing window) and regenerates every 15 minutes via Laravel's scheduler.

<news:news>
  <news:publication>
    <news:name>Miami Beach Civic Journal</news:name>
    <news:language>en</news:language>
  </news:publication>
  <news:publication_date>2026-03-25T14:00:00+00:00</news:publication_date>
  <news:title>Commission Approves Collins Avenue Development</news:title>
</news:news>

Gap 3: Missing Meta Tags on Listing Pages

Article pages had excellent markup, but the articles listing page, category pages, and tag pages were missing meta descriptions and Open Graph tags entirely. Sharing a link to the Government category on Facebook showed a generic preview instead of a rich description.

Every public page now has proper title tags, meta descriptions, canonical URLs, Open Graph tags, and BreadcrumbList structured data. Google can display navigational paths like "Home > Government > Article Title" instead of raw URLs.

The Result

These changes are invisible to readers -- and that's the point. Good SEO is infrastructure. When someone searches for Miami Beach news, original reporting is more likely to surface. When articles are shared on social media, they display attractive previews. And when news aggregators scan for local Florida news, the Journal is in the mix.