Skip to content

SEO & Web Crawlers

Search engine optimization (SEO) helps your content get discovered organically through Google, Bing, and other search engines. Vidori provides tools to optimize your web app for maximum visibility.

Vidori automatically generates SEO-friendly pages for your web app:

  • Server-side rendering - Content is rendered on the server for instant crawlability
  • Dynamic meta tags - Each page has unique, relevant metadata
  • Structured data - Schema.org markup for rich search results
  • Sitemap generation - Automatic XML sitemaps for search engines
  • Social cards - Open Graph and Twitter Card meta tags

Configure default meta tags for your entire site:

  1. Go to App Studio → Configuration → SEO
  2. Set default meta tags:
FieldDescriptionExample
Site TitleDefault title suffix”Your Brand - Stream Movies & Shows”
Site DescriptionDefault description”Watch thousands of movies and shows…”
Default ImageFallback social imageYour logo or hero image
Site NameOpen Graph site name”Your Brand”
Twitter HandleYour Twitter username”@yourbrand”

Each content type generates its own meta tags:

Video pages include:

<title>Video Title | Your Brand</title>
<meta name="description" content="Video description...">
<meta property="og:title" content="Video Title">
<meta property="og:type" content="video.movie">
<meta property="og:image" content="https://...thumbnail.jpg">
<meta property="og:video" content="https://...preview.mp4">

Override meta tags for specific content:

  1. Go to Catalog → On-Demand
  2. Select the video to customize
  3. Navigate to SEO tab
  4. Override any meta fields:
    • Custom title tag
    • Custom meta description
    • Custom social image
    • Custom canonical URL
  5. Save changes

Vidori automatically generates JSON-LD structured data for rich search results:

{
"@context": "https://schema.org",
"@type": "VideoObject",
"name": "Video Title",
"description": "Video description",
"thumbnailUrl": "https://...thumbnail.jpg",
"uploadDate": "2024-01-15",
"duration": "PT1H30M",
"contentUrl": "https://...video.m3u8",
"embedUrl": "https://...embed/abc123"
}
{
"@context": "https://schema.org",
"@type": "TVSeries",
"name": "Series Title",
"description": "Series description",
"numberOfSeasons": 3,
"containsSeason": [
{
"@type": "TVSeason",
"seasonNumber": 1,
"numberOfEpisodes": 10
}
]
}

Your brand information for knowledge panel:

  1. Go to App Studio → Configuration → SEO
  2. Navigate to Organization Schema
  3. Configure:
    • Organization name
    • Logo URL
    • Social media profiles
    • Contact information
  4. Save changes

Vidori automatically generates XML sitemaps for search engines.

/sitemap.xml → Sitemap index
/sitemap-videos.xml → All video pages
/sitemap-series.xml → Series and seasons
/sitemap-channels.xml → Live channels
/sitemap-pages.xml → Static pages
  1. Go to App Studio → Configuration → SEO
  2. Navigate to Sitemap
  3. Configure options:
SettingDescriptionDefault
Include videosAdd videos to sitemapYes
Include seriesAdd series pagesYes
Include channelsAdd channel pagesYes
Include unpublishedInclude draft contentNo
Update frequencychangefreq valueWeekly
RegenerationHow often to rebuildDaily

After your sitemap is configured:

  1. Go to Google Search Console
  2. Add and verify your property
  3. Navigate to Sitemaps
  4. Submit: https://yourapp.com/sitemap.xml
  5. Repeat for Bing Webmaster Tools if desired

Control how search engines crawl your site:

  1. Go to App Studio → Configuration → SEO
  2. Navigate to Robots.txt
  3. Configure crawler rules
User-agent: *
Allow: /
Disallow: /api/
Disallow: /admin/
Disallow: /account/
Disallow: /checkout/
Sitemap: https://yourapp.com/sitemap.xml

Add custom rules for specific crawlers or paths:

DirectiveDescriptionExample
AllowPermit crawlingAllow: /movies/
DisallowBlock crawlingDisallow: /private/
Crawl-delayRate limitingCrawl-delay: 1
User-agentTarget specific botsUser-agent: Googlebot

Prevent duplicate content issues with canonical URLs:

Vidori automatically sets canonical URLs:

  • Videos: https://yourapp.com/watch/{id}
  • Series: https://yourapp.com/series/{id}
  • Channels: https://yourapp.com/live/{id}

Override canonicals for specific cases:

  1. Open the content item
  2. Navigate to SEO tab
  3. Enter custom Canonical URL
  4. Save changes

Use cases for custom canonicals:

  • Content available on multiple URLs
  • Migrating from another platform
  • Cross-domain content syndication

Configure how your content appears when shared on Facebook, LinkedIn, and other platforms:

TagDescriptionAuto-generated
og:titleShare titleYes - from content title
og:descriptionShare descriptionYes - from content description
og:imageShare imageYes - from thumbnail
og:typeContent typeYes - video.movie, video.tv_show
og:urlCanonical URLYes

Configure Twitter-specific sharing:

  1. Go to App Studio → Configuration → SEO → Twitter Cards
  2. Configure:
SettingOptionsRecommended
Card typeSummary, Large Image, PlayerPlayer (for videos)
Twitter handleYour @usernameRequired for analytics
Player URLVideo embed URLAuto-generated

Validate your social cards before sharing:

Vidori web apps are optimized for Google’s Core Web Vitals:

MetricTargetVidori Default
LCP (Largest Contentful Paint)< 2.5s~1.5s
FID (First Input Delay)< 100ms~50ms
CLS (Cumulative Layout Shift)< 0.1~0.05

Vidori automatically optimizes images for performance:

  • Responsive images - Multiple sizes for different devices
  • WebP format - Modern format with fallbacks
  • Lazy loading - Images load as they enter viewport
  • CDN delivery - Global edge caching

Track Core Web Vitals in Analytics → Performance:

  • Real User Monitoring (RUM) data
  • Page load times by route
  • Device and connection breakdowns
  • Core Web Vitals trends

Vidori detects search engine crawlers and serves optimized content:

BotOptimization
GooglebotFull SSR, structured data
BingbotFull SSR, structured data
FacebookbotOpen Graph tags, preview images
TwitterbotTwitter Cards, player embeds
LinkedInBotOpen Graph tags

For premium/gated content, configure crawler access:

  1. Go to Settings → Content → Crawler Access
  2. Choose visibility for protected content:
    • Full access - Crawlers see all content
    • Preview only - Crawlers see titles and descriptions
    • Blocked - Crawlers cannot access protected content
  3. Save settings

Connect Google Search Console for search analytics:

  1. Go to Settings → Integrations → Google Search Console
  2. Authenticate with your Google account
  3. Select your Search Console property
  4. View search performance in Vidori Analytics

Monitor SEO performance in Analytics → SEO:

MetricDescription
Indexed pagesPages in search index
Search impressionsTimes shown in search
Search clicksClicks from search results
Average positionRanking position
Top queriesSearch terms driving traffic

Unique Titles

Every page should have a unique, descriptive title under 60 characters.

Quality Descriptions

Write compelling meta descriptions (150-160 chars) that encourage clicks.

Optimized Images

Use high-quality thumbnails with descriptive alt text for all content.

Fast Loading

Monitor Core Web Vitals and address performance issues promptly.

  1. Use descriptive titles - Include the content type and key terms
  2. Write for humans - Natural, engaging descriptions perform better
  3. Include keywords naturally - Don’t stuff keywords; write naturally
  4. Add transcripts - Video transcripts provide crawlable text content
  5. Update regularly - Fresh content signals relevance to search engines