Added metadta filesa
This commit is contained in:
@@ -1,7 +1,15 @@
|
|||||||
import { DashboardSidebar } from "@/app/(admin)/dashboard/_components/sidebar"
|
import { DashboardSidebar } from "@/app/(admin)/dashboard/_components/sidebar"
|
||||||
import { SidebarProvider } from "@/components/ui/sidebar"
|
import { SidebarProvider } from "@/components/ui/sidebar"
|
||||||
|
import type { Metadata } from "next"
|
||||||
import { ReactNode } from "react"
|
import { ReactNode } from "react"
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: "Dashboard",
|
||||||
|
description:
|
||||||
|
"Manage your shortened URLs, view analytics, and monitor link performance. Access advanced features like custom slugs, expiration dates, and detailed statistics.",
|
||||||
|
keywords: ["URL dashboard", "link management", "analytics", "URL statistics", "link tracking"]
|
||||||
|
}
|
||||||
|
|
||||||
export default function DashboardLayout({
|
export default function DashboardLayout({
|
||||||
children
|
children
|
||||||
}: {
|
}: {
|
||||||
|
|||||||
@@ -1,8 +1,16 @@
|
|||||||
import { ThemeToggle } from "@/components/theme-toggle"
|
import { ThemeToggle } from "@/components/theme-toggle"
|
||||||
import { UserDropdown } from "@/components/user-dropdown"
|
import { UserDropdown } from "@/components/user-dropdown"
|
||||||
|
import type { Metadata } from "next"
|
||||||
import Link from "next/link"
|
import Link from "next/link"
|
||||||
import { ReactNode } from "react"
|
import { ReactNode } from "react"
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: "Linker - Free URL Shortener",
|
||||||
|
description:
|
||||||
|
"Transform long URLs into short, shareable links. Perfect for social media, emails, and anywhere you need clean, manageable links. Get started for free!",
|
||||||
|
keywords: ["free URL shortener", "short links", "link shortener", "social media links", "shareable links"]
|
||||||
|
}
|
||||||
|
|
||||||
export default function PublicLayout({
|
export default function PublicLayout({
|
||||||
children
|
children
|
||||||
}: {
|
}: {
|
||||||
|
|||||||
BIN
src/app/favicon.ico
Normal file
BIN
src/app/favicon.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 263 KiB |
@@ -1,8 +1,24 @@
|
|||||||
|
import type { Metadata } from "next"
|
||||||
import { ReactNode } from "react"
|
import { ReactNode } from "react"
|
||||||
import "./globals.css"
|
import "./globals.css"
|
||||||
import { Toaster } from "@/components/ui/sonner"
|
import { Toaster } from "@/components/ui/sonner"
|
||||||
|
import { env } from "@/lib/env/client"
|
||||||
import { ThemeProvider } from "next-themes"
|
import { ThemeProvider } from "next-themes"
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: {
|
||||||
|
default: "Linker - Smart URL Shortener & Link Management",
|
||||||
|
template: "%s | Linker"
|
||||||
|
},
|
||||||
|
description:
|
||||||
|
"A powerful and intuitive URL shortening service with advanced analytics, custom slugs, expiration dates, and comprehensive link management features.",
|
||||||
|
keywords: ["URL shortener", "link management", "analytics", "custom slugs", "link tracking", "short links"],
|
||||||
|
authors: [{ name: "Taken" }],
|
||||||
|
creator: "Taken",
|
||||||
|
publisher: "Taken",
|
||||||
|
metadataBase: new URL(env.NEXT_PUBLIC_BASE_URL)
|
||||||
|
}
|
||||||
|
|
||||||
export default function RootLayout({
|
export default function RootLayout({
|
||||||
children
|
children
|
||||||
}: {
|
}: {
|
||||||
|
|||||||
16
src/app/manifest.ts
Normal file
16
src/app/manifest.ts
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
import type { MetadataRoute } from 'next'
|
||||||
|
|
||||||
|
export default function manifest(): MetadataRoute.Manifest {
|
||||||
|
return {
|
||||||
|
name: "Linker - Smart URL Shortener & Link Management",
|
||||||
|
short_name: "Linker",
|
||||||
|
description: "Transform long URLs into short, shareable links. Perfect for social media, emails, and anywhere you need clean, manageable links. Get started for free!",
|
||||||
|
start_url: "/",
|
||||||
|
display: "standalone",
|
||||||
|
icons: [{
|
||||||
|
src: '/favicon.ico',
|
||||||
|
sizes: 'any',
|
||||||
|
type: 'image/x-icon',
|
||||||
|
}],
|
||||||
|
}
|
||||||
|
}
|
||||||
11
src/app/robots.ts
Normal file
11
src/app/robots.ts
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
import type { MetadataRoute } from 'next'
|
||||||
|
|
||||||
|
export default function robots(): MetadataRoute.Robots {
|
||||||
|
return {
|
||||||
|
rules: {
|
||||||
|
userAgent: "*",
|
||||||
|
allow: ["/", "/r/"],
|
||||||
|
disallow: "/dashboard/",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user