Setup and Configuration
SEO

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 card
    • summary_large_image - Large image card (recommended)
    • app - Mobile app card
    • player - 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:

  1. Generate IndexNow key (any unique string)
  2. Add to portal settings
  3. Set isActive to true
  4. Key file hosted at /[key].txt
  5. Content changes automatically notify search engines

SEO Configuration Workflow

Initial Setup:

  1. Set SEO title and meta description
  2. Configure robots meta tag based on environment
  3. Set canonical URL to your production domain
  4. Upload and set Open Graph image (1200x630px)
  5. Configure Twitter Card settings
  6. 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