Amazon gelirinin %35’ini öneri motoruna atfediyor. Ama şunu baştan söyleyeyim: WooCommerce mağazanın AI kişiselleştirmesinden faydalanması için Amazon’un ölçeğine ihtiyacı yok. Modern AI API’leri ve yapılandırılmış bir yaklaşımla, her ziyaretçiye kişiselleştirilmiş ürün önerileri, arama sonuçları ve içerik sunabilirsin. İşin güzeli, gereken verinin çoğu zaten senin veritabanında duruyor.
WooCommerce için Kişiselleştirme Gerçekte Ne Anlama Geliyor
Açık konuşayım: kişiselleştirme “kenar çubuğu widget’ında rastgele ürünler göstermek” değildir. O sadece gürültü. Gerçek kişiselleştirme, davranışsal verileri ve AI’ı kullanarak alışveriş deneyimini kişiye uyarlamaktır:
- Gezinti ve satın alma geçmişini yansıtan ürün önerileri
- Bireysel kullanıcıya göre alakasına göre sıralanan arama sonuçları
- Geri dönen ziyaretçilere uyum sağlayan ana sayfa içeriği
- Alıcı başına seçilen ürünlerle e-posta kampanyaları
- Kullanıcı tercihlerine dayalı dinamik kategori sıralama
Kişiye göre deneyim yeni bir fikir değil
Şu “AI kişiselleştirme” başlığına takılıp da işin özünü kaçırma. Kişiye göre deneyim tasarlamak yepyeni bir fikir değil; yıllar önce interaktif virtual show’lar ve kiosk projeleri yapardım — kullanıcı bir seçim yapardı, sistem o seçime göre gösterdiği içeriği dallandırırdı. Elimizde ne AI vardı ne embedding; sadece kaba bir durum takibi ve bir sürü if-else. Ama niyet aynıydı: karşındaki insanın ne istediğini anla, ona göre değiş.
Değişen tek şey ölçek ve incelik. Eskiden üç-beş dala böldüğün deneyimi, bugün embedding’ler ve davranış verisiyle binlerce kişiye ayrı ayrı uyarlayabiliyorsun. Yani bu bir devrim değil, otuz yıllık bir fikrin nihayet doğru araçlara kavuşması. Bunu söylüyorum çünkü “AI” kelimesi insanı büyüledikçe temeldeki basit soruyu unutturuyor: bu öneri gerçekten alıcının işine yarıyor mu, yoksa sadece panelde şık mı duruyor? Ben olsam her zaman ikincisinden şüphe ederdim.
Veri Toplama: İhtiyacın Olanlar
Kişiselleştirme veri gerektirir. İyi haber şu: WooCommerce zaten ihtiyacın olanların çoğunu topluyor:
| Veri Noktası | Kaynak | Değer |
|---|---|---|
| Görüntülenen ürünler | Özel takip (JS) | Yüksek |
| Satın alınan ürünler | WooCommerce siparişleri | Çok Yüksek |
| Gezinen kategoriler | Özel takip | Yüksek |
| Arama sorguları | WooCommerce arama kayıtları | Orta |
| Sepet ekleme/çıkarma | WooCommerce hook’ları | Yüksek |
| Ürün sayfasında geçirilen süre | Özel takip | Orta |
| Cihaz/konum | İstek başlıkları | Düşük-Orta |
Takip uygulaması:
// Frontend: Track product views
document.addEventListener('DOMContentLoaded', () => {
const productId = document.querySelector('[data-product-id]')?.dataset.productId;
if (!productId) return;
const userId = getCookie('wp_customer_id') || getSessionId();
fetch('/wp-json/personalization/v1/track', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
event: 'product_view',
product_id: parseInt(productId),
user_id: userId,
timestamp: Date.now()
})
});
});
Öneri Motoru: Üç Yaklaşım
1. İşbirlikçi Filtreleme (Klasik)
“X’i satın alan kullanıcılar Y’yi de satın aldı.” Yeterli sipariş geçmişiyle (1.000+ sipariş) iyi çalışır. Küçük bir mağazaysan bu yaklaşım tek başına seni yarı yolda bırakır — o yüzden ikinci seçeneği de oku.
from collections import defaultdict
def get_recommendations(user_id, orders, n=5):
# Find products this user purchased
user_products = set(orders[user_id])
# Find similar users (same purchases)
similarity_scores = defaultdict(int)
for other_user, products in orders.items():
if other_user == user_id:
continue
common = user_products & set(products)
if common:
similarity_scores[other_user] = len(common)
# Get products from similar users that this user hasn't seen
recommendations = defaultdict(float)
for other_user, score in similarity_scores.items():
for product in orders[other_user]:
if product not in user_products:
recommendations[product] += score
# Return top N
return sorted(recommendations, key=recommendations.get, reverse=True)[:n]
2. Embedding’lerle İçerik Tabanlı Filtreleme
Kullanıcının görüntülediği ürünlere benzer ürünleri bulmak için AI embedding’lerini kullan. Sınırlı sipariş geçmişiyle bile çalışır — yeni mağazaların soğuk başlangıç sorununu çözen yaklaşım tam olarak budur.
async function getContentBasedRecommendations(viewedProductIds, allProducts) {
// Get embeddings for viewed products
const viewedEmbeddings = await Promise.all(
viewedProductIds.map(id => getProductEmbedding(id))
);
// Average the embeddings to create a "user preference vector"
const preferenceVector = averageVectors(viewedEmbeddings);
// Find most similar products
const scores = allProducts
.filter(p => !viewedProductIds.includes(p.id))
.map(p => ({
product: p,
similarity: cosineSimilarity(preferenceVector, p.embedding)
}))
.sort((a, b) => b.similarity - a.similarity);
return scores.slice(0, 10).map(s => s.product);
}
3. AI Tarafından Üretilen Öneriler (Claude)
Karmaşık ürünlere sahip mağazalar için, öneriler hakkında akıl yürütmesi için Claude’u kullan:
async function getAIRecommendations(userHistory, catalog) {ID:${p.id} - ${p.name} (${p.category})const response = await anthropic.messages.create({
model: 'claude-sonnet-4-20250514',
max_tokens: 500,
system: 'You are a product recommendation engine. Return a JSON array of product IDs.',
messages: [{
role: 'user',
content:
Based on this customer's history, recommend 5 products.Customer viewed: ${userHistory.viewed.map(p => p.name).join(', ')}
Customer purchased: ${userHistory.purchased.map(p => p.name).join(', ')}
Customer searches: ${userHistory.searches.join(', ')}
Available products:
${catalog.map(p =>
).join('\n')}Return ONLY a JSON array of recommended product IDs.
}]
});
return JSON.parse(response.content[0].text);
}
Kişiselleştirilmiş Arama
WooCommerce’in varsayılan anahtar kelime aramasını AI-geliştirilmiş aramayla değiştir:
async function personalizedSearch(query, userId) {
// 1. Get semantic search results
const queryEmbedding = await generateEmbedding(query);
const semanticResults = await vectorDB.search(queryEmbedding, { topK: 50 });
// 2. Get user preferences
const userPrefs = await getUserPreferences(userId);
// 3. Re-rank results based on user preferences
const reranked = semanticResults.map(result => {
let score = result.similarity;
// Boost products in user's preferred categories
if (userPrefs.categories.includes(result.category)) {
score *= 1.3;
}
// Boost products in user's price range
if (result.price >= userPrefs.priceRange.min &&
result.price <= userPrefs.priceRange.max) {
score *= 1.2;
}
return { ...result, personalizedScore: score };
});
return reranked.sort((a, b) => b.personalizedScore - a.personalizedScore);
}
WooCommerce’te Uygulama
WordPress Plugin Yaklaşımı
Öneri widget’ları ekleyen özel bir plugin oluştur:
// Shortcode: [ai_recommendations count="4"]
add_shortcode('ai_recommendations', function($atts) {
$atts = shortcode_atts(['count' => 4], $atts);
$user_id = get_current_user_id() ?: $_COOKIE['session_id'] ?? '';
$recommendations = get_ai_recommendations($user_id, $atts['count']);
if (empty($recommendations)) return '';
ob_start();
echo '
';
echo '
Recommended For You
';
echo '
';
foreach ($recommendations as $product_id) {
$product = wc_get_product($product_id);
if (!$product) continue;
wc_get_template_part('content', 'product');
}
echo '
';
return ob_get_clean();
});
Gizlilik Hususları
Şunu es geçme, çünkü kişiselleştirmenin en kolay batırıldığı yer burası. Veri topluyorsan sorumluluk da alıyorsun demektir:
- GDPR uyumluluğu: Davranışı takip etmeden önce onay al, veri silme seçenekleri sağla
- Çerez onayı: Kişiselleştirme çerezleri AB’de açık onay gerektirir
- Veri minimizasyonu: Sadece kullandığını takip et, eski verileri sil
- Anonimleştirme: Giriş yapmayan kullanıcılar için oturum kimliklerini kullan, kişisel verilerle bağlama
Etkiyi Ölçme
Kişiselleştirmeyi ekledin diye iş bitmiyor; ölçmediğin sürece bir hikâye anlatıyorsun, sonuç üretmiyorsun. Beklenmesi makul aralıklar şöyle:
| Metrik | Kişiselleştirme Olmadan | Kişiselleştirme İle | Hedef Artış |
|---|---|---|---|
| Tıklama oranı (öneriler) | %2-3 | %8-15 | +%200 |
| Ortalama sipariş değeri | Temel | +%10-25 | +%15 |
| Dönüşüm oranı | Temel | +%5-15 | +%10 |
| Geri dönüş ziyaret oranı | Temel | +%20-40 | +%25 |
Sonuç
WooCommerce’te AI kişiselleştirmesi artık sadece kurumsal mağazalar için ayrılmış değil. Embedding tabanlı öneriler, kişiselleştirilmiş arama ve AI tarafından üretilen öneriler, günümüzün API’leri ve araçlarıyla erişilebilir. Ben olsam ürün sayfasında ürün önerileriyle başlardım — en yüksek etki, en düşük uygulama maliyeti orada. Dönüşüm artışını ölç, işe yaradığını gördükçe arama ve e-posta kişiselleştirmesine genişlet. İhtiyacın olan veriler zaten WooCommerce’te; tek yapman gereken onları akıllıca kullanmak — ve panelde şık dursun diye değil, alıcının gerçekten işine yarasın diye.
Last modified: Ağustos 2, 2026
United States / English
Slovensko / Slovenčina
Canada / Français
Türkiye / Türkçe