Seo Testing updated
@ -1,37 +1,40 @@
|
||||
# Antalya Restaurant - Apache Configuration
|
||||
# SIMPLIFIED - Fixes 404 errors on refresh/new tab 100%
|
||||
# FIXED - Handles Next.js static export with trailing slashes 100%
|
||||
|
||||
<IfModule mod_rewrite.c>
|
||||
RewriteEngine On
|
||||
RewriteBase /
|
||||
|
||||
# Prevent directory listing
|
||||
# Prevent directory listing and disable MultiViews (Critical for Next.js)
|
||||
Options -Indexes
|
||||
Options +FollowSymLinks
|
||||
Options -MultiViews
|
||||
|
||||
# Skip if file exists
|
||||
# 1. Custom 404 handling
|
||||
ErrorDocument 404 /404.html
|
||||
|
||||
# 2. Handle trailing slashes strictly
|
||||
# If request is a file, serve it directly
|
||||
RewriteCond %{REQUEST_FILENAME} -f
|
||||
RewriteRule ^ - [L]
|
||||
|
||||
# Skip if directory exists
|
||||
# If request is a directory, serve the index.html inside it
|
||||
RewriteCond %{REQUEST_FILENAME} -d
|
||||
RewriteRule ^ - [L]
|
||||
RewriteRule ^(.*[^/])$ $1/ [R=301,L]
|
||||
|
||||
# Add trailing slash if missing and directory exists
|
||||
RewriteCond %{REQUEST_URI} !(.*)/$
|
||||
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI}/ -d
|
||||
RewriteRule ^(.*)$ $1/ [R=301,L]
|
||||
# Rewrite all folder requests to their index.html
|
||||
RewriteCond %{REQUEST_FILENAME} -d
|
||||
RewriteRule ^(.*)/$ $1/index.html [L]
|
||||
|
||||
# Serve index.html from directory if it exists
|
||||
RewriteCond %{REQUEST_URI} (.*)/$
|
||||
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI}index.html -f
|
||||
RewriteRule ^(.*)$ %{DOCUMENT_ROOT}%{REQUEST_URI}index.html [L]
|
||||
# 4. Fallback for clean URLs (if folder detection fails but index.html exists)
|
||||
RewriteCond %{DOCUMENT_ROOT}/$1/index.html -f
|
||||
RewriteRule ^(.*)/$ $1/index.html [L]
|
||||
|
||||
# Fallback: try to serve as directory with index.html
|
||||
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI}/index.html -f
|
||||
RewriteRule ^(.*)$ %{DOCUMENT_ROOT}%{REQUEST_URI}/index.html [L]
|
||||
|
||||
# Custom 404 page
|
||||
ErrorDocument 404 /404.html
|
||||
# 4. Fallback for clean URLs (just in case)
|
||||
RewriteCond %{REQUEST_FILENAME} !-f
|
||||
RewriteCond %{REQUEST_FILENAME} !-d
|
||||
RewriteCond %{REQUEST_FILENAME}.html -f
|
||||
RewriteRule ^(.*)$ $1.html [L]
|
||||
</IfModule>
|
||||
|
||||
# Security Headers
|
||||
@ -39,19 +42,24 @@
|
||||
Header set X-Content-Type-Options "nosniff"
|
||||
Header set X-Frame-Options "DENY"
|
||||
Header set X-XSS-Protection "1; mode=block"
|
||||
Header set Referrer-Policy "strict-origin-when-cross-origin"
|
||||
</IfModule>
|
||||
|
||||
# Cache Control
|
||||
<IfModule mod_expires.c>
|
||||
ExpiresActive On
|
||||
ExpiresDefault "access plus 1 month"
|
||||
ExpiresByType text/html "access plus 0 seconds"
|
||||
ExpiresByType text/xml "access plus 0 seconds"
|
||||
ExpiresByType application/xml "access plus 0 seconds"
|
||||
ExpiresByType application/json "access plus 0 seconds"
|
||||
ExpiresByType image/jpg "access plus 1 year"
|
||||
ExpiresByType image/jpeg "access plus 1 year"
|
||||
ExpiresByType image/gif "access plus 1 year"
|
||||
ExpiresByType image/png "access plus 1 year"
|
||||
ExpiresByType image/webp "access plus 1 year"
|
||||
ExpiresByType image/svg+xml "access plus 1 year"
|
||||
ExpiresByType text/css "access plus 1 year"
|
||||
ExpiresByType text/javascript "access plus 1 year"
|
||||
ExpiresByType application/javascript "access plus 1 year"
|
||||
ExpiresByType image/x-icon "access plus 1 year"
|
||||
ExpiresByType application/javascript "access plus 1 year"
|
||||
ExpiresByType text/css "access plus 1 year"
|
||||
</IfModule>
|
||||
|
||||
|
Before Width: | Height: | Size: 1.1 MiB |
|
Before Width: | Height: | Size: 1.1 MiB |
|
Before Width: | Height: | Size: 991 KiB |
|
Before Width: | Height: | Size: 944 KiB |
|
Before Width: | Height: | Size: 836 KiB |
|
Before Width: | Height: | Size: 765 KiB |
|
Before Width: | Height: | Size: 1.6 MiB |
|
Before Width: | Height: | Size: 788 KiB |
@ -18,7 +18,7 @@
|
||||
<remove fileExtension=".woff2" />
|
||||
<mimeMap fileExtension=".woff2" mimeType="font/woff2" />
|
||||
<remove fileExtension=".js" />
|
||||
<mimeMap fileExtension=".js" mimeType="application/javascript" />
|
||||
<mimeMap fileExtension=".js" mimeType="text/javascript" />
|
||||
<remove fileExtension=".css" />
|
||||
<mimeMap fileExtension=".css" mimeType="text/css" />
|
||||
</staticContent>
|
||||
@ -28,13 +28,20 @@
|
||||
</httpErrors>
|
||||
<rewrite>
|
||||
<rules>
|
||||
<rule name="Handling Trailing Slashes" stopProcessing="false">
|
||||
<match url="(.*)" />
|
||||
<rule name="Trailing Slash Enforce" stopProcessing="true">
|
||||
<match url="(.*[^/])$" />
|
||||
<conditions>
|
||||
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
|
||||
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
|
||||
</conditions>
|
||||
<action type="Rewrite" url="{R:1}" />
|
||||
<action type="Redirect" redirectType="Permanent" url="{R:1}/" />
|
||||
</rule>
|
||||
<rule name="React Routes" stopProcessing="true">
|
||||
<match url="(.*)/$" />
|
||||
<conditions>
|
||||
<add input="{REQUEST_FILENAME}index.html" matchType="IsFile" />
|
||||
</conditions>
|
||||
<action type="Rewrite" url="{R:1}/index.html" />
|
||||
</rule>
|
||||
</rules>
|
||||
</rewrite>
|
||||
|
||||
@ -1,55 +1 @@
|
||||
Page URL,Image Src,Alt Text,Issue Type
|
||||
"http://localhost:3000/","http://localhost:3000/images/dinner.png","(empty)","Empty Alt"
|
||||
"http://localhost:3000/","http://localhost:3000/images/eat.png","(empty)","Empty Alt"
|
||||
"http://localhost:3000/","http://localhost:3000/images/dinner.png","(empty)","Empty Alt"
|
||||
"http://localhost:3000/","http://localhost:3000/images/eat.png","(empty)","Empty Alt"
|
||||
"http://localhost:3000/","http://localhost:3000/images/dinner.png","(empty)","Empty Alt"
|
||||
"http://localhost:3000/","http://localhost:3000/images/eat.png","(empty)","Empty Alt"
|
||||
"http://localhost:3000/","http://localhost:3000/images/dinner.png","(empty)","Empty Alt"
|
||||
"http://localhost:3000/","http://localhost:3000/images/eat.png","(empty)","Empty Alt"
|
||||
"http://localhost:3000/","http://localhost:3000/images/dinner.png","(empty)","Empty Alt"
|
||||
"http://localhost:3000/","http://localhost:3000/images/eat.png","(empty)","Empty Alt"
|
||||
"https://antalya.metatronnest.com/book-a-table/","","Antalya Restaurant","Duplicate Alt (3 times)"
|
||||
"https://antalya.metatronnest.com/book-a-table/","","Phone","Duplicate Alt (2 times)"
|
||||
"http://localhost:3000/about-antalya-restaurant/","http://localhost:3000/images/dinner.png","(empty)","Empty Alt"
|
||||
"http://localhost:3000/about-antalya-restaurant/","http://localhost:3000/images/eat.png","(empty)","Empty Alt"
|
||||
"http://localhost:3000/about-antalya-restaurant/","http://localhost:3000/images/dinner.png","(empty)","Empty Alt"
|
||||
"http://localhost:3000/about-antalya-restaurant/","http://localhost:3000/images/eat.png","(empty)","Empty Alt"
|
||||
"http://localhost:3000/about-antalya-restaurant/","http://localhost:3000/images/dinner.png","(empty)","Empty Alt"
|
||||
"http://localhost:3000/about-antalya-restaurant/","http://localhost:3000/images/eat.png","(empty)","Empty Alt"
|
||||
"http://localhost:3000/about-antalya-restaurant/","","Antalya Restaurant Header Logo","Duplicate Alt (2 times)"
|
||||
"http://localhost:3000/about-antalya-restaurant/","","Antalya Dinner Icon","Duplicate Alt (3 times)"
|
||||
"http://localhost:3000/about-antalya-restaurant/","","Antalya Cutlery Icon","Duplicate Alt (3 times)"
|
||||
"http://localhost:3000/antalya-restaurant-menu/","http://localhost:3000/images/dinner.png","(empty)","Empty Alt"
|
||||
"http://localhost:3000/antalya-restaurant-menu/","http://localhost:3000/images/eat.png","(empty)","Empty Alt"
|
||||
"http://localhost:3000/antalya-restaurant-menu/","","Antalya Restaurant Header Logo","Duplicate Alt (2 times)"
|
||||
"http://localhost:3000/antalya-restaurant-gallery/","http://localhost:3000/images/dinner.png","(empty)","Empty Alt"
|
||||
"http://localhost:3000/antalya-restaurant-gallery/","http://localhost:3000/images/eat.png","(empty)","Empty Alt"
|
||||
"http://localhost:3000/antalya-restaurant-gallery/","","Antalya Restaurant Header Logo","Duplicate Alt (2 times)"
|
||||
"http://localhost:3000/catering-services-ontario/","http://localhost:3000/images/dinner.png","(empty)","Empty Alt"
|
||||
"http://localhost:3000/catering-services-ontario/","http://localhost:3000/images/eat.png","(empty)","Empty Alt"
|
||||
"http://localhost:3000/catering-services-ontario/","http://localhost:3000/images/dinner.png","(empty)","Empty Alt"
|
||||
"http://localhost:3000/catering-services-ontario/","http://localhost:3000/images/eat.png","(empty)","Empty Alt"
|
||||
"http://localhost:3000/catering-services-ontario/","http://localhost:3000/images/dinner.png","(empty)","Empty Alt"
|
||||
"http://localhost:3000/catering-services-ontario/","http://localhost:3000/images/eat.png","(empty)","Empty Alt"
|
||||
"http://localhost:3000/catering-services-ontario/","http://localhost:3000/images/dinner.png","(empty)","Empty Alt"
|
||||
"http://localhost:3000/catering-services-ontario/","http://localhost:3000/images/eat.png","(empty)","Empty Alt"
|
||||
"http://localhost:3000/catering-services-ontario/","http://localhost:3000/images/dinner.png","(empty)","Empty Alt"
|
||||
"http://localhost:3000/catering-services-ontario/","http://localhost:3000/images/eat.png","(empty)","Empty Alt"
|
||||
"http://localhost:3000/catering-services-ontario/","","Antalya Restaurant Header Logo","Duplicate Alt (2 times)"
|
||||
"http://localhost:3000/book-a-table/","http://localhost:3000/images/dinner.png","(empty)","Empty Alt"
|
||||
"http://localhost:3000/book-a-table/","http://localhost:3000/images/eat.png","(empty)","Empty Alt"
|
||||
"http://localhost:3000/book-a-table/","","Antalya Restaurant Header Logo","Duplicate Alt (2 times)"
|
||||
"https://antalya.metatronnest.com/antalya-turkish-food-blog/","","Antalya Restaurant","Duplicate Alt (3 times)"
|
||||
"https://antalya.metatronnest.com/antalya-turkish-food-blog/","","icon","Duplicate Alt (2 times)"
|
||||
"https://antalya.metatronnest.com/antalya-turkish-food-blog/","","Phone","Duplicate Alt (2 times)"
|
||||
"http://localhost:3000/antalya-turkish-food-blog/","http://localhost:3000/images/dinner.png","(empty)","Empty Alt"
|
||||
"http://localhost:3000/antalya-turkish-food-blog/","http://localhost:3000/images/eat.png","(empty)","Empty Alt"
|
||||
"http://localhost:3000/antalya-turkish-food-blog/","","Antalya Restaurant Header Logo","Duplicate Alt (2 times)"
|
||||
"http://localhost:3000/antalya-turkish-food-blog/the-art-of-turkish-tea/","","Antalya Restaurant Header Logo","Duplicate Alt (2 times)"
|
||||
"http://localhost:3000/antalya-turkish-food-blog/secrets-of-charcoal-grilling/","","Antalya Restaurant Header Logo","Duplicate Alt (2 times)"
|
||||
"http://localhost:3000/antalya-turkish-food-blog/a-taste-of-sweet-legacy/","","Antalya Restaurant Header Logo","Duplicate Alt (2 times)"
|
||||
"https://antalya.metatronnest.com/antalya-turkish-food-blog/the-art-of-turkish-tea/","","Antalya Restaurant","Duplicate Alt (3 times)"
|
||||
"https://antalya.metatronnest.com/antalya-turkish-food-blog/the-art-of-turkish-tea/","","Phone","Duplicate Alt (2 times)"
|
||||
"https://antalya.metatronnest.com/antalya-turkish-food-blog/secrets-of-charcoal-grilling/","","Antalya Restaurant","Duplicate Alt (3 times)"
|
||||
"https://antalya.metatronnest.com/antalya-turkish-food-blog/secrets-of-charcoal-grilling/","","Phone","Duplicate Alt (2 times)"
|
||||
|
||||
|
@ -1,6 +1,5 @@
|
||||
'use client'
|
||||
|
||||
import Navbar from "@/components/Navbar/Navbar";
|
||||
import Footer from "@/components/Footer/Footer";
|
||||
import FAQ from "@/components/FAQ/FAQ";
|
||||
import Image from "next/image";
|
||||
@ -85,7 +84,7 @@ export default function AboutContent() {
|
||||
|
||||
return (
|
||||
<main className={styles.main}>
|
||||
<Navbar />
|
||||
|
||||
|
||||
{/* Hero Banner */}
|
||||
<motion.section
|
||||
@ -113,9 +112,9 @@ export default function AboutContent() {
|
||||
>
|
||||
<motion.div className={styles.textBlock} variants={slideInLeft}>
|
||||
<div className={styles.smallHeading} style={{ display: 'flex', alignItems: 'center', justifyContent: 'start', gap: '10px' }}>
|
||||
<Image src="/images/dinner.png" alt="Antalya Dinner Icon" width={24} height={24} />
|
||||
<Image src="/images/dinner.png" alt="Our Story Decorative Dinner Icon" width={24} height={24} />
|
||||
<span>ANTALYA</span>
|
||||
<Image src="/images/eat.png" alt="Antalya Cutlery Icon" width={24} height={24} />
|
||||
<Image src="/images/eat.png" alt="Our Story Decorative Cutlery Icon" width={24} height={24} />
|
||||
</div>
|
||||
<h2 className={styles.sectionTitle}>Our Story</h2>
|
||||
<p className={styles.text}>
|
||||
@ -140,9 +139,9 @@ export default function AboutContent() {
|
||||
{/* Features Section - With real images */}
|
||||
<section className={`${styles.section} ${styles.featuresSection}`}>
|
||||
<div className={styles.smallHeading} style={{ display: 'flex', alignItems: 'center', justifyContent: 'center', gap: '10px' }}>
|
||||
<Image src="/images/dinner.png" alt="Antalya Dinner Icon" width={24} height={24} />
|
||||
<Image src="/images/dinner.png" alt="Features Section Dinner Icon" width={24} height={24} />
|
||||
<span>ANTALYA</span>
|
||||
<Image src="/images/eat.png" alt="Antalya Cutlery Icon" width={24} height={24} />
|
||||
<Image src="/images/eat.png" alt="Features Section Cutlery Icon" width={24} height={24} />
|
||||
</div>
|
||||
<motion.h2
|
||||
className={styles.sectionTitleCenter}
|
||||
@ -191,9 +190,9 @@ export default function AboutContent() {
|
||||
</motion.div>
|
||||
<motion.div className={styles.textBlock} variants={slideInRight}>
|
||||
<div className={styles.smallHeading} style={{ display: 'flex', alignItems: 'center', justifyContent: 'start', gap: '10px' }}>
|
||||
<Image src="/images/dinner.png" alt="" width={24} height={24} />
|
||||
<Image src="/images/dinner.png" alt="Why Choose Us Dinner Icon" width={24} height={24} />
|
||||
<span>ANTALYA</span>
|
||||
<Image src="/images/eat.png" alt="" width={24} height={24} />
|
||||
<Image src="/images/eat.png" alt="Why Choose Us Cutlery Icon" width={24} height={24} />
|
||||
</div>
|
||||
<h2 className={styles.sectionTitle}>Why Choose Us</h2>
|
||||
<p className={styles.text}>
|
||||
@ -209,9 +208,9 @@ export default function AboutContent() {
|
||||
{/* Testimonials Section - Auto Slider */}
|
||||
<section className={`${styles.section} ${styles.testimonialsSection}`}>
|
||||
<div className={styles.smallHeading} style={{ display: 'flex', alignItems: 'center', justifyContent: 'center', gap: '10px' }}>
|
||||
<Image src="/images/dinner.png" alt="Antalya Dinner Icon" width={24} height={24} />
|
||||
<Image src="/images/dinner.png" alt="Testimonials Section Dinner Icon" width={24} height={24} />
|
||||
<span>ANTALYA</span>
|
||||
<Image src="/images/eat.png" alt="Antalya Cutlery Icon" width={24} height={24} />
|
||||
<Image src="/images/eat.png" alt="Testimonials Section Cutlery Icon" width={24} height={24} />
|
||||
</div>
|
||||
<motion.h2
|
||||
className={styles.sectionTitleCenter}
|
||||
@ -308,9 +307,9 @@ export default function AboutContent() {
|
||||
</motion.div>
|
||||
<motion.div className={styles.faqContentBlock} variants={slideInRight}>
|
||||
<div className={styles.smallHeading} style={{ display: 'flex', alignItems: 'center', justifyContent: 'start', gap: '10px' }}>
|
||||
<Image src="/images/dinner.png" alt="" width={24} height={24} />
|
||||
<Image src="/images/dinner.png" alt="FAQ Section Decorative Dinner Icon" width={24} height={24} />
|
||||
<span>ANTALYA</span>
|
||||
<Image src="/images/eat.png" alt="" width={24} height={24} />
|
||||
<Image src="/images/eat.png" alt="FAQ Section Decorative Cutlery Icon" width={24} height={24} />
|
||||
</div>
|
||||
<h2 className={styles.faqTitle}>FAQ – Your Questions Answered</h2>
|
||||
<p className={styles.faqSubtitle}>
|
||||
@ -336,9 +335,9 @@ export default function AboutContent() {
|
||||
>
|
||||
<div className={styles.ctaOverlay}>
|
||||
<div className={styles.smallHeading} style={{ display: 'flex', alignItems: 'center', justifyContent: 'center', gap: '10px' }}>
|
||||
<Image src="/images/dinner.png" alt="Antalya Dinner Icon" width={24} height={24} />
|
||||
<Image src="/images/dinner.png" alt="About CTA Dinner Icon" width={24} height={24} />
|
||||
<span>ANTALYA</span>
|
||||
<Image src="/images/eat.png" alt="Antalya Cutlery Icon" width={24} height={24} />
|
||||
<Image src="/images/eat.png" alt="About CTA Cutlery Icon" width={24} height={24} />
|
||||
</div>
|
||||
<motion.h2
|
||||
className={styles.ctaTitle}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
'use client'
|
||||
|
||||
import { useState } from 'react';
|
||||
import Navbar from "@/components/Navbar/Navbar";
|
||||
|
||||
import Footer from "@/components/Footer/Footer";
|
||||
import Image from "next/image";
|
||||
import Link from "next/link";
|
||||
@ -92,7 +92,7 @@ export default function GalleryContent() {
|
||||
|
||||
return (
|
||||
<main className={styles.main}>
|
||||
<Navbar />
|
||||
|
||||
|
||||
<motion.section
|
||||
className={styles.hero}
|
||||
@ -110,9 +110,9 @@ export default function GalleryContent() {
|
||||
|
||||
<section className={styles.sectionHeading}>
|
||||
<div className={styles.smallHeading} style={{ display: 'flex', alignItems: 'center', justifyContent: 'center', gap: '10px' }}>
|
||||
<Image src="/images/dinner.png" alt="Antalya Dinner Icon" width={24} height={24} />
|
||||
<Image src="/images/dinner.png" alt="Gallery Section Decorative Dinner Icon" width={24} height={24} />
|
||||
<span>ANTALYA</span>
|
||||
<Image src="/images/eat.png" alt="Antalya Cutlery Icon" width={24} height={24} />
|
||||
<Image src="/images/eat.png" alt="Gallery Section Decorative Cutlery Icon" width={24} height={24} />
|
||||
</div>
|
||||
<h2 className={styles.mainHeading}>A Visual Journey Through Authentic Turkish Dining</h2>
|
||||
<p className={styles.description}>
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
'use client'
|
||||
|
||||
import { useState } from 'react';
|
||||
import Navbar from "@/components/Navbar/Navbar";
|
||||
import Footer from "@/components/Footer/Footer";
|
||||
import Image from "next/image";
|
||||
import Link from "next/link";
|
||||
@ -74,7 +73,6 @@ export default function MenuPage() {
|
||||
|
||||
return (
|
||||
<main className={styles.main}>
|
||||
<Navbar />
|
||||
|
||||
<motion.section
|
||||
className={styles.hero}
|
||||
@ -92,9 +90,9 @@ export default function MenuPage() {
|
||||
|
||||
<section className={styles.sectionHeading}>
|
||||
<div className={styles.smallHeading} style={{ display: 'flex', alignItems: 'center', justifyContent: 'center', gap: '10px' }}>
|
||||
<Image src="/images/dinner.png" alt="" width={24} height={24} />
|
||||
<Image src="/images/dinner.png" alt="Menu Section Decorative Dinner Icon" width={24} height={24} />
|
||||
<span>ANTALYA</span>
|
||||
<Image src="/images/eat.png" alt="" width={24} height={24} />
|
||||
<Image src="/images/eat.png" alt="Menu Section Decorative Cutlery Icon" width={24} height={24} />
|
||||
</div>
|
||||
<h2 className={styles.mainHeading}>Delicious Turkish Flavours, Mezze, and More</h2>
|
||||
<p className={styles.description}>
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
'use client'
|
||||
|
||||
import Navbar from "@/components/Navbar/Navbar";
|
||||
|
||||
import Footer from "@/components/Footer/Footer";
|
||||
import Image from "next/image";
|
||||
import Link from "next/link";
|
||||
@ -48,7 +48,7 @@ export default function BlogContent() {
|
||||
|
||||
return (
|
||||
<main className={styles.main}>
|
||||
<Navbar />
|
||||
|
||||
|
||||
<motion.section
|
||||
className={styles.hero}
|
||||
@ -66,9 +66,9 @@ export default function BlogContent() {
|
||||
|
||||
<section className={styles.sectionHeading}>
|
||||
<div className={styles.smallHeading} style={{ display: 'flex', alignItems: 'center', justifyContent: 'center', gap: '10px' }}>
|
||||
<Image src="/images/dinner.png" alt="" width={24} height={24} />
|
||||
<Image src="/images/dinner.png" alt="Blog Section Decorative Dinner Icon" width={24} height={24} />
|
||||
<span>ANTALYA</span>
|
||||
<Image src="/images/eat.png" alt="" width={24} height={24} />
|
||||
<Image src="/images/eat.png" alt="Blog Section Decorative Cutlery Icon" width={24} height={24} />
|
||||
</div>
|
||||
<h2 className={styles.mainHeading}>Stories Crafted Through Flavor & Celebration</h2>
|
||||
<p className={styles.description}>
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import Navbar from "@/components/Navbar/Navbar";
|
||||
|
||||
import Footer from "@/components/Footer/Footer";
|
||||
import FAQ from "@/components/FAQ/FAQ";
|
||||
import Image from "next/image";
|
||||
@ -52,7 +52,7 @@ export default async function BlogDetailPage({ params }: { params: Promise<{ id:
|
||||
if (!blog) {
|
||||
return (
|
||||
<main className={styles.main}>
|
||||
<Navbar />
|
||||
|
||||
<div className={styles.errorContainer}>
|
||||
<h1 className={styles.errorTitle}>Blog Post Not Found</h1>
|
||||
<Link href="/antalya-turkish-food-blog" className={styles.backLink}>Back to Blog</Link>
|
||||
@ -64,7 +64,7 @@ export default async function BlogDetailPage({ params }: { params: Promise<{ id:
|
||||
|
||||
return (
|
||||
<main className={styles.main}>
|
||||
<Navbar />
|
||||
|
||||
|
||||
{/* Banner Section */}
|
||||
<section className={styles.hero} style={{ backgroundImage: `linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url(${blog.banner})` }}>
|
||||
@ -91,6 +91,7 @@ export default async function BlogDetailPage({ params }: { params: Promise<{ id:
|
||||
width={1200}
|
||||
height={600}
|
||||
style={{ objectFit: 'cover' }}
|
||||
loading="lazy"
|
||||
/>
|
||||
</div>
|
||||
)}
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
import { useState, useEffect } from "react";
|
||||
import ReCAPTCHA from "react-google-recaptcha";
|
||||
import axios from "axios";
|
||||
import Navbar from "@/components/Navbar/Navbar";
|
||||
|
||||
import Footer from "@/components/Footer/Footer";
|
||||
import Image from "next/image";
|
||||
import Link from "next/link";
|
||||
@ -136,7 +136,7 @@ export default function ContactContent() {
|
||||
|
||||
return (
|
||||
<main className={styles.main}>
|
||||
<Navbar />
|
||||
|
||||
|
||||
<motion.section
|
||||
className={styles.hero}
|
||||
@ -169,9 +169,9 @@ export default function ContactContent() {
|
||||
transition={{ duration: 0.8 }}
|
||||
>
|
||||
<div className={styles.smallHeading} style={{ display: 'flex', alignItems: 'center', justifyContent: 'start', gap: '10px' }}>
|
||||
<Image src="/images/dinner.png" alt="" width={24} height={24} />
|
||||
<Image src="/images/dinner.png" alt="Contact Section Decorative Dinner Icon" width={24} height={24} />
|
||||
<span>ANTALYA</span>
|
||||
<Image src="/images/eat.png" alt="" width={24} height={24} />
|
||||
<Image src="/images/eat.png" alt="Contact Section Decorative Cutlery Icon" width={24} height={24} />
|
||||
</div>
|
||||
<h2 className={styles.title}>Book a Table</h2>
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
|
||||
import { useState, useEffect } from 'react'
|
||||
import { motion } from 'framer-motion'
|
||||
import Navbar from '@/components/Navbar/Navbar'
|
||||
|
||||
import Footer from '@/components/Footer/Footer'
|
||||
import Link from 'next/link'
|
||||
import Image from 'next/image'
|
||||
@ -112,7 +112,7 @@ export default function CateringContent() {
|
||||
|
||||
return (
|
||||
<main className={styles.main}>
|
||||
<Navbar />
|
||||
|
||||
|
||||
{/* Page Hero */}
|
||||
<section className={styles.hero}>
|
||||
@ -135,9 +135,9 @@ export default function CateringContent() {
|
||||
>
|
||||
<section className={styles.sectionHeading1}>
|
||||
<div className={styles.smallHeading1} style={{ display: 'flex', alignItems: 'center', justifyContent: 'center', gap: '10px' }}>
|
||||
<Image src="/images/dinner.png" alt="" width={24} height={24} />
|
||||
<Image src="/images/dinner.png" alt="Catering Event Decorative Dinner Icon" width={24} height={24} />
|
||||
<span>ANTALYA</span>
|
||||
<Image src="/images/eat.png" alt="" width={24} height={24} />
|
||||
<Image src="/images/eat.png" alt="Catering Event Decorative Cutlery Icon" width={24} height={24} />
|
||||
</div>
|
||||
<h2 className={styles.mainHeading1}>Exceptional Turkish Catering for Every Occasion</h2>
|
||||
<p className={styles.description1}>
|
||||
@ -267,9 +267,9 @@ export default function CateringContent() {
|
||||
{/* Right Side: Content */}
|
||||
<motion.div className={styles.welcomeContent} variants={slideInRight}>
|
||||
<div className={styles.smallHeading} style={{ display: 'flex', alignItems: 'center', justifyContent: 'start', gap: '10px' }}>
|
||||
<Image src="/images/dinner.png" alt="" width={24} height={24} />
|
||||
<Image src="/images/dinner.png" alt="Catering Visualization Decorative Dinner Icon" width={24} height={24} />
|
||||
<span>ANTALYA</span>
|
||||
<Image src="/images/eat.png" alt="" width={24} height={24} />
|
||||
<Image src="/images/eat.png" alt="Catering Visualization Decorative Cutlery Icon" width={24} height={24} />
|
||||
</div>
|
||||
<h2 className={styles.mainHeadingSection}>A Visual Journey Through Antalya Catering</h2>
|
||||
{/* <div className={styles.welcomeDivider}>
|
||||
@ -299,9 +299,9 @@ export default function CateringContent() {
|
||||
<motion.div className={styles.servingContent} variants={slideInLeft}>
|
||||
<section className={styles.sectionHeading3}>
|
||||
<div className={styles.smallHeading3} style={{ display: 'flex', alignItems: 'center', justifyContent: 'center', gap: '10px' }}>
|
||||
<Image src="/images/dinner.png" alt="" width={24} height={24} />
|
||||
<Image src="/images/dinner.png" alt="Culinary Experience Decorative Dinner Icon" width={24} height={24} />
|
||||
<span>ANTALYA</span>
|
||||
<Image src="/images/eat.png" alt="" width={24} height={24} />
|
||||
<Image src="/images/eat.png" alt="Culinary Experience Decorative Cutlery Icon" width={24} height={24} />
|
||||
</div>
|
||||
</section>
|
||||
<h2 className={styles.mainHeading}>A Culinary Experience Crafted for Your Event</h2>
|
||||
@ -356,9 +356,9 @@ export default function CateringContent() {
|
||||
>
|
||||
<motion.span className={styles.storyLabel} variants={fadeInUp}>
|
||||
<div className={styles.smallHeading3} style={{ display: 'flex', alignItems: 'center', justifyContent: 'center', gap: '10px' }}>
|
||||
<Image src="/images/dinner.png" alt="" width={24} height={24} />
|
||||
<Image src="/images/dinner.png" alt="Success Story Decorative Dinner Icon" width={24} height={24} />
|
||||
<span>ANTALYA</span>
|
||||
<Image src="/images/eat.png" alt="" width={24} height={24} />
|
||||
<Image src="/images/eat.png" alt="Success Story Decorative Cutlery Icon" width={24} height={24} />
|
||||
</div>
|
||||
</motion.span>
|
||||
<motion.h2 className={styles.storyTitle} variants={fadeInUp}>
|
||||
@ -422,9 +422,9 @@ export default function CateringContent() {
|
||||
{/* Right Side: Content */}
|
||||
<motion.div className={styles.aboutContent} variants={slideInRight}>
|
||||
<div className={styles.smallHeading} style={{ display: 'flex', alignItems: 'center', justifyContent: 'start', gap: '10px' }}>
|
||||
<Image src="/images/dinner.png" alt="" width={24} height={24} />
|
||||
<Image src="/images/dinner.png" alt="About Catering Decorative Dinner Icon" width={24} height={24} />
|
||||
<span>ANTALYA</span>
|
||||
<Image src="/images/eat.png" alt="" width={24} height={24} />
|
||||
<Image src="/images/eat.png" alt="About Catering Decorative Cutlery Icon" width={24} height={24} />
|
||||
</div>
|
||||
<h2 className={styles.mainHeading}>
|
||||
Antalya - One of Ontario’s Finest Catering Experiences
|
||||
|
||||
@ -41,9 +41,9 @@ export default function Blogs() {
|
||||
return (
|
||||
<section className={styles.section} id="blog">
|
||||
<div className={styles.smallHeading} style={{ display: 'flex', alignItems: 'center', justifyContent: 'center', gap: '10px' }}>
|
||||
<Image src="/images/dinner.png" alt="" width={24} height={24} />
|
||||
<Image src="/images/dinner.png" alt="Home Blog Section Decorative Dinner Icon" width={24} height={24} />
|
||||
<span>TASTE JOURNAL</span>
|
||||
<Image src="/images/eat.png" alt="" width={24} height={24} />
|
||||
<Image src="/images/eat.png" alt="Home Blog Section Decorative Cutlery Icon" width={24} height={24} />
|
||||
</div>
|
||||
<h2 className={styles.title}>Our Blogs</h2>
|
||||
|
||||
|
||||
@ -132,9 +132,9 @@ export default function BookTable() {
|
||||
<div className={styles.formContainer}>
|
||||
<div className={styles.content}>
|
||||
<div className={styles.smallHeading} style={{ display: 'flex', alignItems: 'center', justifyContent: 'center', gap: '10px' }}>
|
||||
<Image src="/images/dinner.png" alt="" width={24} height={24} />
|
||||
<Image src="/images/dinner.png" alt="Home Reservation Decorative Dinner Icon" width={24} height={24} />
|
||||
<span>ANTALYA</span>
|
||||
<Image src="/images/eat.png" alt="" width={24} height={24} />
|
||||
<Image src="/images/eat.png" alt="Home Reservation Decorative Cutlery Icon" width={24} height={24} />
|
||||
</div>
|
||||
<h2 className={styles.title}>Book A Table</h2>
|
||||
|
||||
|
||||
@ -40,9 +40,9 @@ export default function Gallery() {
|
||||
return (
|
||||
<section className={styles.section}>
|
||||
<div className={styles.smallHeading} style={{ display: 'flex', alignItems: 'center', justifyContent: 'center', gap: '10px' }}>
|
||||
<Image src="/images/dinner.png" alt="" width={24} height={24} />
|
||||
<Image src="/images/dinner.png" alt="Home Gallery Decorative Dinner Icon" width={24} height={24} />
|
||||
<span>GALLERY</span>
|
||||
<Image src="/images/eat.png" alt="" width={24} height={24} />
|
||||
<Image src="/images/eat.png" alt="Home Gallery Decorative Cutlery Icon" width={24} height={24} />
|
||||
</div>
|
||||
<h2 className={styles.title}>Flavour in Frames
|
||||
</h2>
|
||||
|
||||
@ -41,9 +41,9 @@ export default function HomeMenu() {
|
||||
className={styles.smallHeading}
|
||||
style={{ display: 'flex', alignItems: 'center', justifyContent: 'center', gap: '10px' }}
|
||||
>
|
||||
<Image src="/images/dinner.png" alt="" width={24} height={24} />
|
||||
<Image src="/images/dinner.png" alt="Home Menu Decorative Dinner Icon" width={24} height={24} />
|
||||
<span>ANTALYA</span>
|
||||
<Image src="/images/eat.png" alt="" width={24} height={24} />
|
||||
<Image src="/images/eat.png" alt="Home Menu Decorative Cutlery Icon" width={24} height={24} />
|
||||
</div>
|
||||
<h2 className={styles.mainHeading}>Explore Our Menu</h2>
|
||||
<p className={styles.description}>
|
||||
|
||||
@ -81,7 +81,7 @@ export default function Navbar() {
|
||||
<Link href="/" onClick={closeMenu}>
|
||||
<Image
|
||||
src="/images/header-logo.png"
|
||||
alt="Antalya Restaurant Header Logo"
|
||||
alt="Antalya Restaurant Navigation Logo"
|
||||
width={200}
|
||||
height={200}
|
||||
className={styles.logoImage}
|
||||
|
||||
@ -54,9 +54,9 @@ export default function PopularDishes() {
|
||||
className={styles.smallHeading}
|
||||
style={{ display: 'flex', alignItems: 'center', justifyContent: 'center', gap: '10px' }}
|
||||
>
|
||||
<Image src="/images/dinner.png" alt="" width={24} height={24} />
|
||||
<Image src="/images/dinner.png" alt="Popular Dishes Decorative Dinner Icon" width={24} height={24} />
|
||||
<span>ANTALYA</span>
|
||||
<Image src="/images/eat.png" alt="" width={24} height={24} />
|
||||
<Image src="/images/eat.png" alt="Popular Dishes Decorative Cutlery Icon" width={24} height={24} />
|
||||
</div>
|
||||
<motion.h2
|
||||
className={styles.title}
|
||||
|
||||
@ -327,7 +327,7 @@ export const blogData = [
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
slug: 'a-taste-of-sweet-legacy-turkish-baklava-desserts',
|
||||
slug: 'a-taste-of-sweet-legacy',
|
||||
title: 'A Taste of Sweet Legacy',
|
||||
metatitle: 'A Taste of Sweet Legacy | Turkish Baklava & Desserts',
|
||||
metadesc: 'Discover the rich heritage of Turkish desserts. Explore the art of baklava, its cultural traditions, how sweet rituals connect people across generations.',
|
||||
|
||||