Ürün Listeleme SEO: Trendyol'da İlk Sayfada Görünme Rehberi
Trendyol ürün listeleme SEO rehberi: Anahtar kelime araştırması, ürün başlığı optimizasyonu, görsel kalitesi ve satıcı puanı. İlk sayfada çıkmanın 10 altın kuralı.
Ürün Listeleme SEO: Trendyol'da İlk Sayfada Görünme Rehberi
Trendyol'da binlerce rakip arasından sıyrılmak ve arama sonuçlarında üst sıralarda yer almak için ürün listeleme SEO stratejilerine hakim olmanız gerekir. Bu rehberde, ürünlerinizi ilk sayfaya taşıyacak 10 altın kuralı öğreneceksiniz.
Trendyol Arama Algoritması Nasıl Çalışır?
Sıralama Faktörleri
- Anahtar Kelime Uyumu (%30)
- Satıcı Puanı (%25)
- Satış Performansı (%20)
- Görsel Kalitesi (%15)
- Fiyat Rekabeti (%10)
interface ProductSEOScore {
keywordMatch: number; // 0-30
sellerRating: number; // 0-25
salesPerformance: number; // 0-20
imageQuality: number; // 0-15
priceCompetitiveness: number; // 0-10
}
function calculateSEOScore(product: ProductSEOScore): number {
return (
product.keywordMatch +
product.sellerRating +
product.salesPerformance +
product.imageQuality +
product.priceCompetitiveness
);
}
// Örnek hesaplama
const productScore = calculateSEOScore({
keywordMatch: 28, // Mükemmel
sellerRating: 22, // 4.5 yıldız
salesPerformance: 18, // Yüksek satış
imageQuality: 14, // Profesyonel
priceCompetitiveness: 8 // Rekabetçi
});
console.log(`SEO Skoru: ${productScore}/100`);
// Çıktı: SEO Skoru: 90/100 (Mükemmel)
1. Anahtar Kelime Araştırması
Doğru Anahtar Kelimeleri Bulma
class KeywordResearch {
async findOptimalKeywords(productCategory: string) {
// Trendyol'da popüler aramalar
const trendingSearches = await this.getTrendingSearches(productCategory);
// Rakip analizi
const competitorKeywords = await this.analyzeCompetitors(productCategory);
// Anahtar kelime metrikleri
const keywords = trendingSearches.map(keyword => ({
keyword: keyword,
searchVolume: this.getSearchVolume(keyword),
competition: this.getCompetitionLevel(keyword),
opportunity: this.calculateOpportunityScore(keyword)
}));
// Fırsat skoruna göre sırala
return keywords.sort((a, b) => b.opportunity - a.opportunity);
}
private calculateOpportunityScore(keyword: string) {
const volume = this.getSearchVolume(keyword);
const competition = this.getCompetitionLevel(keyword);
// Yüksek arama, düşük rekabet = Fırsat
return (volume / competition) * 100;
}
}
// Kullanım
const research = new KeywordResearch();
const keywords = await research.findOptimalKeywords('kadın tişört');
console.log('En iyi anahtar kelimeler:');
keywords.slice(0, 10).forEach((kw, i) => {
console.log(`${i+1}. ${kw.keyword} (Fırsat: ${kw.opportunity.toFixed(2)})`);
});
Uzun Kuyruk (Long-Tail) Anahtar Kelimeler
✅ Kısa: "tişört" (yüksek rekabet)
✅ Uzun Kuyruk: "kadın beyaz pamuklu oversize tişört" (düşük rekabet, yüksek dönüşüm)
const shortKeyword = {
keyword: 'tişört',
searchVolume: 500000,
competition: 9.5,
conversionRate: 0.8
};
const longTailKeyword = {
keyword: 'kadın beyaz pamuklu oversize tişört',
searchVolume: 5000,
competition: 3.2,
conversionRate: 4.5 // 5.6x daha yüksek!
};
2. Ürün Başlığı Optimizasyonu
Mükemmel Başlık Formülü
[Marka] + [Ürün Tipi] + [Ana Özellik] + [Renk] + [Beden/Boyut] + [Malzeme]
Örnek:
- ❌ Kötü: "Beyaz Tişört"
- ✅ İyi: "Nike Kadın Beyaz Oversize Tişört 100% Pamuklu Spor"
interface ProductTitleOptimizer {
brand: string;
productType: string;
mainFeature: string;
color: string;
size?: string;
material?: string;
additionalKeywords?: string[];
}
function generateOptimalTitle(data: ProductTitleOptimizer): string {
const parts = [
data.brand,
data.productType,
data.mainFeature,
data.color,
data.size,
data.material,
...(data.additionalKeywords || [])
].filter(Boolean); // Boş olanları çıkar
// Maksimum 100 karakter
let title = parts.join(' ');
if (title.length > 100) {
title = title.substring(0, 97) + '...';
}
return title;
}
// Kullanım
const optimizedTitle = generateOptimalTitle({
brand: 'Nike',
productType: 'Kadın Tişört',
mainFeature: 'Oversize',
color: 'Beyaz',
material: '100% Pamuklu',
additionalKeywords: ['Spor', 'Günlük']
});
console.log(optimizedTitle);
// Çıktı: "Nike Kadın Tişört Oversize Beyaz 100% Pamuklu Spor Günlük"
3. Kategori ve Özellik Seçimi
Doğru Kategori Seçimi
async function selectOptimalCategory(product: any) {
const categories = await db.category.findMany({
where: {
OR: [
{ name: { contains: product.mainKeyword } },
{ keywords: { hasSome: product.keywords } }
]
},
include: {
_count: {
select: { products: true }
}
}
});
// En az rekabetçi ama alakalı kategoriyi seç
return categories.sort((a, b) =>
a._count.products - b._count.products
)[0];
}
Ürün Özelliklerini Tam Doldurma
const requiredAttributes = {
// Zorunlu alanlar
brand: 'Nike',
color: 'Beyaz',
size: 'M',
material: '%100 Pamuk',
// Opsiyonel ama önemli
pattern: 'Düz',
sleeveLength: 'Kısa Kol',
neckline: 'Bisiklet Yaka',
fit: 'Oversize',
season: 'İlkbahar/Yaz',
// SEO için ekstra
targetGender: 'Kadın',
ageGroup: 'Yetişkin',
occasion: 'Günlük/Spor'
};
// Doldurulma oranı hesapla
function calculateCompletenessScore(attributes: any) {
const totalFields = Object.keys(requiredAttributes).length;
const filledFields = Object.values(attributes).filter(v => v !== null && v !== '').length;
return (filledFields / totalFields) * 100;
}
4. Görsel Optimizasyonu
Görsel Kalite Kriterleri
interface ImageQualityCheck {
minResolution: { width: 1000, height: 1000 };
maxFileSize: 5000000; // 5MB
format: 'JPEG' | 'PNG';
backgroundColor: 'white';
minImageCount: 5;
}
async function validateProductImages(images: File[]) {
const results = await Promise.all(images.map(async (img, index) => {
const dimensions = await getImageDimensions(img);
const fileSize = img.size;
return {
index: index + 1,
resolution: dimensions,
size: fileSize,
passes: {
resolution: dimensions.width >= 1000 && dimensions.height >= 1000,
fileSize: fileSize <= 5000000,
format: ['image/jpeg', 'image/png'].includes(img.type)
}
};
}));
const passCount = results.filter(r =>
Object.values(r.passes).every(p => p === true)
).length;
return {
totalImages: images.length,
qualityImages: passCount,
score: (passCount / images.length) * 100,
recommendation: passCount >= 5 ? 'Mükemmel' : 'İyileştirme gerekli'
};
}
Görsel Sıralaması
- Ana görsel: Ürün net, beyaz fon
- Detay görseli: Yakın çekim, doku
- Kullanım görseli: Model üzerinde
- Arka plan: Farklı açıdan
- Ölçü tablosu: Beden rehberi
5. Fiyatlandırma Stratejisi
Rekabetçi Fiyat Analizi
async function analyzePriceCompetitiveness(productId: string) {
const product = await db.product.findUnique({ where: { id: productId } });
const competitors = await getCompetitorPrices(product.barcode);
const avgPrice = competitors.reduce((s, c) => s + c.price, 0) / competitors.length;
const minPrice = Math.min(...competitors.map(c => c.price));
const maxPrice = Math.max(...competitors.map(c => c.price));
const pricePosition = (product.price - minPrice) / (maxPrice - minPrice);
let competitiveness;
if (pricePosition < 0.25) competitiveness = 'Çok Rekabetçi';
else if (pricePosition < 0.5) competitiveness = 'Rekabetçi';
else if (pricePosition < 0.75) competitiveness = 'Ortalama';
else competitiveness = 'Pahalı';
return {
yourPrice: product.price,
marketAverage: avgPrice.toFixed(2),
cheapest: minPrice,
mostExpensive: maxPrice,
competitiveness: competitiveness,
recommendation: pricePosition > 0.6 ?
`Fiyatı ₺${avgPrice.toFixed(2)}'ye düşürmeyi düşünün` :
'Fiyat uygun'
};
}
6. Satıcı Puanı Yükseltme
interface SellerMetrics {
rating: number; // 0-5
totalSales: number;
returnRate: number; // %
responseTime: number; // dakika
shippingSpeed: number; // gün
}
function calculateSellerScore(metrics: SellerMetrics): number {
const ratingScore = (metrics.rating / 5) * 25;
const salesScore = Math.min((metrics.totalSales / 1000) * 25, 25);
const returnScore = Math.max(25 - (metrics.returnRate * 5), 0);
const responseScore = Math.max(25 - (metrics.responseTime / 60), 0);
return ratingScore + salesScore + returnScore + responseScore;
}
// İyileştirme önerileri
function getImprovementSuggestions(metrics: SellerMetrics) {
const suggestions = [];
if (metrics.rating < 4.5) {
suggestions.push('Ürün kalitesini artırın, müşteri geri bildirimlerini dikkate alın');
}
if (metrics.returnRate > 5) {
suggestions.push('İade oranını düşürmek için ürün açıklamalarını netleştirin');
}
if (metrics.responseTime > 60) {
suggestions.push('Müşteri sorularına 1 saat içinde yanıt verin');
}
if (metrics.shippingSpeed > 2) {
suggestions.push('Kargo süresini 1-2 güne indirin');
}
return suggestions;
}
7. Müşteri Yorumlarını Artırma
async function requestProductReview(orderId: string) {
const order = await db.order.findUnique({
where: { id: orderId },
include: { customer: true, items: true }
});
// Teslimat sonrası 3 gün bekle
const deliveryDate = order.deliveredAt;
const reviewRequestDate = new Date(deliveryDate);
reviewRequestDate.setDate(reviewRequestDate.getDate() + 3);
await scheduleEmail({
to: order.customer.email,
sendAt: reviewRequestDate,
subject: 'Ürünümüzü değerlendirir misiniz? 🌟',
template: 'review-request',
data: {
customerName: order.customer.name,
productName: order.items[0].productName,
reviewUrl: `https://trendyol.com/review/${order.id}`,
incentive: 'Değerlendirme yapan ilk 100 müşteriye %10 indirim kuponu!'
}
});
}
TrendEntegre SEO Asistanı
✅ Anahtar Kelime Araştırma AI
✅ Otomatik Başlık Optimizasyonu
✅ Görsel Kalite Kontrolü
✅ Rakip Fiyat Takibi
✅ SEO Skoru Dashboard
Sonuç
Ürün listeleme SEO ile:
- 🎯 İlk sayfada görünürlük %300 artış
- 📈 Organik tıklama oranı %150 yükseliş
- 💰 Reklam maliyeti %40 azalma
- 🚀 Satış dönüşümü %85 iyileşme
Anahtar Kelimeler: Trendyol SEO, ürün listeleme, anahtar kelime optimizasyonu, ürün başlığı, görsel optimizasyonu
Eyüp Aktaş
Bu yazı Eyüp Aktaş tarafından yazılmıştır.
İlgili Yazılar
Yorumlar (0)
Yorum Yaz
Henüz yorum yapılmamış. İlk yorumu yapan siz olun!