Standart WordPress verileri — gönderiler, sayfalar, kategoriler, etiketler, yazarlar ve öne çıkan görseller — sorunsuz taşınıyor. Taşıma betiği, yapılandırılmış tablo önekini kullanarak doğrudan WordPress veritabanından okuyor ve tek bir işlemle JekCMS şemasına yazıyor. Her iki veritabanı aynı ya da farklı sunucularda çalışabilir; betik ayrı PDO bağlantıları kullanıyor. 3.000 gönderi için ortalama taşıma süresi 4–6 dakika.

Özel Gönderi Türleri: Asıl Karmaşıklık Burada

Özel gönderi türleri asıl zorluğu oluşturuyor. JekCMS esnek bir meta anahtar-değer sistemiyle tek bir gönderi türüne sahip; WordPress'in özel gönderi türleri ise tamamen farklı editoryal iş akışlarına karşılık geliyor. Her özel gönderi türü için belirli meta anahtarlarla bir JekCMS gönderisi mi, özel bir veritabanı tablosu mu yoksa JekCMS kategorileri kümesi mi olacağına karar vermeniz gerekiyor. Karar, özel gönderi türü içeriğinin ana gönderi akışında görünmesi gerekip gerekmediğine ya da bağımsız bir bölüm olarak var olup olmadığına bağlı.

ACF Alanlarını Eşleştirmek

ACF alanları bir yapılandırma dosyasında açık eşleme gerektiriyor. Taşıma araçları dizininde ACF alan adlarını JekCMS meta anahtarlarıyla eşleştiren bir field_map.php oluşturun: 'acf_subtitle' => 'post_subtitle'. Boolean ACF alanları JekCMS gönderi meta verilerinde 0/1 tamsayı değerleri oluyor. Tekrarlayan alanlar tek bir meta değeri olarak JSON kodlanıyor — şablonlarınızın bu değerler üzerinde yineleme yapması gerekiyorsa özel bir sorgu yardımcısı oluşturmanız gerekiyor.

Taşıma Sonrası URL Denetimi

Taşıma tamamlandıktan sonra Screaming Frog kullanarak her iki siteyi paralel olarak tarayın. Durum kodlarını ve yönlendirme zincirlerini karşılaştırın. JekCMS'te 404 döndüren her WordPress URL'si için bir yönlendirme girişi gerekiyor. JekCMS'in config/redirects.php dosyası kaynak → hedef çiftleri dizisini kabul ediyor ve ^/\?p=(\d+)$ => /posts/$1 gibi toplu yönlendirmeler için regex kalıplarını destekliyor. Bu adımı atlamamak SEO değerinin büyük bölümünü koruyor.