Running a news site? Then you need a news sitemap—it's your ticket to appearing in Google News.
Here's the deal: News sitemaps are different from regular sitemaps. They have special tags, strict requirements, and are specifically designed for time-sensitive news content.
This guide is for:
- News publishers
- Online magazines
- Blogs with news sections
- Anyone targeting Google News
I'll show you the exact requirements, how to create a news sitemap, and common mistakes that get sites rejected from Google News.
What is a News Sitemap?
A news sitemap is a specialized XML sitemap that uses the Google News namespace to provide metadata about news articles.
Basic example:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:news="http://www.google.com/schemas/sitemap-news/0.9">
<url>
<loc>https://example.com/news/breaking-story</loc>
<news:news>
<news:publication>
<news:name>Example News</news:name>
<news:language>en</news:language>
</news:publication>
<news:publication_date>2025-11-26T14:30:00Z</news:publication_date>
<news:title>Breaking: Major Development in Tech Industry</news:title>
</news:news>
</url>
</urlset>
Google News Requirements
1. Eligibility Criteria
Your site must:
- Publish original news content
- Have a dedicated news section
- Update regularly (at least weekly)
- Follow Google News content policies
- Have clear authorship and dates
Content policies:
- No hate speech or dangerous content
- No misleading information
- No sexually explicit content
- Proper attribution and sourcing
2. Technical Requirements
News sitemap must:
- Only include articles from last 2 days
- Use the news namespace
- Include publication name and language
- Have accurate publication dates
- Be updated frequently (hourly recommended)
News Sitemap Syntax
Required Elements
Namespace:
xmlns:news="http://www.google.com/schemas/sitemap-news/0.9"
Publication info (required):
<news:publication>
<news:name>Example News</news:name>
<news:language>en</news:language>
</news:publication>
Publication date (required):
<news:publication_date>2025-11-26T14:30:00Z</news:publication_date>
- Must be in W3C format
- Must be within last 2 days
- Should be exact publication time
Title (required):
<news:title>Article Headline Goes Here</news:title>
- Maximum 110 characters (recommended)
- Should match article headline
Optional But Recommended Elements
Keywords/Tags:
<news:keywords>technology, AI, innovation</news:keywords>
- Comma-separated list
- Maximum 10 keywords
Stock tickers:
<news:stock_tickers>NASDAQ:GOOGL, NYSE:AAPL</news:stock_tickers>
- For financial news
- Comma-separated list
Complete Example
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:news="http://www.google.com/schemas/sitemap-news/0.9">
<url>
<loc>https://example.com/news/2025/11/26/tech-breakthrough</loc>
<news:news>
<news:publication>
<news:name>Example Tech News</news:name>
<news:language>en</news:language>
</news:publication>
<news:publication_date>2025-11-26T14:30:00Z</news:publication_date>
<news:title>Major Breakthrough in AI Technology Announced</news:title>
<news:keywords>artificial intelligence, technology, innovation, research</news:keywords>
<news:stock_tickers>NASDAQ:GOOGL, NASDAQ:MSFT</news:stock_tickers>
</news:news>
</url>
<url>
<loc>https://example.com/news/2025/11/26/market-update</loc>
<news:news>
<news:publication>
<news:name>Example Tech News</news:name>
<news:language>en</news:language>
</news:publication>
<news:publication_date>2025-11-26T10:15:00Z</news:publication_date>
<news:title>Stock Market Reaches New High</news:title>
<news:keywords>stock market, finance, economy</news:keywords>
<news:stock_tickers>NYSE:SPY, NASDAQ:QQQ</news:stock_tickers>
</news:news>
</url>
</urlset>
How to Create a News Sitemap
Method 1: Dynamic Generation (Recommended)
Python example:
from datetime import datetime, timedelta
def generate_news_sitemap():
"""Generate news sitemap with last 48 hours of articles"""
cutoff = datetime.now() - timedelta(hours=48)
# Query recent articles
recent_articles = db.query('''
SELECT url, title, published_at, keywords, stock_tickers
FROM articles
WHERE published_at > ?
AND status = 'published'
ORDER BY published_at DESC
''', cutoff)
xml = '<?xml version="1.0" encoding="UTF-8"?>\n'
xml += '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"\n'
xml += ' xmlns:news="http://www.google.com/schemas/sitemap-news/0.9">\n'
for article in recent_articles:
xml += ' <url>\n'
xml += f' <loc>{article.url}</loc>\n'
xml += ' <news:news>\n'
xml += ' <news:publication>\n'
xml += ' <news:name>Example News</news:name>\n'
xml += ' <news:language>en</news:language>\n'
xml += ' </news:publication>\n'
xml += f' <news:publication_date>{article.published_at.isoformat()}Z</news:publication_date>\n'
xml += f' <news:title>{article.title}</news:title>\n'
if article.keywords:
xml += f' <news:keywords>{article.keywords}</news:keywords>\n'
if article.stock_tickers:
xml += f' <news:stock_tickers>{article.stock_tickers}</news:stock_tickers>\n'
xml += ' </news:news>\n'
xml += ' </url>\n'
xml += '</urlset>'
return xml
Method 2: WordPress Plugins
- Automatically generates news sitemaps
- Only includes articles from last 2 days
- Updates automatically
To set up:
- Install Yoast News SEO plugin
- Configure publication name
- Sitemap available at
/news-sitemap.xml
Method 3: Automated Updates
Cron job to regenerate hourly:
0 * * * * /usr/bin/python3 /path/to/generate_news_sitemap.py
Best Practices
1. Only Include Recent Content
Rule: Articles must be from last 2 days
Implementation:
cutoff = datetime.now() - timedelta(hours=48)
articles = Article.query.filter(Article.published_at > cutoff)
2. Update Frequently
Recommended: Every hour Minimum: Every 4 hours
Why: Google News crawls news sitemaps very frequently.
3. Accurate Publication Dates
Use exact publication time:
<news:publication_date>2025-11-26T14:30:45Z</news:publication_date>
Don't:
- Use current time for old articles
- Round to nearest hour if you know exact time
4. Consistent Publication Name
Use the same name everywhere:
- News sitemap
- Article bylines
- About page
- Google News Publisher Center
5. Proper Language Codes
Use ISO 639-1 codes:
en- Englishes- Spanishfr- Frenchde- Germanzh- Chinese
Common Mistakes
Mistake #1: Including Old Articles
Wrong: Articles from last week
Right: Only last 48 hours
Mistake #2: Wrong Publication Date Format
Wrong:
<news:publication_date>11/26/2025</news:publication_date>
Right:
<news:publication_date>2025-11-26T14:30:00Z</news:publication_date>
Mistake #3: Inconsistent Publication Name
Wrong: Using different names in sitemap vs. site
Right: Same name everywhere
Mistake #4: Too Many Keywords
Wrong: 20 keywords
Right: Maximum 10 keywords, ideally 3-5
Submitting to Google News
Step 1: Create Google News Publisher Center Account
- Go to Google News Publisher Center
- Sign in with Google account
- Add your publication
Step 2: Verify Ownership
- Add verification code to your site
- Or verify via Google Search Console
Step 3: Submit News Sitemap
- In Publisher Center, go to "Content"
- Add your news sitemap URL
- Wait for Google to process
Step 4: Monitor Status
- Check for errors in Publisher Center
- Monitor indexing in Search Console (see troubleshooting guide)
- Track Google News traffic in Analytics
Monitoring Performance
Google Search Console
- Performance → Search Results
- Filter by Discover or Google News
- Track impressions and clicks
Google News Publisher Center
- Article count
- Indexing status
- Policy violations
- Traffic metrics
Next Steps
- Create your news sitemap
- Submit to Google News Publisher Center
- Monitor for errors
- Update hourly
- Track performance
Key Takeaways
- News sitemaps are required for Google News
- Only include articles from last 48 hours
- Update frequently (hourly recommended)
- Use accurate publication dates
- Follow Google News content policies
Ready to get your news content indexed faster? Analyze your sitemap to ensure it meets Google News requirements.