Complete guide to the SEO features implemented in your AgriTech blog for maximum global visibility and social media exposure.
Endpoint: GET /sitemap.xml
What it does:
- Fetches all published posts from MongoDB
- Generates valid XML sitemap
- Includes homepage, posts page, and all blog post URLs
- Adds
lastmoddates based on postupdatedAt - Sets appropriate
changefreqandpriorityvalues
Example:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://your-site.com/</loc>
<lastmod>2026-01-18T12:00:00.000Z</lastmod>
<changefreq>daily</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>https://your-site.com/blog/autonomous-farming</loc>
<lastmod>2026-01-15T10:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
</urlset>Submit to:
- Google Search Console: https://search.google.com/search-console
- Bing Webmaster Tools: https://www.bing.com/webmasters
- Yandex Webmaster: https://webmaster.yandex.com
Endpoint: GET /rss.xml
What it does:
- Fetches latest 50 published posts
- Returns standard RSS 2.0 XML
- Includes title, description, pubDate, link, content
- Supports RSS readers like Feedly, Reeder, NewsBlur
Example:
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title>AgriTech Innovation Hub</title>
<link>https://your-site.com</link>
<description>Advanced Agricultural Technology Insights</description>
<item>
<title><![CDATA[Autonomous Farming: The Future is Here]]></title>
<link>https://your-site.com/blog/autonomous-farming</link>
<description><![CDATA[Discover how autonomous farming...]]></description>
<pubDate>Sat, 18 Jan 2026 12:00:00 GMT</pubDate>
<category><![CDATA[AI, agriculture, automation]]></category>
</item>
</channel>
</rss>Submit to:
- Feedly: https://feedly.com/i/discover
- NewsBlur: https://www.newsblur.com
- Inoreader: https://www.inoreader.com
Endpoint: GET /api/meta/:slug
What it does:
- Fetches specific post by slug
- Returns JSON with all SEO metadata
- Includes Open Graph, Twitter Card, and Article tags
- Perfect for dynamic
<head>tag updates in React
Example Request:
GET /api/meta/autonomous-farmingExample Response:
{
"title": "Autonomous Farming: The Future is Here",
"description": "Discover how autonomous farming technologies are revolutionizing agriculture...",
"keywords": "autonomous farming, AI, technology, agriculture",
"og:title": "Autonomous Farming: The Future is Here",
"og:description": "Discover how autonomous farming...",
"og:image": "https://your-site.com/images/autonomous-farming.jpg",
"og:url": "https://your-site.com/blog/autonomous-farming",
"og:type": "article",
"og:site_name": "AgriTech Innovation Hub",
"twitter:card": "summary_large_image",
"twitter:title": "Autonomous Farming: The Future is Here",
"twitter:description": "Discover how autonomous farming...",
"twitter:image": "https://your-site.com/images/autonomous-farming.jpg",
"article:published_time": "2026-01-15T10:30:00.000Z",
"article:modified_time": "2026-01-18T12:00:00.000Z",
"article:author": "San",
"article:section": "autonomous farming",
"article:tag": ["autonomous farming", "AI", "technology"],
"canonicalUrl": "https://your-site.com/blog/autonomous-farming",
"readTime": 8,
"author": "San",
"publishedDate": "2026-01-15T10:30:00.000Z",
"modifiedDate": "2026-01-18T12:00:00.000Z"
}Endpoint: GET /robots.txt
What it does:
- Comprehensive GEO (Generative Engine Optimization)
- Allows all major search engines
- Priority access for AI bots:
- GPTBot (ChatGPT)
- Claude-Bot (Anthropic)
- PerplexityBot
- CCBot (Common Crawl)
- Meta-ExternalAgent
- Blocks aggressive SEO scrapers
- Links to sitemap and RSS
AI Bots Allowed:
- ✅ GPTBot (OpenAI ChatGPT)
- ✅ Claude-Bot (Anthropic)
- ✅ PerplexityBot (Perplexity AI)
- ✅ CCBot (Common Crawl)
- ✅ Applebot (Siri)
- ✅ YouBot (You.com)
Endpoint: GET /api/og-image?title=...&category=...
What it does:
- Generates SVG images for social sharing
- Customizable title and category
- 1200x630px (optimal for social media)
- Forest green gradient background
Example:
https://your-site.com/api/og-image?title=Autonomous%20Farming&category=Technology
Endpoint: GET /api/structured-data
What it does:
- Generates Schema.org structured data
- Includes WebSite, Organization, Person, BlogPosting
- Enhanced AI understanding
- Rich snippets in search results
Schema Types:
- WebSite
- Organization
- Person (Author)
- BlogPosting (Top 5 posts)
Update your blog post component to fetch and apply meta tags:
import { useEffect } from 'react';
import { useParams } from 'wouter';
export default function BlogPost() {
const { slug } = useParams();
useEffect(() => {
// Fetch meta tags for this post
fetch(`/api/meta/${slug}`)
.then(res => res.json())
.then(meta => {
// Update document title
document.title = `${meta.title} | AgriTech Blog`;
// Update or create meta tags
updateMetaTag('description', meta.description);
updateMetaTag('keywords', meta.keywords);
// Open Graph
updateMetaTag('og:title', meta['og:title'], 'property');
updateMetaTag('og:description', meta['og:description'], 'property');
updateMetaTag('og:image', meta['og:image'], 'property');
updateMetaTag('og:url', meta['og:url'], 'property');
updateMetaTag('og:type', meta['og:type'], 'property');
// Twitter Card
updateMetaTag('twitter:card', meta['twitter:card']);
updateMetaTag('twitter:title', meta['twitter:title']);
updateMetaTag('twitter:description', meta['twitter:description']);
updateMetaTag('twitter:image', meta['twitter:image']);
// Article tags
updateMetaTag('article:published_time', meta['article:published_time'], 'property');
updateMetaTag('article:modified_time', meta['article:modified_time'], 'property');
updateMetaTag('article:author', meta['article:author'], 'property');
// Canonical URL
updateLinkTag('canonical', meta.canonicalUrl);
});
}, [slug]);
function updateMetaTag(name: string, content: string, attr: string = 'name') {
let element = document.querySelector(`meta[${attr}="${name}"]`);
if (!element) {
element = document.createElement('meta');
element.setAttribute(attr, name);
document.head.appendChild(element);
}
element.setAttribute('content', content);
}
function updateLinkTag(rel: string, href: string) {
let element = document.querySelector(`link[rel="${rel}"]`);
if (!element) {
element = document.createElement('link');
element.setAttribute('rel', rel);
document.head.appendChild(element);
}
element.setAttribute('href', href);
}
// ... rest of component
}curl https://your-site.com/sitemap.xmlcurl https://your-site.com/rss.xmlcurl https://your-site.com/api/meta/autonomous-farming- Facebook Debugger: https://developers.facebook.com/tools/debug/
- Twitter Card Validator: https://cards-dev.twitter.com/validator
- LinkedIn Post Inspector: https://www.linkedin.com/post-inspector/
- Google Rich Results Test: https://search.google.com/test/rich-results
- Schema Markup Validator: https://validator.schema.org/
- Submit sitemap to Google Search Console
- Submit sitemap to Bing Webmaster Tools
- Test Open Graph tags with Facebook Debugger
- Test Twitter Cards with Twitter Validator
- Verify robots.txt is accessible
- Test RSS feed in Feedly
- Integrate
/api/meta/:slugin blog post component - Add structured data script tag to homepage
- Implement canonical URLs
- Add breadcrumb navigation
- Optimize images (lazy loading, WebP format)
- Ensure all posts have featured images
- Write compelling meta descriptions (150-160 chars)
- Use descriptive slugs
- Add relevant tags to all posts
- Include internal links between posts
-
Google Search Console
- Monitor impressions, clicks, CTR
- Check for crawl errors
- Verify sitemap status
-
Google Analytics
- Track organic traffic
- Monitor bounce rate
- Analyze user behavior
-
Social Media Analytics
- Facebook Insights
- Twitter Analytics
- LinkedIn Analytics
Your blog already detects social media crawlers and serves optimized HTML (lines 1581-1654 in routes.ts).
- Use WebP format with fallback
- Implement lazy loading
- Add proper alt text
- Optimize file sizes
- Enable gzip compression
- Implement caching headers
- Use CDN for static assets
- Minimize JavaScript bundles
- Responsive design
- Fast mobile load times
- Touch-friendly navigation
- Mobile-first indexing
<link rel="alternate" hreflang="en" href="https://your-site.com/blog/post" />
<link rel="alternate" hreflang="es" href="https://your-site.com/es/blog/post" />
<link rel="alternate" hreflang="fr" href="https://your-site.com/fr/blog/post" />- Google SEO Starter Guide
- Open Graph Protocol
- Twitter Cards Documentation
- Schema.org
- RSS 2.0 Specification
Your AgriTech blog now has:
- ✅ Dynamic XML Sitemap
- ✅ RSS 2.0 Feed
- ✅ Meta Tag API for dynamic SEO
- ✅ Comprehensive robots.txt with GEO
- ✅ Open Graph image generator
- ✅ JSON-LD structured data
- ✅ Social crawler detection
- ✅ AI bot optimization
All endpoints are live and ready to use! 🎉