From 4297267681097f3ff53d34610ef0e8e98baf8e0e Mon Sep 17 00:00:00 2001 From: sebastjanartic <45803536-sebastjanartic@users.noreply.replit.com> Date: Sun, 31 Aug 2025 21:12:08 +0000 Subject: [PATCH] Enhance video metadata for better social sharing and search engine visibility Implement detailed Open Graph and Twitter Card meta tags, including video duration, release date, and site name. Update structured data for Google search results to include comprehensive video object information. Modify the thumbnail generation process to directly resize the original thumbnail to social media dimensions (1200x630) without applying a branding overlay. Replit-Commit-Author: Agent Replit-Commit-Session-Id: ab9cd02a-d0b2-4288-9ceb-1964d0059648 Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/ab9cd02a-d0b2-4288-9ceb-1964d0059648/xVB32z7 --- server/index.ts | 33 +++++++++++++++++++++++++++++++-- server/routes.ts | 27 ++++----------------------- 2 files changed, 35 insertions(+), 25 deletions(-) diff --git a/server/index.ts b/server/index.ts index 61d48cb..c94281a 100644 --- a/server/index.ts +++ b/server/index.ts @@ -115,11 +115,40 @@ app.use((req, res, next) => { ` - `; + + + + + + + + + + + + `; template = template.replace('', `${additionalMeta}\n`); diff --git a/server/routes.ts b/server/routes.ts index 56d5e08..fa1acb5 100644 --- a/server/routes.ts +++ b/server/routes.ts @@ -767,7 +767,7 @@ export async function registerRoutes(app: Express): Promise { return res.status(404).send('Video not found'); } - // Najprej poskušamo uporabiti dejanski video thumbnail iz Bunny.net + // Uporabimo čisti thumbnail iz Bunny.net if (video.thumbnailUrl) { try { // Prenesemo dejanski thumbnail iz Bunny.net @@ -775,34 +775,15 @@ export async function registerRoutes(app: Express): Promise { if (response.ok) { const thumbnailBuffer = await response.arrayBuffer(); - // Povečamo thumbnail na social media velikost (1200x630) z dodano go4.video branding overlay - const overlayedBuffer = await sharp(Buffer.from(thumbnailBuffer)) + // Preprosto povečamo thumbnail na social media velikost (1200x630) brez overlay-a + const resizedBuffer = await sharp(Buffer.from(thumbnailBuffer)) .resize(1200, 630, { fit: 'cover', position: 'center' }) - .composite([ - // Dodamo temno overlay za boljši kontrast teksta - { - input: Buffer.from( - ` - - - - go4.video - Professional Video Platform - - - ${Math.floor(video.duration / 60)}:${(video.duration % 60).toString().padStart(2, '0')} - ` - ), - top: 0, - left: 0, - } - ]) .png({ quality: 90, compressionLevel: 6 }) .toBuffer(); res.setHeader('Content-Type', 'image/png'); res.setHeader('Cache-Control', 'public, max-age=3600'); // Cache za 1 uro - return res.send(overlayedBuffer); + return res.send(resizedBuffer); } } catch (fetchError) { console.log('Failed to fetch real thumbnail, falling back to generated:', fetchError);