Files
kovakyazilim/app/(site)/site-analizi/page.tsx
T
Ege Can Komur cf46e30a7e feat: TR rakip analizi → satış blokerleri düzeltildi
Rakip analizi (kocaelidijital.com, promedyanet.com, lf.com.tr) sonrası
satış blokerleri tespit edildi ve aşağıdaki bölümler eklendi:

1. ANASAYFADA SSS (8 hazır soru, admin'den düzenlenebilir)
   - Fiyat, süre, ödeme, garanti, hosting, SEO, mevcut site yenileme,
     sadece tasarım hizmeti gibi en sık sorulan sorular
   - HomepageFaq component (sticky sol + accordion sağ)
   - site_settings.homepage_faq[] (JSON {q,a})

2. RISK REVERSAL bölümü (Guarantee component)
   - 'İlk taslak ücretsiz, memnun değilseniz devam etmiyoruz'
   - 4 garanti maddesi checklist
   - site_settings.guarantee_title/description/items

3. PROJE METRİKLERİ (vaka çalışması güçlendirme)
   - projects.metrics[] (JSON {value,label})
   - Detay sayfada büyük metric kartları
   - Admin formda 'değer | etiket' satır formatı

4. HERO COPY GÜNCELLEMESİ (admin'den düzenlenebilir)
   - 'Kocaeli'de 2-3 hafta içinde yayında olan, satan kurumsal web siteleri'
   - 'İlk tasarım taslakı ücretsiz' vurgusu
   - Trust band: 30 dk yanıt + ücretsiz taslak + 4.9 memnuniyet

5. /SITE-ANALIZI LEAD MAGNET SAYFASI
   - URL + ad + email + telefon formu
   - 6 analiz başlığı (CWV, mobil, SEO, güvenlik, içerik, rakip)
   - contact_messages'a source=quick-site-audit ile yazılır
   - 'subject' alanı ile inbox'ta ayırt edilebilir

6. EKİP BÖLÜMÜ (Hakkımızda sayfasında)
   - Yeni team_members tablosu (name, role, bio, photo, linkedin)
   - /admin/ekip CRUD sayfası
   - TeamGrid component

7. SEKTÖR LANDING SAYFALARI (/sektor/[slug])
   - Yeni industries tablosu (slug, title, content, features, faq, SEO)
   - /admin/sektorler CRUD sayfası
   - SEO + ad-targeted landing template
   - Hero + trust + features + content + garanti + projeler + hizmetler + FAQ + JSON-LD

Admin /admin/site formuna yeni bölümler:
- 'Risk reversal / Garanti' (title + description + items)
- 'Anasayfa SSS' (---' bloklarla)

App sidebar'a 'Sektörler' ve 'Ekip' linkleri eklendi.
Footer'a 'Ücretsiz Site Analizi' linki eklendi.

36 route üretiliyor (önceki 31'den +5: /site-analizi, /sektor/[slug],
/admin/ekip + alt, /admin/sektorler + alt).
2026-05-20 04:03:21 +03:00

138 lines
5.7 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import type { Metadata } from "next";
import { Search, Gauge, Smartphone, TrendingUp, Lock, FileText } from "lucide-react";
import { AuditForm } from "@/components/audit-form";
import { buildMetadata } from "@/lib/seo";
export async function generateMetadata(): Promise<Metadata> {
return buildMetadata("/site-analizi", {
title: "Ücretsiz Site Analizi",
description:
"Web sitenizin SEO, hız, mobil uyumluluk ve dönüşüm performansını ölçen ücretsiz analiz raporu. 24 saat içinde e-postanıza.",
});
}
const CHECKS = [
{
icon: Gauge,
title: "Sayfa hızı (Core Web Vitals)",
description: "LCP, INP, CLS skorları + iyileştirme önerileri.",
},
{
icon: Smartphone,
title: "Mobil uyumluluk",
description: "Mobile-friendly testi + responsive sorunları.",
},
{
icon: TrendingUp,
title: "SEO temelleri",
description: "Meta etiketler, schema, sitemap, internal linking analizi.",
},
{
icon: Lock,
title: "Güvenlik & SSL",
description: "HTTPS, güvenlik başlıkları, açık güvenlik açıkları taraması.",
},
{
icon: FileText,
title: "İçerik kalitesi",
description: "Heading yapısı, alt text, içerik uzunluğu, okunabilirlik.",
},
{
icon: Search,
title: "Rakip karşılaştırması",
description: "Sektörünüzdeki 2-3 rakiple anahtar metriklerin kıyaslanması.",
},
];
export default function AuditPage() {
return (
<>
<section className="relative overflow-hidden">
<div className="absolute inset-0 hero-grid opacity-50" aria-hidden />
<div className="absolute -right-32 top-1/2 -z-0 size-[420px] -translate-y-1/2 rounded-full bg-gradient-to-br from-[var(--sky)]/20 to-transparent blur-3xl" aria-hidden />
<div className="relative mx-auto grid max-w-7xl items-start gap-12 px-6 py-20 lg:grid-cols-[1.1fr_1fr]">
<div>
<span className="inline-flex items-center gap-2 rounded-full border border-[var(--sky)]/30 bg-[var(--sky-50)] px-3 py-1 text-xs font-medium text-[var(--sky-600)]">
Ücretsiz taahhüt yok
</span>
<h1 className="mt-5 text-4xl font-bold leading-tight tracking-tight text-[var(--navy)] sm:text-5xl">
Web sitenizin <span className="gradient-text">satış kapasitesini</span> 24 saatte ölçelim
</h1>
<p className="mt-5 max-w-xl text-lg leading-relaxed text-[var(--muted)]">
Mevcut sitenizin SEO, hız, mobil uyumluluk ve dönüşüm
performansını analiz edip, neyin daha çok müşteri getireceğini
net bir raporla gösteriyoruz.
</p>
<ul className="mt-8 space-y-2.5 text-sm text-[var(--foreground)]">
<li className="flex items-start gap-2">
<span className="mt-0.5 flex size-5 shrink-0 items-center justify-center rounded-full bg-[var(--sky-50)] text-xs text-[var(--sky-600)]">
</span>
Sitenizin Google'da neden yeterince görünmediği
</li>
<li className="flex items-start gap-2">
<span className="mt-0.5 flex size-5 shrink-0 items-center justify-center rounded-full bg-[var(--sky-50)] text-xs text-[var(--sky-600)]">
</span>
Ziyaretçi neden müşteriye dönüşmüyor somut nedenler
</li>
<li className="flex items-start gap-2">
<span className="mt-0.5 flex size-5 shrink-0 items-center justify-center rounded-full bg-[var(--sky-50)] text-xs text-[var(--sky-600)]">
</span>
Rakiplerinize göre hangi alanlarda gerideniz
</li>
<li className="flex items-start gap-2">
<span className="mt-0.5 flex size-5 shrink-0 items-center justify-center rounded-full bg-[var(--sky-50)] text-xs text-[var(--sky-600)]">
</span>
Öncelikli iyileştirme listesi (etki/efor matrisli)
</li>
</ul>
</div>
<div className="rounded-2xl border border-[var(--border)] bg-white p-6 shadow-xl shadow-[var(--navy)]/5 sm:p-8">
<AuditForm />
</div>
</div>
</section>
<section className="border-y border-[var(--border)] bg-[var(--navy-50)]/40 py-20">
<div className="mx-auto max-w-7xl px-6">
<h2 className="text-2xl font-bold text-[var(--navy)] sm:text-3xl">
Raporda neler var?
</h2>
<p className="mt-2 max-w-2xl text-sm text-[var(--muted)]">
Otomatik araç çıktısı değil uzmanlarımızın değerlendirdiği,
önceliklendirilmiş ve eyleme dökülebilir bir doküman.
</p>
<div className="mt-10 grid gap-6 sm:grid-cols-2 lg:grid-cols-3">
{CHECKS.map((c) => {
const Icon = c.icon;
return (
<div
key={c.title}
className="rounded-2xl border border-[var(--border)] bg-white p-6"
>
<div className="flex size-11 items-center justify-center rounded-xl bg-[var(--navy-50)] text-[var(--navy)]">
<Icon className="size-5" />
</div>
<h3 className="mt-4 text-base font-semibold text-[var(--navy)]">
{c.title}
</h3>
<p className="mt-1 text-sm leading-relaxed text-[var(--muted)]">
{c.description}
</p>
</div>
);
})}
</div>
</div>
</section>
</>
);
}