From 0fa3165d965b9acf61a6f64293d798c7fb58c2d3 Mon Sep 17 00:00:00 2001 From: oiupoyt Date: Fri, 11 Sep 2026 22:34:23 +0530 Subject: [PATCH] feat: configure Adsterra script, update sitemap/robots for kattoolbox.vercel.app, and add SEO meta tags --- public/robots.txt | 2 +- src/app/layout.tsx | 29 ++++++++----- src/app/sitemap.ts | 7 ++-- src/app/tools/discord-image-shrinker/page.tsx | 29 ++++++++++++- src/app/tools/exif-scrubber/page.tsx | 23 ++++++++++ src/app/tools/image-redactor/page.tsx | 5 +++ src/app/tools/pdf-tools/page.tsx | 5 +++ src/components/SidebarAd.tsx | 42 ++++++------------- 8 files changed, 96 insertions(+), 46 deletions(-) diff --git a/public/robots.txt b/public/robots.txt index 5427f17..6a1d393 100644 --- a/public/robots.txt +++ b/public/robots.txt @@ -1,4 +1,4 @@ User-agent: * Allow: / -Sitemap: https://devtoolbox.com/sitemap.xml +Sitemap: https://kattoolbox.vercel.app/sitemap.xml diff --git a/src/app/layout.tsx b/src/app/layout.tsx index a76d921..04a7624 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -1,5 +1,6 @@ import type { Metadata } from "next"; import { Geist, Geist_Mono } from "next/font/google"; +import Script from "next/script"; import "./globals.css"; import Header from "@/components/Header"; import Footer from "@/components/Footer"; @@ -15,27 +16,33 @@ const geistMono = Geist_Mono({ }); export const metadata: Metadata = { + metadataBase: new URL("https://kattoolbox.vercel.app"), title: { default: "kattoolbox — Client-Side File & Developer Utilities", template: "%s | kattoolbox", }, description: - "Client-side file and developer tools. Compress images to size limits, strip EXIF metadata, merge and extract PDF pages, and run developer utilities directly in the browser.", + "Free client-side utilities. Compress images under Discord/Gmail limits, strip EXIF GPS metadata, merge and extract PDF pages, and run developer tools without server uploads.", keywords: [ - "file tools", - "image compression", - "discord image shrinker", - "exif scrubber", - "pdf merge", - "client-side utilities", + "compress image for discord", + "shrink image to 10mb", + "strip photo gps online", + "remove exif data", + "merge pdf client side", + "redact image online", + "developer utilities", "kattoolbox", ], + alternates: { + canonical: "/", + }, openGraph: { type: "website", title: "kattoolbox — Client-Side File & Developer Utilities", description: "Client-side file and developer tools running entirely in the browser.", siteName: "kattoolbox", + url: "https://kattoolbox.vercel.app", }, twitter: { card: "summary_large_image", @@ -56,10 +63,10 @@ export default function RootLayout({ children }: { children: React.ReactNode }) className={`${geistSans.variable} ${geistMono.variable} h-full antialiased`} > -