How I Got the Miami Beach Journal Into Google News
An SEO audit found no RSS feed, no news sitemap, and missing meta tags on listing pages. Three gaps that kept the site invisible to news aggregators.
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.
Built while working on Miami Beach Civic Journal.
Back to danielships ->