feat: update meta tags and add structured data for improved SEO and user clarity

This commit is contained in:
Harvey Zhao committed 2026-03-03 11:21:33 +08:00
1 parent bad7892660
commit e112b33f97
1 file changed
+134 -10
+134 -10
View File
@@ -8,15 +8,16 @@
/>
<meta name="google-adsense-account" content="ca-pub-8579453810848662" />
<title>
Free AI Video Upscaler - Enhance Video Quality Online | ArtPlayer
Free Offline Video Upscaler - AI Super Resolution in Browser | No
Upload
</title>
<meta
name="description"
content="Free browser-based AI video upscaler. Enhance and upscale MP4/WebM videos using WebGPU/WebGL super resolution. No upload required - runs 100% locally in your browser."
content="100% offline AI video upscaler. Enhance and upscale videos with super resolution directly in your browser. No upload, no server, completely private. Supports WebGPU/WebGL."
/>
<meta
name="keywords"
content="video upscaler, AI video enhancement, super resolution, WebGPU, WebGL, free video upscaler, online video enhancer, video quality improvement, 4K upscaling"
content="offline video upscaler, AI video enhancement, browser video upscaler, no upload video enhancer, private video upscaling, super resolution, WebGPU upscaler, free video quality enhancement, client-side video processing, 4K upscaling, local video enhancer"
/>
<meta name="robots" content="index,follow" />
<meta name="author" content="ArtPlayer" />
@@ -25,27 +26,50 @@
<meta property="og:url" content="https://artplayer.org/upscaler/" />
<meta
property="og:title"
content="Free AI Video Upscaler - Enhance Video Quality Online"
content="Free Offline Video Upscaler - No Upload, 100% Private"
/>
<meta
property="og:description"
content="Upscale videos with AI super resolution directly in your browser. Free, private, no upload needed."
content="AI video upscaler runs entirely in your browser. No upload needed, completely offline and private."
/>
<meta property="og:site_name" content="ArtPlayer" />
<meta name="twitter:card" content="summary_large_image" />
<meta
name="twitter:title"
content="Free AI Video Upscaler - Enhance Video Quality Online"
content="Free Offline Video Upscaler - No Upload, 100% Private"
/>
<meta
name="twitter:description"
content="Upscale videos with AI super resolution directly in your browser. Free, private, no upload needed."
content="AI video upscaler runs entirely in your browser. No upload needed, completely offline and private."
/>
<link
rel="shortcut icon"
href="/assets/img/favicon.ico"
type="image/x-icon"
/>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebApplication",
"name": "Offline Video Upscaler",
"description": "Free AI-powered video upscaler that runs 100% offline in your browser. No upload required, completely private.",
"url": "https://artplayer.org/upscaler/",
"applicationCategory": "MultimediaApplication",
"operatingSystem": "Any",
"offers": {
"@type": "Offer",
"price": "0",
"priceCurrency": "USD"
},
"featureList": [
"100% Offline Processing",
"No File Upload Required",
"AI Super Resolution",
"WebGPU/WebGL Acceleration",
"Privacy Focused"
]
}
</script>
<script
async
src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
@@ -81,13 +105,13 @@
<h1
class="text-2xl sm:text-3xl font-bold text-slate-900 mb-3 tracking-tight"
>
Video Upscaler
Offline AI Video Upscaler
</h1>
<p
class="text-slate-500 text-sm sm:text-base max-w-md mx-auto leading-relaxed"
>
Enhance video quality with AI super resolution. Runs locally
in your browser — no upload needed.
Enhance video quality with AI super resolution. Runs 100%
offline in your browser — no upload, completely private.
</p>
</div>
@@ -475,6 +499,106 @@
</div>
</div>
</div>
<!-- Features Section for SEO -->
<section
class="mt-12 grid grid-cols-2 sm:grid-cols-4 gap-4 text-center"
>
<div class="p-4">
<div
class="w-10 h-10 mx-auto mb-2 rounded-full bg-emerald-100 flex items-center justify-center"
>
<svg
class="w-5 h-5 text-emerald-600"
fill="none"
stroke="currentColor"
viewBox="0 0 24 24"
>
<path
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
d="M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z"
/>
</svg>
</div>
<h3 class="text-sm font-semibold text-slate-800">
100% Offline
</h3>
<p class="text-xs text-slate-500 mt-1">No server upload</p>
</div>
<div class="p-4">
<div
class="w-10 h-10 mx-auto mb-2 rounded-full bg-blue-100 flex items-center justify-center"
>
<svg
class="w-5 h-5 text-blue-600"
fill="none"
stroke="currentColor"
viewBox="0 0 24 24"
>
<path
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
d="M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z"
/>
</svg>
</div>
<h3 class="text-sm font-semibold text-slate-800">
Private
</h3>
<p class="text-xs text-slate-500 mt-1">
Files stay on device
</p>
</div>
<div class="p-4">
<div
class="w-10 h-10 mx-auto mb-2 rounded-full bg-purple-100 flex items-center justify-center"
>
<svg
class="w-5 h-5 text-purple-600"
fill="none"
stroke="currentColor"
viewBox="0 0 24 24"
>
<path
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
d="M13 10V3L4 14h7v7l9-11h-7z"
/>
</svg>
</div>
<h3 class="text-sm font-semibold text-slate-800">
GPU Accelerated
</h3>
<p class="text-xs text-slate-500 mt-1">WebGPU / WebGL</p>
</div>
<div class="p-4">
<div
class="w-10 h-10 mx-auto mb-2 rounded-full bg-amber-100 flex items-center justify-center"
>
<svg
class="w-5 h-5 text-amber-600"
fill="none"
stroke="currentColor"
viewBox="0 0 24 24"
>
<path
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
d="M12 8c-1.657 0-3 .895-3 2s1.343 2 3 2 3 .895 3 2-1.343 2-3 2m0-8c1.11 0 2.08.402 2.599 1M12 8V7m0 1v8m0 0v1m0-1c-1.11 0-2.08-.402-2.599-1M21 12a9 9 0 11-18 0 9 9 0 0118 0z"
/>
</svg>
</div>
<h3 class="text-sm font-semibold text-slate-800">
Free Forever
</h3>
<p class="text-xs text-slate-500 mt-1">No watermark</p>
</div>
</section>
</main>
<!-- Footer -->