SEO
Optimize your portal for search engines to help people find your content.
SEO Settings Overview
Configure your portal's SEO (Search Engine Optimization) settings including:
- Page titles and descriptions
- Social media sharing previews (Open Graph and Twitter Cards)
- Canonical URLs
- Meta tags
These settings apply to all pages unless you customize individual articles.
Page Title
SEO Title
Set the default title for your portal.
- This appears in browser tabs and Google search results
- Keep it between 50-60 characters
- Example: "CyberSec Insights - Threat Intelligence & Security News"
Where It's Used:
- Your homepage title
- Backup title for pages that don't have their own
- Combined with article titles like:
[Article Title] | [Portal Title] - The first thing people see in search results
Meta Tags
Configure the meta tags that help search engines understand your portal.
Meta Description
Write a compelling summary of your portal for search results.
- Keep it between 150-160 characters
- This is what people see under your title in Google
- Make it engaging to increase clicks!
- Example: "Stay ahead of cyber threats with expert analysis, latest security news, and actionable threat intelligence."
Canonical URL
Canonical Tag
- Field:
seoMetadata.canonical - Preferred URL for this portal
- Prevents duplicate content issues
- Example:
https://security.yourcompany.com
Why It Matters:
- If site accessible via multiple domains
- Tells search engines which is the "official" URL
- Consolidates ranking signals
- Avoids duplicate content penalties
Example:
canonical: "https://security.acme.com"Open Graph Tags
Open Graph Object
- Field:
seoMetadata.openGraph - Controls how your portal appears when shared on Facebook, LinkedIn, etc.
Structure:
openGraph: {
title: "Acme Security Insights",
description: "Expert cybersecurity threat intelligence",
image: "https://security.acme.com/og-image.jpg",
url: "https://security.acme.com",
type: "website"
}OG Title
- Field:
seoMetadata.openGraph.title - Title when shared on social media
- Can differ from SEO title
- Recommended: 60-90 characters
OG Description
- Field:
seoMetadata.openGraph.description - Description for social shares
- Recommended: 55-200 characters
- Can be more engaging/casual than SEO description
OG Image
- Field:
seoMetadata.openGraph.image - Full URL to image shown in social shares
- Recommended size: 1200x630 pixels
- Formats: JPG or PNG
- Example:
https://security.acme.com/images/og-image.jpg
OG URL
- Field:
seoMetadata.openGraph.url - Canonical URL for social shares
- Should match your prodSiteUrl
- Example:
https://security.acme.com
OG Type
- Field:
seoMetadata.openGraph.type - Type of content
- Homepage:
website - Articles:
article(can be set per article) - Default:
website
Twitter Card Tags
Twitter Card Object
- Field:
seoMetadata.twitterCard - Controls appearance in Twitter/X shares
- Enhances engagement on Twitter
Structure:
twitterCard: {
card: "summary_large_image",
title: "Acme Security Insights",
description: "Expert cybersecurity threat intelligence",
image: "https://security.acme.com/twitter-card.jpg"
}Card Type
- Field:
seoMetadata.twitterCard.card - Options:
summary- Small image cardsummary_large_image- Large image card (recommended)app- Mobile app cardplayer- Video/audio player
- Most common:
summary_large_image
Twitter Title
- Field:
seoMetadata.twitterCard.title - Title for Twitter shares
- Max 70 characters
- Can differ from OG title
Twitter Description
- Field:
seoMetadata.twitterCard.description - Description for Twitter shares
- Max 200 characters
- Engaging and concise
Twitter Image
- Field:
seoMetadata.twitterCard.image - Image for Twitter Card
- Recommended: 1200x628 pixels (for large image)
- Formats: JPG, PNG, WebP, GIF
- Max file size: 5MB
- Example:
https://security.acme.com/images/twitter-card.jpg
IndexNow Integration
IndexNow Configuration
- Field:
indexNow(separate from seoMetadata) - Fast indexing protocol for search engines
Structure:
indexNow: {
key: "abc123def456...", // Your IndexNow API key
isActive: true // Enable/disable IndexNow
}What is IndexNow?
- Instant indexing protocol
- Supported by Microsoft Bing, Yandex
- Notifies search engines immediately when content changes
- Faster than waiting for crawl
Setup:
- Generate IndexNow key (any unique string)
- Add to portal settings
- Set isActive to
true - Key file hosted at
/[key].txt - Content changes automatically notify search engines
SEO Configuration Workflow
Initial Setup:
- Set SEO title and meta description
- Configure robots meta tag based on environment
- Set canonical URL to your production domain
- Upload and set Open Graph image (1200x630px)
- Configure Twitter Card settings
- Set IndexNow if desired
For Production:
seoMetadata: {
title: "Your Portal Name - Cybersecurity Intelligence",
meta: {
description: "Your compelling description...",
robots: "index, follow",
keywords: "relevant, keywords, here"
},
canonical: "https://your-portal.com",
openGraph: {
title: "Your Portal Name",
description: "Social share description...",
image: "https://your-portal.com/og-image.jpg",
url: "https://your-portal.com",
type: "website"
},
twitterCard: {
card: "summary_large_image",
title: "Your Portal Name",
description: "Twitter description...",
image: "https://your-portal.com/twitter-card.jpg"
}
}For Staging/Development:
seoMetadata: {
meta: {
robots: "noindex, nofollow"
}
}
encourageIndexing: false