- Add comprehensive metadata to root layout with Open Graph, Twitter cards - Create dynamic sitemap.ts for all pages and events - Create robots.ts with proper allow/disallow rules - Add JSON-LD Event structured data to event detail pages - Add page-specific metadata to events, community, contact, FAQ pages - Add FAQ structured data schema - Update footer with local SEO text for Asunción, Paraguay - Add web manifest for mobile SEO - Create 404 page with proper noindex - Optimize image alt text and add lazy loading - Add NEXT_PUBLIC_SITE_URL env variable - Add about/ folder to gitignore
42 lines
1.5 KiB
TypeScript
42 lines
1.5 KiB
TypeScript
import type { Metadata } from 'next';
|
||
import Link from 'next/link';
|
||
|
||
export const metadata: Metadata = {
|
||
title: 'Page Not Found – Spanglish',
|
||
description: 'The page you are looking for could not be found.',
|
||
robots: {
|
||
index: false,
|
||
follow: true,
|
||
},
|
||
};
|
||
|
||
export default function NotFound() {
|
||
return (
|
||
<div className="min-h-screen flex items-center justify-center bg-secondary-gray">
|
||
<div className="text-center px-4">
|
||
<h1 className="text-6xl font-bold text-primary-dark mb-4">404</h1>
|
||
<h2 className="text-2xl font-semibold text-gray-700 mb-4">
|
||
Page Not Found
|
||
</h2>
|
||
<p className="text-gray-600 mb-8 max-w-md mx-auto">
|
||
The page you are looking for might have been removed, had its name changed, or is temporarily unavailable.
|
||
</p>
|
||
<div className="flex flex-col sm:flex-row gap-4 justify-center">
|
||
<Link
|
||
href="/"
|
||
className="inline-flex items-center justify-center px-6 py-3 bg-primary-yellow text-primary-dark font-semibold rounded-btn hover:bg-primary-yellow/90 transition-colors"
|
||
>
|
||
Go Home
|
||
</Link>
|
||
<Link
|
||
href="/events"
|
||
className="inline-flex items-center justify-center px-6 py-3 border-2 border-primary-dark text-primary-dark font-semibold rounded-btn hover:bg-primary-dark hover:text-white transition-colors"
|
||
>
|
||
View Events
|
||
</Link>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
);
|
||
}
|