14 Faydalı WordPress SQL sorgusu
WordPress, bir MySQL veritabanı tarafından yürütülür. Bu, aktif WordPress kullanıcılarının bildiği bir şey. Ancak, burada sadece bizden okursanız, işte bilmeniz gerekenler. MySQL, çoğu web barındırma hizmetinde bulunan ücretsiz bir ilişkisel veritabanı yönetim sistemidir. Yazılar, yorumlar, kategoriler ve ayarlar gibi tüm WordPress verileri MySQL veritabanında saklanır. MySQL hakkında daha fazla bilgi edinmek istiyorsanız, WordPress Veritabanı Şeması’na bakabilirsiniz.
Örneğin, WordPress’teki bazı bilgileri pano üzerinde değiştirmeniz gerekirse, her kayıttan geçmek çok zaman alır ve insan hatalarına açıktır. WordPress veritabanınıza basit bir SQL sorgusu uygulayarak gerekli değişiklikleri hızlı ve verimli bir şekilde yapabilirsiniz.
Aşağıda WordPress kullanırken size yardımcı olabilecek bazı SQL sorguları gösterilmiştir.
Neler Okuyacaksınız? →
WordPress Veritabanınızı yedekleyin
Herhangi bir değişiklik yapmadan önce veritabanınızı yedeklediğinizden emin olun. Herhangi bir büyük değişiklik yapmadan önce veritabanınızı daima yedeklemeniz iyi bir uygulamadır. Bu, bir şeyler ters giderse bile, hala onu geri yükleyebilmenizi sağlar.
Sen indirebilirsiniz WP-DB-Backup veya WP-DBManager WordPress yönetici paneli üzerinden yedeklemek için veritabanı eklentisi. Alternatif olarak, veritabanınızı phpMyAdmin ile manuel olarak yedekleyebilirsiniz.
WordPress veritabanınızı el ile yedeklemeye karar verirseniz, aşağıdaki adımları izleyin:
- Sizin giriş phpMyAdmin.
- WordPress veritabanınızı seçin.
- Navigasyonun üst kısmındaki Dışa Aktar’a tıklayın.
- Yedeklemek istediğiniz tabloları seçin veya tüm veritabanını yedeklemek için tüm tabloları seçin.
- .Sql uzantısı olarak dışa aktarmak için SQL’i seçin.
- “ Dosya olarak kaydet ” onay kutusunu işaretleyin.
- Sıkıştırma türünü seçin , veritabanını daha küçük bir boyuta sıkıştırmak için gzip’i seçin.
- Sonunda Git’e tıkladığınızda bir indirme penceresi sizden yedekleme veritabanı dosyanızı kaydetmenizi ister.
WordPress için 14 SQL Sorgusu
Aşağıdaki sorgulardan herhangi birini çalıştırmanın kolay bir yolu phpMyAdmin kullanmaktır. phpMyAdmin en yaygın veritabanı arama ve düzenleme araçlarından biridir. Hemen hemen tüm web barındırma hizmetleri kontrol panelleri bunu sağlar.
PhpMyAdmin’i kullanmak için aşağıdaki adımları izleyin:
- PhpMyAdmin paneline giriş yapın ve WordPress veritabanınızı seçin.
- Sizi bir SQL sorgu kutusuyla bir sayfaya götürecek olan SQL sekmesine tıklayın.
Not: Tüm sorgular doğrudan SQL sorgusudur ve tablolar için standart tablo öneki ‘wp_’ olur. Farklı bir tablo öneki kullanıyorsanız, lütfen sorguları uygun şekilde değiştirin.
Site URL ve Ana Sayfayı Değiştir
WordPress, site URL’sinin ve ana sayfa URL’sinin mutlak yolunu veritabanında depolar. Bu nedenle, WordPress sitenizi localhost’tan sunucunuza aktarırsanız, siteniz çevrimiçi olarak yüklenmeyecektir. Bunun nedeni, mutlak yol URL’sinin hala yerel ana makinenizi göstermesidir. Sitenin çalışması için site URL’sini ve giriş URL’sini değiştirmeniz gerekecektir.
Çözüm:
UPDATE wp_options SET option_value = replace(option_value, 'http://www.eskisiteurl.com', 'http://www.yenisiteurl.com') WHERE option_name = 'home' OR option_name = 'siteurl';
GUID’yi değiştir
Blogunuzu localhost’tan sunucunuza veya başka bir alandan yeni bir alana geçirdikten sonra, wp_posts tablosundaki GUID alanı için URL’leri düzeltmeniz gerekir. Bu çok önemlidir, çünkü GUID, yanlış girilmişse, yazınızı veya sayfa girişinizi doğru makale mutlak yoluna çevirmek için kullanılır.
Çözüm:
UPDATE wp_posts SET guid = REPLACE (guid, 'http://www.eskisiteurl.com', 'http://www.yenisiteurl.com');
İçerikteki URL’yi değiştir
WordPress, URL bağlantısındaki mutlak yolu, veritabanında depolarken URL bağlantısındaki bağıl yol yerine kullanır. Her kayıt kaydının içeriğinde, eski kaynağa başvuran tüm eski URL’leri depolar. Bu nedenle, tüm bu URL’leri yeni etki alanı konumuna değiştirmeniz gerekecektir.
Çözüm:
UPDATE wp_posts SET post_content = REPLACE (post_content, 'http://www.eskisiteurl.com', 'http://www.yenisiteurl.com');
Yalnızca Görüntü Yolunu Değiştir
Görüntülerin sunucunuzdan boşaltılmasını sağlamak için Amazon CloudFront’u İçerik Dağıtım Ağı (CDN) olarak kullanmaya karar verirseniz. CNAME kaydınızı oluşturduktan sonra, tüm görüntüleri Amazon CloudFront’dan yüklemek için WordPress’teki tüm resim yollarını değiştirmek için aşağıdaki sorguyu kullanabilirsiniz.
Çözüm:
UPDATE wp_posts SET post_content = REPLACE (post_content, 'src="https://www.eskisiteurl.com', 'src="https://cdn.yenisiteurl.com');
Görüntü Eklentisi için GUID’yi aşağıdaki sorguyla güncellemeniz gerekir:
UPDATE wp_posts SET guid = REPLACE (guid, 'http://www.eskisiteurl.com', 'http://yourcdn.yenisiteurl.com') WHERE post_type = 'attachment';
Post Meta Güncelle
Post Meta’nın Güncellenmesi, post içerikteki URL’yi güncellemekle neredeyse aynı şekilde çalışır. Her gönderi için fazladan URL verisi sakladıysanız, hepsini değiştirmek için aşağıdaki sorguyu kullanabilirsiniz.
Çözüm:
UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, 'http://www.eskisiteurl.com','http://www.yenisiteurl.com');
Varsayılanı Değiştir “Yönetici” Kullanıcı Adı
Her varsayılan WordPress kurulumu, varsayılan Yönetici kullanıcı adına sahip bir hesap oluşturacaktır. Bu geniş yayılı bilgidir, WordPress kullanan herkes bunu bilir. Ancak, bu bir güvenlik sorunu olabilir, çünkü bir bilgisayar korsanı WordPress yönetici panelinizi acımasızca zorlayabilir. Varsayılan “Yönetici” kullanıcı adınızı değiştirebilirseniz, WordPress yönetici panelinize ek güvenlik sağlarsınız.
Çözüm:
UPDATE wp_users SET user_login = 'Yeni Kullanıcı Adınız' WHERE user_login = 'Admin';
Şifreyi yenile
Parolanızı WordPress’te sıfırlamak istediniz, ancak parola sıfırlama bölümünü, nedeni ne olursa olsun kullanamıyor gibi görünüyorlar mı?
Çözüm:
UPDATE wp_users SET user_pass = MD5( 'new_password' ) WHERE user_login = 'kullanıcı-adınız';
Tüm makaleleri Yazar B’ye Yazar A’ya atayın
Yazar B altındaki makaleleri, Yazar A altındakilerle birleştirmek üzere aktarmak istiyorsanız, makaleyi makaleye göre yazmanız çok zaman alacaktır. Aşağıdaki SQL sorgusu ile tüm kayıtları kolayca gözden geçirebilir ve Yazar B’nin altına girmek için Yazar B tarafından makaleler atayabilirsiniz.
WordPress yönetici panelinde Yazar ve Kullanıcı sayfanıza giderek, her iki yazarın da yazar kimliğini almanız gerekir. Profilini görmek için yazarın ismine tıklayın. Adres çubuğunda “ user_id ” ifadesini arayın. İstediğimiz yazar kimliği bilgisi bu.
Çözüm:
UPDATE wp_posts SET post_author = 'yeni-author-id' WHERE post_author = 'eski-author-id';
Düzeltmeyi Sil
WordPress’te bir makaleyi düzenlerken, kaydedilecek birçok revizyon kopyası olacaktır. Bu bir kaynak israfıdır çünkü aşırı revizyon kayıtları veritabanının yükünü artırabilir. Zaman içinde, binlerce girişiniz olduğunda, veritabanınız önemli ölçüde büyür. Bu, döngü yinelemelerini, veri alımını artıracak ve sayfa yükleme süresini etkileyecektir.
Çözüm:
DELETE a,b,c FROM wp_posts a LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id) WHERE a.post_type = 'revision'
Not: Her yayında yapılan tüm düzeltmelerin, tüm meta verileri de dahil olmak üzere silineceğini unutmayın.
Post Meta’yu Sil
Eklentileri yüklemek veya kaldırmak, WordPress için çok yaygın bir iştir. Eklentilerden bazıları, eklentiye ait verileri depolamak için post meta’dan yararlanır. Eklentiyi kaldırdıktan sonra, bu veriler hala gerekli olmayacak olan post_meta tablosunun içinde kalır . Kullanılmayan post meta değerini temizlemek için aşağıdaki sorguyu çalıştırın. Bu, veritabanınızın boyutunu hızlandırmaya ve azaltmaya yardımcı olacaktır.
Çözüm:
DELETE FROM wp_postmeta WHERE meta_key = 'your-meta-key';
Tüm Yorum E-postaları Çoğaltılmadan Dışa Aktar
Bir süre zarfında blogunuz birçok yorum almıştır. Bu yorumlar, yorumcunun bıraktığı e-posta adreslerini içerecektir. Tüm bu e-postaları, posta listeniz için herhangi bir kopya olmadan alabilirsiniz.
Çözüm:
SELECT DISTINCT comment_author_email FROM wp_comments;
Sonucu aldıktan sonra, Sorgu sonuçları işlemleri altında , phpMyAdmin’deki tüm e-postaları dışaaktarmak için dışa aktar’ı seçin.
Tüm Pingback’i sil
Popüler makaleler bol miktarda geri bildirim alır. Bu olduğunda, veritabanınızın boyutu artar. Veritabanının boyutunu küçültmek için tüm pingback’leri kaldırmayı deneyebilirsiniz.
Çözüm:
DELETE FROM wp_comments WHERE comment_type = 'pingback';
Tüm Spam Yorumları Sil
Çok sayıda spam yorumunuz varsa, spam’i silmek için her sayfadan geçmek sıkıcı ve sinir bozucu olabilir. Aşağıdaki SQL sorgusu ile, spam yorumları üzerinden 500 silme işlemi yapmanız gerekse bile, bu bir esinti olacaktır.
Çözüm:
DELETE FROM wp_comments WHERE comment_approved = 'spam';
- 0 = Onay Bekleyen Yorum
- 1 = Onaylanan Yorum
- spam = Spam olarak işaretlenmiş yorum
Kullanılmayan Etiketleri Tanımla
Bir WordPress veritabanında, eski mesajları MySQL’den manuel olarak silmek için bir sorgu çalıştırırsanız, eski etiketler kalacaktır ve etiket bulutunuzda / listenizde görünecektir. Bu sorgu kullanılmayan etiketleri tanımlamanıza izin verir.
Çözüm:
SELECT * From wp_terms wt INNER JOIN wp_term_taxonomy wtt ON wt.term_id=wtt.term_id WHERE wtt.taxonomy='post_tag' AND wtt.count=0;
Sorgulamaya Başla!
Bazı bakım işlemleri yapmanız ve WordPress’i etki alanları arasında temizlemeniz veya taşımanız gerekirse, yukarıdaki SQL sorguları yararlı olabilir ve işlerin sizin için hızlandırılmasına yardımcı olabilir.
WordPress için herhangi bir ek kullanışlı SQL sorunuz varsa, lütfen bunu bizimle paylaşın.