Bazen sitenizi başka bir platform’dan WordPress’e taşımanız gerekebilir genelde bilindik CMS’ler de aradaki eklentiler yada tool’lar ile bu işi kolayca yapabilirsiniz, ancak taşıma işlemlerinde (her zaman olduğu gibi) hata alabilmeniz çok yüksek.
Bu hatalardan biride, yazılarınızın aynı page_name değerini kullanması, eğer WordPress sitenizin permalink yapısını postname olarak ayarlamışsanız ve birden fazla yazı aynı postname değerini kullanıyorsa 404 hatası almaya başlarsınız. Bu yüzden tekrarlanmış kayıtları bulup düzeltmemiz lazım.
Normalde WordPress’e yazı eklerken, farklı yazıların aynı permalink’i kullanmasına izin vermez ancak hiyerarşi gereği database tarafında bir zorlama bulunmuyor, migration işlemlerinde ki sıkıntıda burada başlıyor.
Neyse konuyu fazla dağıtmadan gelelim çözüme;
WordPress’in kurulu olduğu root dizine (herhangi bir isim verebilirsiniz) adında bir php sayfası oluşturun ve içine
kodları ekleyip kaydedin. Ardından siteadresi.com/fix-duplicated-posts.php adresine gidin ve bekleyin. (eğer veritabanı çok büyükse set_time_limit ayarlamayı unutmayın.
Benim bu yöntemi denediğim site içerik olarak çok büyüktü, posts tablosunda 500.000 kaydın olduğunu düşünün, select sorgusunun bile gelmesi uzun sürüyordu o yüzden php’i konsoldan çalıştırdım (ki tavsiye ederim) . Bu şekilde aynı post_name kullanan kayıtlardan kurtulmuş oluyoruz, ancak her çalıştırmada çoğaltılmış içeriklerden birini düzelttiğinden birden çok çalıştırmanız gerekebilir.
Bu dosyayı gist üzerinden indirebilirsiniz.
Bir yanıt yazın