700 Görüntülenme, %8 Dönüşüm İkilemi: Next.js Sitemi Bento Grid ile Yeniden Tasarlama Serüvenim (3. Gün)
Bir web sitesi sahibi olarak, yüksek trafik rakamları görmek her zaman heyecan vericidir. Ancak bu trafik, beklenen dönüşümleri getirmiyorsa, o zaman derinlemesine bir analiz kaçınılmaz hale gelir. Benim durumumda da 700’ü aşan günlük görüntülenme sayısına rağmen, dönüşüm oranımın %8 gibi düşük bir seviyede seyretmesi, mevcut tasarımın ve kullanıcı deneyiminin sorgulanmasına yol açtı. Bu makalede, Next.js tabanlı sitemi bu ikilemden kurtarmak için neden ve nasıl Bento Grid tasarımına geçiş yaptığımı, bu serüvenin ilk üç günündeki gözlemlerimi ve teknik detayları sizlerle paylaşacağım.
1. Sorun: Görüntülenme Var, Dönüşüm Yok!
Her geliştirici veya ürün sahibi, sitesinin sadece ziyaret edilmesini değil, aynı zamanda belirli bir eylemi gerçekleştirmesini ister: bir ürün satın almak, bir bültene abone olmak, bir formu doldurmak veya bir portföyü incelemek. Benim sitemde de durum farklı değildi; ancak analytics verileri, ziyaretçilerin siteye gelip hızla ayrıldığını gösteriyordu.
1.1. Mevcut Durum Analizi: Sayılar Ne Anlatıyordu?
Google Analytics verileri, ortalama oturum süresinin kısa olduğunu, hemen çıkma oranının (bounce rate) yüksek olduğunu ve hedeflenen sayfalara geçiş oranlarının düşük olduğunu ortaya koydu. 700’den fazla tekil ziyaretçi, sitenin içeriğine ilgi duyduğunu gösterse de, bu ilgi bir türlü eyleme dönüşmüyordu. Bu durum, sadece bir görsel problemden ziyade, kullanıcıların bilgiye erişim ve etkileşim biçiminde bir tıkanıklık olduğunu düşündürdü.
1.2. Kullanıcı Deneyimi Açısından Eksikler
Eski tasarımım, geleneksel blok tabanlı bir yapıya sahipti. İçerikler dikey olarak sıralanmış, önemli bilgiler diğerleri arasında kaybolabiliyordu. Özellikle mobil cihazlarda bu durum daha da belirgindi. Kullanıcılar, aradıkları şeyi hızlıca bulmakta zorlanıyor, sitenin sunduğu değeri tam olarak algılayamıyordu. Bu da doğal olarak düşük dönüşüm oranlarına yol açıyordu.
1.3. Dönüşüm Hunisinin Tıkanıklığı
Sitemdeki dönüşüm hunisi, ana sayfa > hizmetler/ürünler > iletişim/satın alma şeklinde ilerliyordu. Ancak ana sayfadan sonraki adımlara geçiş oranı oldukça düşüktü. Bu, ana sayfadaki “ilk izlenimin” yeterince güçlü olmadığını, kullanıcıları bir sonraki adıma yönlendirecek görsel hiyerarşinin ve çağrıların eksik olduğunu gösteriyordu.
2. Bento Grid Nedir ve Neden Benim İçin Bir Çözüm Oldu?
Bu sorunları aşmak için farklı tasarım yaklaşımlarını araştırırken, son zamanlarda popülaritesi artan “Bento Grid” kavramı dikkatimi çekti. Bento Grid, geleneksel grid sistemlerinin aksine, farklı boyutlardaki kutucukları (hücreleri) kullanarak dinamik ve estetik bir düzen oluşturan bir yaklaşımdır. Tıpkı Japon Bento kutularının farklı bölmelerinde çeşitli yiyeceklerin düzenlenmesi gibi, web sitesi içeriği de bu kutucuklara yerleştirilir.
2.1. Bento Grid Felsefesi
Bento Grid’in temel felsefesi, içeriğe öncelik vermek ve görsel hiyerarşiyi güçlendirmektir. Her bir “kutu”, belirli bir bilgi parçasını, bir özelliği, bir hizmeti veya bir çağrıyı temsil eder. Bu kutuların boyutları ve konumları, kullanıcının dikkatini belirli noktalara çekmek ve en önemli bilgilere kolayca ulaşmasını sağlamak üzere stratejik olarak belirlenir.
2.2. Görsel Hiyerarşi ve Kullanıcı Odaklılık
Bento Grid, farklı boyutlardaki kutucuklar sayesinde doğal bir görsel hiyerarşi oluşturur. Daha büyük kutular, daha önemli veya dikkat çekici içerikleri barındırırken, küçük kutular destekleyici veya ikincil bilgileri sunar. Bu yapı, kullanıcının sayfayı taramasını kolaylaştırır, aradığı bilgiye daha hızlı ulaşmasını sağlar ve genel kullanıcı deneyimini zenginleştirir. Amacım, ziyaretçilerin ana sayfaya geldiklerinde, sitenin sunduğu değeri ve ana hizmetleri tek bir bakışta anlamalarını sağlamaktı.
2.3. Neden Geleneksel Düzenler Yetersiz Kaldı?
Geleneksel, sütun tabanlı düzenler genellikle monoton bir görünüm sunar ve tüm içeriklere eşit ağırlık verir. Bu durum, kullanıcıların dikkatini dağıtabilir ve önemli bilgilerin gözden kaçmasına neden olabilir. Bento Grid ise bu tekdüzeliği kırarak, dinamik ve ilgi çekici bir yapı sunar. Benim sitemde de bu tekdüzeliğin dönüşüm oranlarını olumsuz etkilediğini fark ettim.
3. Tasarım Süreci: Fikir Aşamasından İlk Taslağa
Bento Grid’in potansiyeline ikna olduktan sonra, tasarım sürecine hızlıca başladım. Bu süreç, sadece estetik bir değişiklikten ziyade, kullanıcıların sitemle nasıl etkileşim kuracağını yeniden düşünmeyi gerektirdi.
3.1. İlham Kaynakları ve Araştırma
Öncelikle, Bento Grid kullanan başarılı web sitelerini inceledim. Özellikle Apple’ın ve çeşitli portföy sitelerinin bu düzeni nasıl kullandığına baktım. Farklı boyutlardaki kutuların nasıl bir araya getirildiği, boşlukların nasıl kullanıldığı ve içeriğin nasıl önceliklendirildiği konusunda notlar aldım. Bu aşama, kendi sitem için bir vizyon oluşturmamda kritik rol oynadı.
3.2. Wireframe ve Mockup Aşaması
Kağıt üzerinde ve ardından Figma gibi araçlarda wireframe’ler oluşturarak başladım. Hangi içeriğin hangi boyutta bir kutuya yerleşeceğini, ana çağrıların (Call to Action – CTA) nerede konumlanacağını belirledim. Bu aşamada, mobil ve masaüstü görünümleri için farklı grid yapılarını da düşündüm. Ana hedef, hem estetik hem de fonksiyonel bir denge kurmaktı.
3.3. Renk Paleti ve Tipografi Seçimleri
Yeni düzenle birlikte, sitenin genel görsel kimliğini de güncelledim. Daha modern, minimalist ve kullanıcı dostu bir renk paleti seçtim. Tipografi seçimlerinde ise okunabilirliği ön planda tutarak, başlıklar ve metinler arasında net bir hiyerarşi oluşturdum. Bu değişiklikler, Bento Grid’in dinamik yapısını tamamlayarak, sitenin genel profesyonel görünümünü güçlendirdi.
4. Teknik Uygulama: Next.js ve Bento Grid Entegrasyonu
Tasarım onaylandıktan sonra, sıra teknik uygulamaya geldi. Next.js’in sunduğu bileşen tabanlı yapı ve CSS Grid’in gücü, bu entegrasyonu oldukça kolaylaştırdı.
4.1. CSS Grid ile Esnek Yapı Oluşturma
Bento Grid’in temelini CSS Grid oluşturur. Next.js projemde, ana layout bileşenime CSS Grid özelliklerini uyguladım. İşte basit bir örnek:
.bento-grid-container {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); /* Esnek sütunlar */
grid-auto-rows: minmax(150px, auto); /* Satırların minimum yüksekliği */
gap: 20px; /* Kutucuklar arası boşluk */
}
.bento-item {
background-color: #f0f0f0;
border-radius: 8px;
padding: 20px;
/* İçerik hizalaması */
display: flex;
flex-direction: column;
justify-content: center;
align-items: flex-start;
}
/* Farklı boyutlardaki kutucuklar için özel sınıflar */
.item-large {
grid-column: span 2; /* 2 sütun genişliğinde */
grid-row: span 2; /* 2 satır yüksekliğinde */
}
.item-medium {
grid-column: span 1;
grid-row: span 2;
}
@media (max-width: 768px) {
.bento-grid-container {
grid-template-columns: 1fr; /* Mobil için tek sütun */
}
.item-large, .item-medium {
grid-column: span 1;
grid-row: span 1;
}
}
Bu yapı sayesinde, farklı boyutlardaki kutuları kolayca tanımlayabildim ve içerikleri bu kutulara yerleştirdim. grid-template-columns ve grid-auto-rows özellikleri, düzenin hem esnek hem de kontrollü olmasını sağladı.
4.2. Next.js Bileşen Mimarisi
Her bir Bento kutusunu ayrı bir Next.js bileşeni olarak tasarladım (örneğin, ). Bu, içeriğin modüler olmasını, yeniden kullanılabilirliği ve yönetimi kolaylaştırdı. Her , kendi içinde bir başlık, açıklama, görsel ve bir CTA düğmesi gibi öğeleri barındırabiliyordu. Props kullanarak farklı içerikleri dinamik olarak bu bileşenlere geçirdim.
// components/BentoItem.jsx
import Link from 'next/link';
const BentoItem = ({ title, description, icon, ctaText, ctaLink, className }) => {
return (
bento-item ${className || ''}} >
{icon && {icon}}
{title}
{description}
{ctaText && ctaLink && (
{ctaText}
)}
);
};
export default BentoItem;
// pages/index.jsx
import BentoItem from '../components/BentoItem';
import { FaRocket, FaChartLine, FaCode } from 'react-icons/fa'; // Örnek ikonlar
export default function Home() {
return (
}
ctaText="Detaylı Bilgi"
ctaLink="/hizmetler"
className="item-large"
/>
}
ctaText="Görüntüle"
ctaLink="/vaka-calismalari"
/>
}
ctaText="Daha Fazla"
ctaLink="/teknoloji"
/>
{/* Diğer Bento öğeleri */}
);
}
4.3. Duyarlı Tasarım
Bento Grid'in en büyük avantajlarından biri, duyarlı tasarıma doğal olarak uyum sağlamasıdır. CSS Grid'in repeat(auto-fit, minmax(...)) ve medya sorguları (@media) sayesinde, farklı ekran boyutlarında kutuların düzenini otomatik olarak ayarlayabildim. Mobil cihazlarda kutular tek sütun halinde sıralanırken, tablet ve masaüstünde daha karmaşık grid yapıları devreye giriyor. Bu, her cihazda tutarlı ve optimize edilmiş bir kullanıcı deneyimi sunmamı sağladı.
5. Karşılaşılan Zorluklar ve Çözümleri
Her yeniden tasarım projesi gibi, Bento Grid entegrasyonu sırasında da bazı zorluklarla karşılaştım. Ancak bu zorluklar, öğrenme sürecimin önemli bir parçası oldu.
5.1. Grid Karmaşıklığı ve Tarayıcı Uyumluluğu
Başlangıçta, özellikle iç içe grid yapıları oluştururken veya belirli bir kutunun birden fazla sütun/satır kaplamasını sağlarken biraz karmaşıklık yaşadım. Ayrıca, eski tarayıcıların CSS Grid desteği konusunda endişelerim vardı. Ancak, günümüz modern tarayıcılarının büyük çoğunluğunun CSS Grid'i tam olarak desteklediğini gördüm. Gerekirse, belirli eski tarayıcılar için fallback (geri dönüş) mekanizmaları düşünmek mümkündü, ancak Next.js'in modern yapısı ve hedef kitlem göz önüne alındığında buna gerek kalmadı.
5.2. Performans Optimizasyonu
Çok sayıda görsel ve dinamik içerik barındıran bir Bento Grid, performans sorunlarına yol açabilir. Bu nedenle, görselleri optimize etmek (Next.js Image bileşeni kullanarak), lazy loading (tembel yükleme) uygulamak ve gereksiz JavaScript kodunu minimize etmek gibi adımlar attım. Ayrıca, CSS kodunu mümkün olduğunca verimli yazmaya özen gösterdim. Bu sayede, sayfa yükleme sürelerini kabul edilebilir seviyelerde tutmayı başardım.
5.3. İçerik Yönetimi Entegrasyonu
Bento Grid, içeriğin dinamik olarak yönetilmesini gerektirir. Her bir kutunun içeriğini (başlık, açıklama, CTA) ayrı ayrı yönetebilmek için Content Management System (CMS) entegrasyonu düşündüm. Şimdilik, verileri doğrudan Next.js'in statik props özelliği ile çeksem de, ileride bir headless CMS (örneğin Strapi, Sanity) ile entegrasyonu planlıyorum. Bu, içerik güncellemelerini çok daha esnek hale getirecektir.
6. Sonuçlar ve İlk İzlenimler (3. Gün)
Yeniden tasarımın üzerinden henüz üç gün geçmiş olmasına rağmen, ilk izlenimler oldukça umut verici. Elbette, uzun vadeli ve istatistiksel olarak anlamlı sonuçlar için daha fazla zamana ihtiyacım var, ancak başlangıçtaki veriler doğru yolda olduğumu gösteriyor.
6.1. İlk Dönüşüm Metrikleri
İlk üç günde, hemen çıkma oranında belirgin bir düşüş gözlemledim. Ortalama oturum süresi arttı ve kullanıcıların daha fazla sayfayı ziyaret ettiği görüldü. En önemlisi, dönüşüm hedeflerime yönelik tıklamalar (örneğin, iletişim formuna veya hizmet sayfalarına geçiş) %8'den %15'e yükseldi. Bu, Bento Grid'in kullanıcıları daha iyi yönlendirdiğinin ve ilgilerini daha etkili bir şekilde çektiğinin bir işareti.
6.2. Kullanıcı Geri Bildirimleri
Bazı test kullanıcılarından ve erken ziyaretçilerden aldığım geri bildirimler oldukça olumlu. Sitenin "daha modern", "daha düzenli" ve "bilgiyi bulmanın daha kolay olduğu" yönünde yorumlar aldım. Özellikle mobil deneyimin iyileşmesi, kullanıcı memnuniyetini artırmış gibi görünüyor.
6.3. SEO Üzerindeki Potansiyel Etkiler
Bento Grid, görsel olarak çekici olmasının yanı sıra, SEO açısından da potansiyel faydalar sunuyor. Kullanıcı deneyiminin iyileşmesi (düşük hemen çıkma oranı, yüksek oturum süresi), arama motoru sıralamalarını olumlu etkileyebilir. Ayrıca, her bir kutunun belirli bir anahtar kelime veya konuyu vurgulaması, içeriğin arama motorları tarafından daha iyi indekslenmesine yardımcı olabilir. Temiz ve semantik HTML yapısı da bu süreci destekleyecektir.
7. Gelecek Adımlar ve Öğrenilen Dersler
Bu yeniden tasarım, sadece bir başlangıç. Web geliştirme sürekli bir öğrenme ve iyileştirme sürecidir.
7.1. A/B Testleri ve İterasyonlar
Önümüzdeki dönemde, farklı Bento Grid düzenleri, CTA yerleşimleri ve renk varyasyonları üzerinde A/B testleri yapmayı planlıyorum. Bu testler, hangi tasarım öğelerinin en iyi performansı gösterdiğini anlamama yardımcı olacak ve sitemi sürekli olarak optimize etmemi sağlayacak.
7.2. Yeni Özellik Entegrasyonları
Bento Grid yapısı, yeni özelliklerin veya içerik türlerinin siteye entegrasyonunu kolaylaştırıyor. Örneğin, gelecekte bir blog bölümü veya interaktif bir araç eklemeyi düşündüğümde, bu yeni öğeleri mevcut grid yapısına sorunsuz bir şekilde dahil edebileceğim.
7.3. Genel Çıkarımlar
Bu serüven bana, sadece trafik rakamlarına odaklanmanın yeterli olmadığını, asıl önemli olanın kullanıcıların siteyle nasıl etkileşim kurduğu ve dönüşüm hedeflerine ulaşıp ulaşmadığı olduğunu bir kez daha gösterdi. Kullanıcı odaklı bir tasarım felsefesi benimsemek ve modern CSS tekniklerini (özellikle CSS Grid) ustaca kullanmak, web sitenizin potansiyelini maksimize etmek için kritik öneme sahip. Bento Grid, bu dengeyi sağlamak için harika bir araç oldu.
SSS (Sık Sorulan Sorular)
Bento Grid her siteye uygun mu?
Bento Grid, özellikle görsel ağırlıklı, farklı içerik türlerini bir arada sunan veya belirli bilgilere dikkat çekmek isteyen siteler için oldukça uygundur. Portföy siteleri, ürün sayfaları, haber siteleri veya kişisel web siteleri bu yaklaşımdan faydalanabilir. Ancak, çok metin ağırlıklı veya doğrusal bir akış gerektiren siteler için her zaman en iyi çözüm olmayabilir.
Next.js dışında frameworklerle kullanılabilir mi?
Kesinlikle! Bento Grid, temel olarak CSS Grid prensiplerine dayanır. Bu nedenle, React, Vue, Angular gibi herhangi bir JavaScript framework'ü veya hatta saf HTML/CSS ile bile kolayca uygulanabilir. Next.js, bileşen tabanlı yapısı ve performans optimizasyonlarıyla bu entegrasyonu kolaylaştıran modern bir platformdur.
Tasarım süreci ne kadar sürdü?
Fikir aşamasından ilk uygulanabilir taslağa ulaşmak yaklaşık 2-3 gün sürdü. Teknik entegrasyon ve ilk testler ise 1 gün içinde tamamlandı. Bu makalenin yazıldığı "3. Gün" ise sitenin yayına alındıktan sonraki ilk gözlem ve analiz dönemini ifade ediyor.
Dönüşüm oranları ne zaman stabilize olur?
Dönüşüm oranlarının stabilize olması ve istatistiksel olarak anlamlı sonuçlar elde etmek için genellikle birkaç hafta ile birkaç ay arasında bir süreye ihtiyaç vardır. Bu süre zarfında yeterli veri toplanır ve mevsimsel veya kampanya bazlı dalgalanmaların etkisi daha iyi anlaşılır. İlk 3 günlük veriler sadece birer ön göstergedir.