Next.js Analiz Sonuçları

code-quality
component
data-fetching
history
performance
routing
security
seo
visualization
code-quality
Checks code quality and best practices

Unused Components

  • src\app\error.js
  • src\app\hakkimizda\page.js
  • src\app\iletisim\page.js
  • src\app\layout.js
  • src\app\loading.js
  • src\app\not-found.js
  • src\app\page.js
  • src\app\urunler\page.js
  • src\app\urunler\[urun-kategorisi]\page.js
  • src\app\urunler\[urun-kategorisi]\[urun-slug]\page.js
  • src\app\yazilar\page.js
  • src\app\yazilar\[slug]\page.js
component
Analyzes server and client components in Next.js projects
Next.js Component Analizi

Next.js Component Analizi

📁 app/

📄 src\app\error.js (Client Component)
Imports:
  • src\components\layout\main\ErrorMain.js (Client Component)
  • src\components\shared\others\ThemeController.js (Client Component)
  • src\components\shared\wrappers\PageWrapper.js (Client Component)
📄 src\components\layout\main\ErrorMain.js (Client Component)
Imported By:
  • src\app\error.js
  • src\app\not-found.js
📄 src\components\shared\others\ThemeController.js (Client Component)
Imported By:
  • src\app\error.js
  • src\app\loading.js
  • src\app\not-found.js
  • src\app\page.js
📄 src\components\shared\wrappers\PageWrapper.js (Client Component)
Imported By:
  • src\app\error.js
  • src\app\layout.js
  • src\app\loading.js
  • src\app\not-found.js
📄 src\app\hakkimizda\page.js (Server Component)
Imports:
  • src\components\layout\main\AboutMain.js (Server Component)
  • src\fetch\fetchle.js (Server Component)
  • src\libs\GenerateSeo.js (Server Component)
  • src\libs\ogSeo.js (Server Component)
📄 src\components\layout\main\AboutMain.js (Server Component)
Imported By:
  • src\app\hakkimizda\page.js
📄 src\fetch\fetchle.js (Server Component)
Imported By:
  • src\app\hakkimizda\page.js
  • src\app\iletisim\page.js
  • src\app\layout.js
  • src\app\page.js
  • src\app\urunler\[urun-kategorisi]\[urun-slug]\page.js
  • src\app\urunler\[urun-kategorisi]\page.js
  • src\app\urunler\page.js
  • src\app\yazilar\[slug]\page.js
📄 src\libs\GenerateSeo.js (Server Component)
Imported By:
  • src\app\hakkimizda\page.js
  • src\app\iletisim\page.js
  • src\app\page.js
  • src\app\urunler\[urun-kategorisi]\[urun-slug]\page.js
  • src\app\urunler\[urun-kategorisi]\page.js
  • src\app\urunler\page.js
  • src\app\yazilar\[slug]\page.js
  • src\app\yazilar\page.js
📄 src\libs\ogSeo.js (Server Component)
Imported By:
  • src\app\hakkimizda\page.js
  • src\app\iletisim\page.js
  • src\app\page.js
  • src\app\urunler\[urun-kategorisi]\[urun-slug]\page.js
  • src\app\urunler\[urun-kategorisi]\page.js
  • src\app\urunler\page.js
  • src\app\yazilar\[slug]\page.js
  • src\app\yazilar\page.js
📄 src\app\iletisim\page.js (Server Component)
Imports:
  • src\components\layout\main\ContactMain.js (Server Component)
  • src\fetch\fetchle.js (Server Component)
  • src\libs\GenerateSeo.js (Server Component)
  • src\libs\ogSeo.js (Server Component)
📄 src\components\layout\main\ContactMain.js (Server Component)
Imported By:
  • src\app\iletisim\page.js
📄 src\fetch\fetchle.js (Server Component)
Imported By:
  • src\app\hakkimizda\page.js
  • src\app\iletisim\page.js
  • src\app\layout.js
  • src\app\page.js
  • src\app\urunler\[urun-kategorisi]\[urun-slug]\page.js
  • src\app\urunler\[urun-kategorisi]\page.js
  • src\app\urunler\page.js
  • src\app\yazilar\[slug]\page.js
📄 src\libs\GenerateSeo.js (Server Component)
Imported By:
  • src\app\hakkimizda\page.js
  • src\app\iletisim\page.js
  • src\app\page.js
  • src\app\urunler\[urun-kategorisi]\[urun-slug]\page.js
  • src\app\urunler\[urun-kategorisi]\page.js
  • src\app\urunler\page.js
  • src\app\yazilar\[slug]\page.js
  • src\app\yazilar\page.js
📄 src\libs\ogSeo.js (Server Component)
Imported By:
  • src\app\hakkimizda\page.js
  • src\app\iletisim\page.js
  • src\app\page.js
  • src\app\urunler\[urun-kategorisi]\[urun-slug]\page.js
  • src\app\urunler\[urun-kategorisi]\page.js
  • src\app\urunler\page.js
  • src\app\yazilar\[slug]\page.js
  • src\app\yazilar\page.js
📄 src\app\layout.js (Server Component)
Imports:
  • src\components\shared\wrappers\PageWrapper.js (Client Component)
  • src\fetch\fetchle.js (Server Component)
📄 src\components\shared\wrappers\PageWrapper.js (Client Component)
Imported By:
  • src\app\error.js
  • src\app\layout.js
  • src\app\loading.js
  • src\app\not-found.js
📄 src\fetch\fetchle.js (Server Component)
Imported By:
  • src\app\hakkimizda\page.js
  • src\app\iletisim\page.js
  • src\app\layout.js
  • src\app\page.js
  • src\app\urunler\[urun-kategorisi]\[urun-slug]\page.js
  • src\app\urunler\[urun-kategorisi]\page.js
  • src\app\urunler\page.js
  • src\app\yazilar\[slug]\page.js
📄 src\app\loading.js (Server Component)
Imports:
  • src\components\shared\others\Preloader.js (Server Component)
  • src\components\shared\others\ThemeController.js (Client Component)
  • src\components\shared\wrappers\PageWrapper.js (Client Component)
📄 src\components\shared\others\Preloader.js (Server Component)
Imported By:
  • src\app\loading.js
📄 src\components\shared\others\ThemeController.js (Client Component)
Imported By:
  • src\app\error.js
  • src\app\loading.js
  • src\app\not-found.js
  • src\app\page.js
📄 src\components\shared\wrappers\PageWrapper.js (Client Component)
Imported By:
  • src\app\error.js
  • src\app\layout.js
  • src\app\loading.js
  • src\app\not-found.js
📄 src\app\not-found.js (Server Component)
Imports:
  • src\components\layout\main\ErrorMain.js (Client Component)
  • src\components\shared\others\ThemeController.js (Client Component)
  • src\components\shared\wrappers\PageWrapper.js (Client Component)
📄 src\components\layout\main\ErrorMain.js (Client Component)
Imported By:
  • src\app\error.js
  • src\app\not-found.js
📄 src\components\shared\others\ThemeController.js (Client Component)
Imported By:
  • src\app\error.js
  • src\app\loading.js
  • src\app\not-found.js
  • src\app\page.js
📄 src\components\shared\wrappers\PageWrapper.js (Client Component)
Imported By:
  • src\app\error.js
  • src\app\layout.js
  • src\app\loading.js
  • src\app\not-found.js
📄 src\app\page.js (Server Component)
Imports:
  • src\components\layout\main\Home9Mani.js (Server Component)
  • src\components\shared\others\ThemeController.js (Client Component)
  • src\fetch\fetchle.js (Server Component)
  • src\libs\GenerateSeo.js (Server Component)
  • src\libs\ogSeo.js (Server Component)
📄 src\components\layout\main\Home9Mani.js (Server Component)
Imported By:
  • src\app\page.js
📄 src\components\shared\others\ThemeController.js (Client Component)
Imported By:
  • src\app\error.js
  • src\app\loading.js
  • src\app\not-found.js
  • src\app\page.js
📄 src\fetch\fetchle.js (Server Component)
Imported By:
  • src\app\hakkimizda\page.js
  • src\app\iletisim\page.js
  • src\app\layout.js
  • src\app\page.js
  • src\app\urunler\[urun-kategorisi]\[urun-slug]\page.js
  • src\app\urunler\[urun-kategorisi]\page.js
  • src\app\urunler\page.js
  • src\app\yazilar\[slug]\page.js
📄 src\libs\GenerateSeo.js (Server Component)
Imported By:
  • src\app\hakkimizda\page.js
  • src\app\iletisim\page.js
  • src\app\page.js
  • src\app\urunler\[urun-kategorisi]\[urun-slug]\page.js
  • src\app\urunler\[urun-kategorisi]\page.js
  • src\app\urunler\page.js
  • src\app\yazilar\[slug]\page.js
  • src\app\yazilar\page.js
📄 src\libs\ogSeo.js (Server Component)
Imported By:
  • src\app\hakkimizda\page.js
  • src\app\iletisim\page.js
  • src\app\page.js
  • src\app\urunler\[urun-kategorisi]\[urun-slug]\page.js
  • src\app\urunler\[urun-kategorisi]\page.js
  • src\app\urunler\page.js
  • src\app\yazilar\[slug]\page.js
  • src\app\yazilar\page.js
📄 src\app\urunler\page.js (Server Component)
Imports:
  • src\components\layout\main\ShopMain.js (Server Component)
  • src\fetch\fetchle.js (Server Component)
  • src\libs\GenerateSeo.js (Server Component)
  • src\libs\ogSeo.js (Server Component)
📄 src\components\layout\main\ShopMain.js (Server Component)
Imported By:
  • src\app\urunler\[urun-kategorisi]\page.js
  • src\app\urunler\page.js
📄 src\fetch\fetchle.js (Server Component)
Imported By:
  • src\app\hakkimizda\page.js
  • src\app\iletisim\page.js
  • src\app\layout.js
  • src\app\page.js
  • src\app\urunler\[urun-kategorisi]\[urun-slug]\page.js
  • src\app\urunler\[urun-kategorisi]\page.js
  • src\app\urunler\page.js
  • src\app\yazilar\[slug]\page.js
📄 src\libs\GenerateSeo.js (Server Component)
Imported By:
  • src\app\hakkimizda\page.js
  • src\app\iletisim\page.js
  • src\app\page.js
  • src\app\urunler\[urun-kategorisi]\[urun-slug]\page.js
  • src\app\urunler\[urun-kategorisi]\page.js
  • src\app\urunler\page.js
  • src\app\yazilar\[slug]\page.js
  • src\app\yazilar\page.js
📄 src\libs\ogSeo.js (Server Component)
Imported By:
  • src\app\hakkimizda\page.js
  • src\app\iletisim\page.js
  • src\app\page.js
  • src\app\urunler\[urun-kategorisi]\[urun-slug]\page.js
  • src\app\urunler\[urun-kategorisi]\page.js
  • src\app\urunler\page.js
  • src\app\yazilar\[slug]\page.js
  • src\app\yazilar\page.js
📄 src\app\urunler\[urun-kategorisi]\page.js (Server Component)
Imports:
  • src\components\layout\main\ShopMain.js (Server Component)
  • src\fetch\fetchle.js (Server Component)
  • src\libs\GenerateSeo.js (Server Component)
  • src\libs\ogSeo.js (Server Component)
📄 src\components\layout\main\ShopMain.js (Server Component)
Imported By:
  • src\app\urunler\[urun-kategorisi]\page.js
  • src\app\urunler\page.js
📄 src\fetch\fetchle.js (Server Component)
Imported By:
  • src\app\hakkimizda\page.js
  • src\app\iletisim\page.js
  • src\app\layout.js
  • src\app\page.js
  • src\app\urunler\[urun-kategorisi]\[urun-slug]\page.js
  • src\app\urunler\[urun-kategorisi]\page.js
  • src\app\urunler\page.js
  • src\app\yazilar\[slug]\page.js
📄 src\libs\GenerateSeo.js (Server Component)
Imported By:
  • src\app\hakkimizda\page.js
  • src\app\iletisim\page.js
  • src\app\page.js
  • src\app\urunler\[urun-kategorisi]\[urun-slug]\page.js
  • src\app\urunler\[urun-kategorisi]\page.js
  • src\app\urunler\page.js
  • src\app\yazilar\[slug]\page.js
  • src\app\yazilar\page.js
📄 src\libs\ogSeo.js (Server Component)
Imported By:
  • src\app\hakkimizda\page.js
  • src\app\iletisim\page.js
  • src\app\page.js
  • src\app\urunler\[urun-kategorisi]\[urun-slug]\page.js
  • src\app\urunler\[urun-kategorisi]\page.js
  • src\app\urunler\page.js
  • src\app\yazilar\[slug]\page.js
  • src\app\yazilar\page.js
📄 src\app\urunler\[urun-kategorisi]\[urun-slug]\page.js (Server Component)
Imports:
  • src\components\layout\main\ProductDetailsMain.js (Server Component)
  • src\fetch\fetchle.js (Server Component)
  • src\libs\GenerateSeo.js (Server Component)
  • src\libs\ogSeo.js (Server Component)
📄 src\components\layout\main\ProductDetailsMain.js (Server Component)
Imported By:
  • src\app\urunler\[urun-kategorisi]\[urun-slug]\page.js
📄 src\fetch\fetchle.js (Server Component)
Imported By:
  • src\app\hakkimizda\page.js
  • src\app\iletisim\page.js
  • src\app\layout.js
  • src\app\page.js
  • src\app\urunler\[urun-kategorisi]\[urun-slug]\page.js
  • src\app\urunler\[urun-kategorisi]\page.js
  • src\app\urunler\page.js
  • src\app\yazilar\[slug]\page.js
📄 src\libs\GenerateSeo.js (Server Component)
Imported By:
  • src\app\hakkimizda\page.js
  • src\app\iletisim\page.js
  • src\app\page.js
  • src\app\urunler\[urun-kategorisi]\[urun-slug]\page.js
  • src\app\urunler\[urun-kategorisi]\page.js
  • src\app\urunler\page.js
  • src\app\yazilar\[slug]\page.js
  • src\app\yazilar\page.js
📄 src\libs\ogSeo.js (Server Component)
Imported By:
  • src\app\hakkimizda\page.js
  • src\app\iletisim\page.js
  • src\app\page.js
  • src\app\urunler\[urun-kategorisi]\[urun-slug]\page.js
  • src\app\urunler\[urun-kategorisi]\page.js
  • src\app\urunler\page.js
  • src\app\yazilar\[slug]\page.js
  • src\app\yazilar\page.js
📄 src\app\yazilar\page.js (Server Component)
Imports:
  • src\components\layout\main\BlogsMain.js (Server Component)
  • src\libs\GenerateSeo.js (Server Component)
  • src\libs\ogSeo.js (Server Component)
📄 src\components\layout\main\BlogsMain.js (Server Component)
Imported By:
  • src\app\yazilar\page.js
📄 src\libs\GenerateSeo.js (Server Component)
Imported By:
  • src\app\hakkimizda\page.js
  • src\app\iletisim\page.js
  • src\app\page.js
  • src\app\urunler\[urun-kategorisi]\[urun-slug]\page.js
  • src\app\urunler\[urun-kategorisi]\page.js
  • src\app\urunler\page.js
  • src\app\yazilar\[slug]\page.js
  • src\app\yazilar\page.js
📄 src\libs\ogSeo.js (Server Component)
Imported By:
  • src\app\hakkimizda\page.js
  • src\app\iletisim\page.js
  • src\app\page.js
  • src\app\urunler\[urun-kategorisi]\[urun-slug]\page.js
  • src\app\urunler\[urun-kategorisi]\page.js
  • src\app\urunler\page.js
  • src\app\yazilar\[slug]\page.js
  • src\app\yazilar\page.js
📄 src\app\yazilar\[slug]\page.js (Server Component)
Imports:
  • src\components\layout\main\BlogDetailsMain.js (Server Component)
  • src\fetch\fetchle.js (Server Component)
  • src\libs\GenerateSeo.js (Server Component)
  • src\libs\helpers.js (Server Component)
  • src\libs\ogSeo.js (Server Component)
📄 src\components\layout\main\BlogDetailsMain.js (Server Component)
Imported By:
  • src\app\yazilar\[slug]\page.js
📄 src\fetch\fetchle.js (Server Component)
Imported By:
  • src\app\hakkimizda\page.js
  • src\app\iletisim\page.js
  • src\app\layout.js
  • src\app\page.js
  • src\app\urunler\[urun-kategorisi]\[urun-slug]\page.js
  • src\app\urunler\[urun-kategorisi]\page.js
  • src\app\urunler\page.js
  • src\app\yazilar\[slug]\page.js
📄 src\libs\GenerateSeo.js (Server Component)
Imported By:
  • src\app\hakkimizda\page.js
  • src\app\iletisim\page.js
  • src\app\page.js
  • src\app\urunler\[urun-kategorisi]\[urun-slug]\page.js
  • src\app\urunler\[urun-kategorisi]\page.js
  • src\app\urunler\page.js
  • src\app\yazilar\[slug]\page.js
  • src\app\yazilar\page.js
📄 src\libs\helpers.js (Server Component)
Imported By:
  • src\app\yazilar\[slug]\page.js
📄 src\libs\ogSeo.js (Server Component)
Imported By:
  • src\app\hakkimizda\page.js
  • src\app\iletisim\page.js
  • src\app\page.js
  • src\app\urunler\[urun-kategorisi]\[urun-slug]\page.js
  • src\app\urunler\[urun-kategorisi]\page.js
  • src\app\urunler\page.js
  • src\app\yazilar\[slug]\page.js
  • src\app\yazilar\page.js
data-fetching
Analyzes data fetching methods and strategies

Data Fetching Analysis

Data Fetching Methods

Client-side Data Fetching

Fetch API

  • src\fetch\fetchle.js
    Cache: Not Specified
    Recommendation: Add cache strategy to fetch request: { cache: "force-cache" } or { cache: "no-store" }

Cache Strategies

Detected Issues

  • src\fetch\fetchle.js
    Issue: Using fetch API without specifying cache strategy
    Recommendation: Add cache strategy to fetch request: { cache: "force-cache" } or { cache: "no-store" }

General Recommendations

  • Data Fetching with App Router
    If you're using App Router, you can fetch data with React Server Components. This reduces client-side JavaScript and improves SEO.
  • Using SWR or React Query
    Use SWR or React Query for client-side data fetching. These libraries automatically provide features like caching, revalidation, error handling.
  • Incremental Static Regeneration (ISR)
    Use ISR with getStaticProps for data that doesn't change frequently. This allows static pages to be regenerated at specific intervals.
history
Next.js projelerinin zaman içindeki değişimlerini analiz eder

Zaman İçinde Değişim Analizi

Özet

Toplam 9 commit incelendi, 5 commit analiz edildi.

İlk commit tarihi: 2025-03-05

Son commit tarihi: 2025-04-24

Commit Geçmişi

  • 3718db3 2025-04-24 Ali Haydar GÜLEÇ from plesk
  • d178fca 2025-03-12 Mustafa Hakan Borazan Merge pull request #1 from ahgsql/hakan2
  • 9210071 2025-03-12 Hakan yazilar inital
  • 7be66e3 2025-03-12 Ali Haydar GÜLEÇ bitiyor la
  • 62dc48a 2025-03-11 Ali Haydar GÜLEÇ sayfalar geliyor
  • f2f9a38 2025-03-11 Ali Haydar GÜLEÇ ali
  • c90fd82 2025-03-10 Hakan menu from api, hero from api
  • 7f966f8 2025-03-06 Ali Haydar GÜLEÇ Sağlam
  • 9cb5d83 2025-03-05 Ali Haydar GÜLEÇ Initial commit from Create Next App

Metrik Değişimleri

Toplam Komponent Sayısı

Trend: Stabil

İlk değer: 27, Son değer: 27

Toplam büyüme: 0 (0.00%)

Büyüme hızı: 0.00% / commit

Değişim Detayları
  • 62dc48a (2025-03-11) 27 ➖
  • 7be66e3 (2025-03-12) 27 ➖
  • 9210071 (2025-03-12) 28 (+3.70%) 📈
  • d178fca (2025-03-12) 28 ➖
  • 3718db3 (2025-04-24) 27 (-3.57%) 📉

Server Komponent Sayısı

Trend: Stabil

İlk değer: 23, Son değer: 23

Toplam büyüme: 0 (0.00%)

Büyüme hızı: 0.00% / commit

Değişim Detayları
  • 62dc48a (2025-03-11) 23 ➖
  • 7be66e3 (2025-03-12) 23 ➖
  • 9210071 (2025-03-12) 23 ➖
  • d178fca (2025-03-12) 23 ➖
  • 3718db3 (2025-04-24) 23 ➖

Client Komponent Sayısı

Trend: Stabil

İlk değer: 4, Son değer: 4

Toplam büyüme: 0 (0.00%)

Büyüme hızı: 0.00% / commit

Değişim Detayları
  • 62dc48a (2025-03-11) 4 ➖
  • 7be66e3 (2025-03-12) 4 ➖
  • 9210071 (2025-03-12) 4 ➖
  • d178fca (2025-03-12) 4 ➖
  • 3718db3 (2025-04-24) 4 ➖

Toplam Route Sayısı

Trend: Hızlı Büyüme

İlk değer: 4, Son değer: 8

Toplam büyüme: 4 (100.00%)

Büyüme hızı: 25.00% / commit

Değişim Detayları
  • 62dc48a (2025-03-11) 4 ➖
  • 7be66e3 (2025-03-12) 6 (+50.00%) 📈
  • 9210071 (2025-03-12) 8 (+33.33%) 📈
  • d178fca (2025-03-12) 8 ➖
  • 3718db3 (2025-04-24) 8 ➖

API Route Sayısı

Trend: Stabil

İlk değer: 0, Son değer: 0

Toplam büyüme: 0 (0.00%)

Büyüme hızı: 0.00% / commit

Değişim Detayları
  • 62dc48a (2025-03-11) 0 ➖
  • 7be66e3 (2025-03-12) 0 ➖
  • 9210071 (2025-03-12) 0 ➖
  • d178fca (2025-03-12) 0 ➖
  • 3718db3 (2025-04-24) 0 ➖

Sayfa Route Sayısı

Trend: Hızlı Büyüme

İlk değer: 4, Son değer: 8

Toplam büyüme: 4 (100.00%)

Büyüme hızı: 25.00% / commit

Değişim Detayları
  • 62dc48a (2025-03-11) 4 ➖
  • 7be66e3 (2025-03-12) 6 (+50.00%) 📈
  • 9210071 (2025-03-12) 8 (+33.33%) 📈
  • d178fca (2025-03-12) 8 ➖
  • 3718db3 (2025-04-24) 8 ➖

Dinamik Route Sayısı

Trend: Hızlı Büyüme

İlk değer: 2, Son değer: 3

Toplam büyüme: 1 (50.00%)

Büyüme hızı: 12.50% / commit

Değişim Detayları
  • 62dc48a (2025-03-11) 2 ➖
  • 7be66e3 (2025-03-12) 2 ➖
  • 9210071 (2025-03-12) 3 (+50.00%) 📈
  • d178fca (2025-03-12) 3 ➖
  • 3718db3 (2025-04-24) 3 ➖

Statik Route Sayısı

Trend: Hızlı Büyüme

İlk değer: 2, Son değer: 5

Toplam büyüme: 3 (150.00%)

Büyüme hızı: 37.50% / commit

Değişim Detayları
  • 62dc48a (2025-03-11) 2 ➖
  • 7be66e3 (2025-03-12) 4 (+100.00%) 📈
  • 9210071 (2025-03-12) 5 (+25.00%) 📈
  • d178fca (2025-03-12) 5 ➖
  • 3718db3 (2025-04-24) 5 ➖
performance
Provides performance metrics and optimization suggestions

Performance Analysis

Image Optimization

✅ All images are optimized. Great!

Bundle Size Analysis

✅ No large components detected. Great!

✅ No large library imports detected. Great!

routing
Analyzes and visualizes route structure

Route Analysis

App Router

Pages

Static Pages
  • /hakkimizda\page (src\app\hakkimizda\page.js)
  • /iletisim\page (src\app\iletisim\page.js)
  • /page (src\app\page.js)
  • /urunler\page (src\app\urunler\page.js)
  • /yazilar\page (src\app\yazilar\page.js)
Dynamic Pages
  • /urunler\[urun-kategorisi]\page (src\app\urunler\[urun-kategorisi]\page.js) Parameters: urun-kategorisi
  • /urunler\[urun-kategorisi]\[urun-slug]\page (src\app\urunler\[urun-kategorisi]\[urun-slug]\page.js) Parameters: urun-kategorisi, urun-slug
  • /yazilar\[slug]\page (src\app\yazilar\[slug]\page.js) Parameters: slug
security
Detects security vulnerabilities and risks

Security Analysis

Summary

Total 1 security issues detected::

  • Critical: 0
  • High: 0
  • Medium: 1
  • Low: 0

Server Component Security

✅ No security issues detected in server components. Great!

Recommendations

  • Server Component Security
    Server components may contain sensitive information. Be careful not to leak this information to the client.
  • Environment Variables
    Environment variables used in server components are not included in the client bundle. However, using these variables directly in JSX can cause this information to leak to the client.
  • Data Validation
    Always validate and sanitize user inputs in server components.

API Route Security

✅ No security issues detected in API routes. Great!

Recommendations

  • API Route Security
    API routes are the gateways of your application to the outside world. Therefore, you should carefully implement security measures.
  • CORS Configuration
    CORS configuration controls which domains can access your API. Instead of using wildcard (*), allow specific domains.
  • modules.security.apiRoute.recommendations.rateLimiting.title
    modules.security.apiRoute.recommendations.rateLimiting.description
  • Authentication and Authorization
    Always perform authentication and authorization checks in data-modifying API endpoints.
  • modules.security.apiRoute.recommendations.inputValidation.title
    modules.security.apiRoute.recommendations.inputValidation.description

General Security

Detected Issues

  • .env.local MEDIUM
    Environment variable containing sensitive information: REVALIDATE_KEY
    Add .env.local file to .gitignore and manage sensitive information securely.

Recommendations

  • Dependency Security
    Regularly update your dependencies and check for security vulnerabilities. You can use npm audit or yarn audit commands.
  • Environment Variable Security
    Always add .env files to .gitignore and manage sensitive information securely.
  • Content Security Policy
    Content Security Policy (CSP) provides strong protection against XSS attacks. Configure CSP headers in your next.config.js file.
  • Safe Configuration
    Avoid unsafe configurations like dangerouslyAllowSVG, dangerouslyAllowHTML.
  • Regular Security Audits
    Regularly audit your application for security vulnerabilities and keep it up to date.
seo
Analyzes SEO compatibility and meta tags

SEO Analysis

Summary

Total 57 SEO issues detected:

  • Meta Tag Issues: 53
  • Semantic HTML Issues: 3
  • Accessibility Issues: 1

Meta Tag Issues

Detected Issues

  • src\app\hakkimizda\page.js
    Missing title tag
    Add title tag to the page. This is very important for SEO.
  • src\app\hakkimizda\page.js
    Missing Open Graph meta tags
    Add Open Graph meta tags for social media sharing.
  • src\app\hakkimizda\page.js
    Missing Twitter Card meta tags
    Add Twitter Card meta tags for Twitter sharing.
  • src\app\hakkimizda\page.js
    Missing canonical URL
    Add canonical URL to prevent duplicate content issues.
  • src\app\hakkimizda\page.js
    Missing viewport meta tag
    Add viewport meta tag for mobile compatibility.
  • src\app\hakkimizda\page.js
    Missing HTML lang attribute
    Add HTML lang attribute for accessibility and SEO.
  • src\app\iletisim\page.js
    Missing title tag
    Add title tag to the page. This is very important for SEO.
  • src\app\iletisim\page.js
    Missing Open Graph meta tags
    Add Open Graph meta tags for social media sharing.
  • src\app\iletisim\page.js
    Missing Twitter Card meta tags
    Add Twitter Card meta tags for Twitter sharing.
  • src\app\iletisim\page.js
    Missing canonical URL
    Add canonical URL to prevent duplicate content issues.
  • src\app\iletisim\page.js
    Missing viewport meta tag
    Add viewport meta tag for mobile compatibility.
  • src\app\iletisim\page.js
    Missing HTML lang attribute
    Add HTML lang attribute for accessibility and SEO.
  • src\app\layout.js
    Missing title tag
    Add title tag to the page. This is very important for SEO.
  • src\app\layout.js
    Missing Open Graph meta tags
    Add Open Graph meta tags for social media sharing.
  • src\app\layout.js
    Missing Twitter Card meta tags
    Add Twitter Card meta tags for Twitter sharing.
  • src\app\layout.js
    Missing canonical URL
    Add canonical URL to prevent duplicate content issues.
  • src\app\layout.js
    Missing viewport meta tag
    Add viewport meta tag for mobile compatibility.
  • src\app\page.js
    Missing title tag
    Add title tag to the page. This is very important for SEO.
  • src\app\page.js
    Missing Open Graph meta tags
    Add Open Graph meta tags for social media sharing.
  • src\app\page.js
    Missing Twitter Card meta tags
    Add Twitter Card meta tags for Twitter sharing.
  • src\app\page.js
    Missing canonical URL
    Add canonical URL to prevent duplicate content issues.
  • src\app\page.js
    Missing viewport meta tag
    Add viewport meta tag for mobile compatibility.
  • src\app\page.js
    Missing HTML lang attribute
    Add HTML lang attribute for accessibility and SEO.
  • src\app\urunler\page.js
    Missing title tag
    Add title tag to the page. This is very important for SEO.
  • src\app\urunler\page.js
    Missing Open Graph meta tags
    Add Open Graph meta tags for social media sharing.
  • src\app\urunler\page.js
    Missing Twitter Card meta tags
    Add Twitter Card meta tags for Twitter sharing.
  • src\app\urunler\page.js
    Missing canonical URL
    Add canonical URL to prevent duplicate content issues.
  • src\app\urunler\page.js
    Missing viewport meta tag
    Add viewport meta tag for mobile compatibility.
  • src\app\urunler\page.js
    Missing HTML lang attribute
    Add HTML lang attribute for accessibility and SEO.
  • src\app\urunler\[urun-kategorisi]\page.js
    Missing title tag
    Add title tag to the page. This is very important for SEO.
  • src\app\urunler\[urun-kategorisi]\page.js
    Missing Open Graph meta tags
    Add Open Graph meta tags for social media sharing.
  • src\app\urunler\[urun-kategorisi]\page.js
    Missing Twitter Card meta tags
    Add Twitter Card meta tags for Twitter sharing.
  • src\app\urunler\[urun-kategorisi]\page.js
    Missing canonical URL
    Add canonical URL to prevent duplicate content issues.
  • src\app\urunler\[urun-kategorisi]\page.js
    Missing viewport meta tag
    Add viewport meta tag for mobile compatibility.
  • src\app\urunler\[urun-kategorisi]\page.js
    Missing HTML lang attribute
    Add HTML lang attribute for accessibility and SEO.
  • src\app\urunler\[urun-kategorisi]\[urun-slug]\page.js
    Missing title tag
    Add title tag to the page. This is very important for SEO.
  • src\app\urunler\[urun-kategorisi]\[urun-slug]\page.js
    Missing Open Graph meta tags
    Add Open Graph meta tags for social media sharing.
  • src\app\urunler\[urun-kategorisi]\[urun-slug]\page.js
    Missing Twitter Card meta tags
    Add Twitter Card meta tags for Twitter sharing.
  • src\app\urunler\[urun-kategorisi]\[urun-slug]\page.js
    Missing canonical URL
    Add canonical URL to prevent duplicate content issues.
  • src\app\urunler\[urun-kategorisi]\[urun-slug]\page.js
    Missing viewport meta tag
    Add viewport meta tag for mobile compatibility.
  • src\app\urunler\[urun-kategorisi]\[urun-slug]\page.js
    Missing HTML lang attribute
    Add HTML lang attribute for accessibility and SEO.
  • src\app\yazilar\page.js
    Missing title tag
    Add title tag to the page. This is very important for SEO.
  • src\app\yazilar\page.js
    Missing Open Graph meta tags
    Add Open Graph meta tags for social media sharing.
  • src\app\yazilar\page.js
    Missing Twitter Card meta tags
    Add Twitter Card meta tags for Twitter sharing.
  • src\app\yazilar\page.js
    Missing canonical URL
    Add canonical URL to prevent duplicate content issues.
  • src\app\yazilar\page.js
    Missing viewport meta tag
    Add viewport meta tag for mobile compatibility.
  • src\app\yazilar\page.js
    Missing HTML lang attribute
    Add HTML lang attribute for accessibility and SEO.
  • src\app\yazilar\[slug]\page.js
    Missing title tag
    Add title tag to the page. This is very important for SEO.
  • src\app\yazilar\[slug]\page.js
    Missing Open Graph meta tags
    Add Open Graph meta tags for social media sharing.
  • src\app\yazilar\[slug]\page.js
    Missing Twitter Card meta tags
    Add Twitter Card meta tags for Twitter sharing.
  • src\app\yazilar\[slug]\page.js
    Missing canonical URL
    Add canonical URL to prevent duplicate content issues.
  • src\app\yazilar\[slug]\page.js
    Missing viewport meta tag
    Add viewport meta tag for mobile compatibility.
  • src\app\yazilar\[slug]\page.js
    Missing HTML lang attribute
    Add HTML lang attribute for accessibility and SEO.

Meta Tag Recommendations

  • Using next-seo
    The next-seo package simplifies SEO management in Next.js projects. Using this package, you can manage all meta tags centrally.
  • Dynamic Meta Tags
    For pages with dynamic content, create dynamic meta tags based on page content. This helps search engines better understand your page.
  • Structured Data
    Add structured data in JSON-LD format. This enables rich snippets to be displayed in search results.
  • Hreflang Tags
    Add hreflang tags for multilingual sites. This helps search engines show the correct language version of the page.

Semantic HTML Issues

Detected Issues

  • src\components\shared\others\ThemeController.js
    No semantic HTML tags used
    Use semantic HTML5 tags (header, nav, main, article, section, aside, footer) instead of div and span.
  • src\components\shared\wrappers\PageWrapper.js
    No semantic HTML tags used
    Use semantic HTML5 tags (header, nav, main, article, section, aside, footer) instead of div and span.
  • src\components\shared\others\Preloader.js
    No semantic HTML tags used
    Use semantic HTML5 tags (header, nav, main, article, section, aside, footer) instead of div and span.

Semantic HTML Recommendations

  • Using Semantic HTML
    Semantic HTML tags better define the structure of your page and help search engines better understand your content.
  • Heading Hierarchy
    Use proper heading hierarchy. Each page should have one H1 tag and other headings should be hierarchically ordered.
  • Alt Attribute
    Add alt attribute to all image tags. This provides a text alternative for visual content and is important for accessibility.
  • Descriptive Link Texts
    Link texts should clearly indicate where the link goes. Use more descriptive texts instead of generic ones like "here", "click".

Accessibility Issues

Detected Issues

  • src\components\shared\others\ThemeController.js
    Missing ARIA attributes
    Add ARIA attributes and roles for accessibility.

Accessibility Recommendations

  • ARIA Attributes
    ARIA attributes improve the accessibility of your web page. These attributes help screen readers better understand your content.
  • Form Labels
    Add labels for all form inputs. This helps users understand what the inputs are for.
  • Contrast Ratio
    Ensure sufficient contrast ratio between text and background. This is important for users with visual impairments.
  • Keyboard Navigation
    Ensure all interactive elements are accessible via keyboard. This is important for users who cannot use a mouse.
  • Accessibility Tests
    Regularly test your application for accessibility. You can use tools like axe, Lighthouse.
visualization
Next.js analiz sonuçlarını gelişmiş görselleştirmelerle sunar

Gelişmiş Görselleştirme

Özet

Toplam 8 modül ve 70 sorun tespit edildi.

Grafikler

Modül Başına Sorun Sayıları

Sorun Türü Dağılımı

Önem Derecesi Dağılımı

Filtreleme

Filtreleme yapmak için yukarıdaki seçenekleri kullanın.