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`} >
- diff --git a/src/app/sitemap.ts b/src/app/sitemap.ts index eef7e6a..b4b9876 100644 --- a/src/app/sitemap.ts +++ b/src/app/sitemap.ts @@ -3,15 +3,14 @@ import { tools } from "@/lib/tools"; export const dynamic = "force-static"; -// TODO: Replace with your actual domain -const BASE_URL = "https://devtoolbox.com"; +const BASE_URL = "https://kattoolbox.vercel.app"; export default function sitemap(): MetadataRoute.Sitemap { const toolPages = tools.map((tool) => ({ url: `${BASE_URL}/tools/${tool.slug}`, lastModified: new Date(), changeFrequency: "monthly" as const, - priority: 0.8, + priority: tool.featured ? 0.9 : 0.7, })); return [ @@ -19,7 +18,7 @@ export default function sitemap(): MetadataRoute.Sitemap { url: BASE_URL, lastModified: new Date(), changeFrequency: "weekly", - priority: 1, + priority: 1.0, }, ...toolPages, ]; diff --git a/src/app/tools/discord-image-shrinker/page.tsx b/src/app/tools/discord-image-shrinker/page.tsx index 384c503..e048fc2 100644 --- a/src/app/tools/discord-image-shrinker/page.tsx +++ b/src/app/tools/discord-image-shrinker/page.tsx @@ -175,6 +175,12 @@ export default function DiscordImageShrinkerPage() { title="File Shrinker" description="Compress images to target file sizes for Discord, email attachments, or web delivery. Processing runs in browser memory." > +Canvas rasterization automatically removes embedded camera metadata and GPS coordinates.
Discord enforces a 10MB upload limit for standard free users (previously 8MB) and a 50MB limit for Nitro Basic subscribers. This tool compresses your files to fall strictly beneath those limits.
+Gmail and Google Workspace allow up to 25MB total attachments per email. Selecting the 25MB preset compresses your photo safely beneath Gmail's incoming payload limit.
+No. Compression is computed entirely inside your local browser tab using client-side JavaScript and HTML5 Canvas. Your images are never sent over the network.
+EXIF (Exchangeable Image File Format) is data embedded directly inside JPEG, PNG, and TIFF images. It includes camera model, shutter speed, focal length, date and time, and frequently GPS coordinates.
+Photos taken on iPhones or Android devices embed exact latitude and longitude coordinates. Sharing raw photos on forums or social channels can expose your home, school, or workplace address.
+