WordPress'ten Sanity + Next.js'e Geçiş: Teknik Rehber
WordPress içeriğini Sanity ve Next.js'e taşımanın dört adımı: veri dışa aktarma, şema eşleme, import script'i ve 301 yönlendirme matrisi ile SEO koruma.
Bu teknik rehber, WordPress içeriğini Sanity + Next.js mimarisine taşıma sürecini dört net aşamaya ayırıyor: WP REST API üzerinden veri dışa aktarma, WordPress'in düz post-tipi modelini Sanity'nin tipli doküman şemalarına eşleme, @sanity/client ile idempotent bir import script'i yazma ve son olarak eski URL yapısını yeni /blog/[slug] rotasına 301 yönlendirmelerle bağlama. Yazar, büyük siteler için WXR XML yerine sayfalanmış REST API çağrılarını (posts, pages, categories, media) önermekte ve eklenti kaynaklı custom post type'ların ayrıca kontrol edilmesi gerektiğini vurguluyor.
Şema tarafında dikkat çeken nokta, her dokümana orijinal WordPress slug'ının seo.legacySlug alanında saklanması; bu, migrasyon sonrası redirect matrisini GROQ sorgusuyla otomatik üretmeyi mümkün kılıyor. Import script'i görsel yükleme, HTML'den Portable Text'e dönüşüm ve doküman oluşturma işlerini ayrı adımlara bölüyor; HTML dönüşümü için hazır kütüphaneler yerine htmlparser2 tabanlı manuel bir mapper'ın daha öngörülebilir olduğu belirtiliyor. _id alanına wp-post- ön eki eklenerek script'in tekrar çalıştırılabilir (idempotent) hale getirilmesi, production'a geçmeden önce staging dataset üzerinde test edilmesi ve içeriklerin örneklem bazında manuel kontrolü öneriliyor.
Son aşamada, Sanity'den legacySlug ve yeni slug çiftleri GROQ ile çekilip JSON redirect haritasına dönüştürülüyor; küçük siteler için next.config.ts içindeki statik redirects() fonksiyonu, büyük siteler için ise middleware tabanlı lookup öneriliyor. Mühendisler için önemi açık: yapısal migrasyon hatalarının en yaygın sonucu kırık URL'ler ve kaybolan arama sıralamalarıdır; bu rehber söz konusu riski script seviyesinde nasıl azaltacağını somut kod örnekleriyle gösteriyor.