mirror of
https://github.com/yusufipk/OpenFrame.git
synced 2026-09-11 09:36:08 +00:00
- update title/description to Open Source Video Review Platform - add centralized SEO config with canonical URL + meta image (/meta.webp) - add Open Graph and Twitter card metadata - add JSON-LD Organization/WebSite structured data - add robots.txt, sitemap.xml, and web app manifest routes - version icon metadata to help search engines refresh branding
46 lines
1.1 KiB
TypeScript
46 lines
1.1 KiB
TypeScript
const FALLBACK_SITE_URL = 'https://openframe.net';
|
|
|
|
function normalizeSiteUrl(rawUrl: string | undefined): string {
|
|
if (!rawUrl) {
|
|
return FALLBACK_SITE_URL;
|
|
}
|
|
|
|
const trimmed = rawUrl.trim();
|
|
|
|
if (!trimmed) {
|
|
return FALLBACK_SITE_URL;
|
|
}
|
|
|
|
const withProtocol = /^https?:\/\//i.test(trimmed) ? trimmed : `https://${trimmed}`;
|
|
|
|
try {
|
|
return new URL(withProtocol).origin;
|
|
} catch {
|
|
return FALLBACK_SITE_URL;
|
|
}
|
|
}
|
|
|
|
export function getSiteUrl(): string {
|
|
return normalizeSiteUrl(process.env.NEXT_PUBLIC_APP_URL ?? process.env.NEXTAUTH_URL);
|
|
}
|
|
|
|
export const seoConfig = {
|
|
name: 'OpenFrame',
|
|
title: 'Open Source Video Review Platform',
|
|
description:
|
|
'OpenFrame is an open source video review platform for collecting timestamped feedback with text and voice comments.',
|
|
keywords: [
|
|
'open source video review platform',
|
|
'video review tool',
|
|
'timestamped video feedback',
|
|
'video collaboration',
|
|
'video annotation',
|
|
'creative review workflow',
|
|
],
|
|
url: getSiteUrl(),
|
|
ogImage: '/meta.webp',
|
|
logoPath: '/icon.svg',
|
|
logo: '/icon.svg?v=2',
|
|
githubUrl: 'https://github.com/yusufipk/OpenFrame',
|
|
} as const;
|