diff --git a/env b/env index f8d6860..1ec99f5 100644 --- a/env +++ b/env @@ -14,3 +14,4 @@ S3_SECRET_ACCESS_KEY=9b4e412850582aab32ffdadbe23bb7ea972b39aaf79c34da0c19d3fcafe S3_REGION=ap-southeast-1 S3_ENDPOINT=https://jswmbraeandqttpcdfmj.supabase.co/storage/v1/s3 NEXT_PUBLIC_PAYLOAD_URL=http://localhost:3000 +SITE_URL=http://localhost:3000 diff --git a/src/app/(main)/[slug]/page.tsx b/src/app/(main)/[slug]/page.tsx index 7f75f56..37e8955 100644 --- a/src/app/(main)/[slug]/page.tsx +++ b/src/app/(main)/[slug]/page.tsx @@ -53,13 +53,13 @@ export async function generateMetadata({ params }: { params: Promise<{ slug: str defaultMetadata.openGraph.type = "article"; defaultMetadata.openGraph.title = title; defaultMetadata.openGraph.description = description; - defaultMetadata.openGraph.images = !!imgUrl ? { url: imgUrl } : undefined; + defaultMetadata.openGraph.images = !!imgUrl ? [imgUrl] : undefined; } defaultMetadata.twitter = { card: "summary_large_image", title: title, description: description, - images: !!imgUrl ? { url: imgUrl } : undefined, + images: !!imgUrl ? [imgUrl] : undefined, }; defaultMetadata.other = { "article:published_time": publishedAt, diff --git a/src/app/robots.ts b/src/app/robots.ts new file mode 100644 index 0000000..642e42c --- /dev/null +++ b/src/app/robots.ts @@ -0,0 +1,13 @@ +import type { MetadataRoute } from "next"; + +export default function robots(): MetadataRoute.Robots { + const siteUrl = process.env.SITE_URL || "http://localhost:3000"; + + return { + rules: { + userAgent: "*", + allow: "/", + }, + sitemap: `${siteUrl}/sitemap.xml`, + }; +} diff --git a/src/app/sitemap.ts b/src/app/sitemap.ts new file mode 100644 index 0000000..bd835a7 --- /dev/null +++ b/src/app/sitemap.ts @@ -0,0 +1,18 @@ +import type { MetadataRoute } from "next"; + +export default function sitemap(): MetadataRoute.Sitemap { + const siteUrl = process.env.SITE_URL || "http://localhost:3000"; + + // Define your static routes + const routes: string[] = ["", "/blog"]; + + // Create sitemap entries for static routes + const staticRoutesSitemap = routes.map((route) => ({ + url: `${siteUrl}${route}`, + lastModified: new Date(), + changeFrequency: "weekly" as const, + priority: route === "" ? 1 : 0.8, + })); + + return [...staticRoutesSitemap]; +}