WordPress de hayat kurtarıcı mysql sorguları


Bazen WordPress sitesinde bazı sorunlar yaşanır ve bunları hızlıca çözmek gerekebilir, bu çözümleri Wordpres yönetim panelinden yapmamız çok uzun sürebilir veya olanaksızdır, Phpmyadmin ile doğrudan veritabanına bağlanmamız gerekebilir. Böyle durumlada Phpmyadmin de uygulayacağınız hayat kurtarıcı bazı mysl sorgularını sizinle paylaşıyorum.

Wordpress de hayat kurtarıcı mysql sorguları

Aşağıdaki sorguları genellikle Phpmyadmin de çalıştırırız, isterseniz veritabanını kontrol ettiğiniz başka programlarda da yapabilrisiniz.

Wordpress de hayat kurtarıcı mysql sorguları

Parola değiştirmek
Aşağıdaki sorguda siz yeni parolayı yazacaksınız veritabanına MD5 olarak kaydedecek, aşağıdaki sorgu admin kullanıcısının parolasını değiştirmek için yazıldı.

UPDATE 'wp_users' SET 'user_pass' = MD5('PASSWORD') WHERE 'user_login' ='admin' LIMIT 1;

Bir yazara ait yazıları başka bir yazara transfer etmek
Blogda bir kullanıcıya ait tüm girdileri var olan başka bir kullanıcıya atamak, bu kod içinde kullanıcı id numaralarını yazmak yeterli.

UPDATE wp_posts SET post_author=YENİ_KULLANICI_ID WHERE post_author=ESKİ_KULLANICI_ID;

Revisions ve ona bağlı diğer düzenlemeleri temizlemek
Bu sadece revisionları silmek için daha gelişmiş bir sorgu.

DELETE a,b,c FROM wp_posts a WHERE a.post_type = 'revision' LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id);

Spam yorumları silmek
Eğer sitede çok fazla spam yorum varsa bu sorgu ile birkaç saniyede kurtulabilirsiniz.

DELETE from wp_comments WHERE comment_approved = '0';

Kullanılmayan etiketleri bulmak
Bu sorgu ile kullanılmayan etiketleri bulup silerek temizlik yapmış olursunuz ve veritabanını hantalıktan kurtarır.

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;

Bul ve değiştir
Bu sorgu ile herhangi bir tabloda belirleyeceğiniz karakterleri arayıp yine belirleyeceğiniz karakterlerle değiştirebilirsiniz, bunun için daha basit ve kullanışlı Search and Replace eklentisini kullanabilirsiniz fakat site büyükse hem çok uzun sürer hem de bazı hatalar verecektir dolayısıyla doğrudan veritabanından yapmanız hızlı ve hatasız olacak.

UPDATE table_name SET tablo_adi = replace( tablo_adi, 'aranan_karakterler', 'arananin_yerine_yeni_karakterler' ) ;

Sitedeki yorumcuların e-posta adreslerini listelemek
Bazen çok işe yarar, sitenize yorum yapmış tüm kullanıcıların e-posta adreslerini listeler ve bunları depolayabilirsiniz, ama spam yapmayın günah.

SELECT DISTINCT comment_author_email FROM wp_comments;

Tüm eklentileri tamamiyle iptal etmek
Bu sorgu ile WordPress sitesindeki tüm eklentileri hızlı ve hatasız etkisiz hale getirirsiniz.

UPDATE wp_options SET option_value = '' WHERE option_name = 'active_plugins';

Sitedeki tüm etiketleri/tags kaldırmak
Manuel olarak kaldırmak isterseniz bazı hatalarla karşılaşır ve çok vaktiniz gider, doğrudan veritabanına ulaşıp bu sorgu ile çok hızlı ve tamamen hatasız etiketlerden kurtulabilirsiniz.

DELETE a,b,c
FROM
database.prefix_terms AS a
LEFT JOIN database.prefix_term_taxonomy AS c ON a.term_id = c.term_id
LEFT JOIN database.prefix_term_relationships AS b ON b.term_taxonomy_id = c.term_taxonomy_id
WHERE (
c.taxonomy = 'post_tag' AND
c.count = 0
);

Kullanılmayan post meta değerlerini listelemek ve kaldırmak
Bu sorgu ile sitenin veritabanında gereksiz şişikinlik yapan post_meta tablosundaki değerleri listeler ve silebilirsiniz.

SELECT * FROM wp_postmeta pm LEFT JOIN wp_posts wp ON wp.ID = pm.post_id WHERE wp.ID IS NULL;

Eski girdileri yoruma kapatmak
Bu sorgu sayesinde belirleyeceğiniz tarihten önceki yazıları yoruma kapatabilirsiniz. aşağıdaki örnekte tarih kısmını isteğinize göre değiştirin.

UPDATE wp_posts SET comment_status = 'closed' WHERE post_date < '2009-01-01' AND post_status = 'publish';

Yorumcuların web site adreslerini değiştirmek
Çok spam alan bir WordPress sitesi ise siteniz bu işe yarayabilir, bu sorgu ile yorumcuların web site adreslerini toptan, hızlı ve hatasız istediğiniz gibi değiştirebilirsiniz.

UPDATE wp_comments SET comment_author_url = REPLACE( comment_author_url, 'http://eskiadres', 'http://yeniadres' );

Yorumcuların e-oposta adreslerini değiştirmek
Bu sorgu ile yine yukarıdaki web site adresleri gibi e-posta adreslerini toptan, hızlı ve hatasız istediğiniz gibi değiştirebilirsiniz.

UPDATE wp_comments SET comment_author_email = REPLACE( comment_author_email, 'eski-email@adres.com', 'yeni-email@adres.com' );

isimli web sitesi sahibi yorumcunun yorumlarını temizle
Yorumculardan web adreslerinde isimi(wolkanca) geçen yorumları siler.

DELETE from wp_comments WHERE comment_author_url LIKE "%wolkanca%" ;

Tüm bunları lütfen sitenizin veritabanını yedekledikten sonra yapınız.

Yazar: Volkan Yılmaz

Digital Marketing & Growth Hacking #SEO #wolkanca #cycling merhaba@volkanyilmaz.com.tr

“WordPress de hayat kurtarıcı mysql sorguları” için 8 yorum

  1. hocam ben şu yoruma kapama olayının tam tersini arıyorum yani sitemdeki tüm konuların yoruma açık olmasını istiyorum.acaba koddaki closed kısmını open yapsak muradıma ermiş olurmuym.

  2. volkan kardeş çok teşekkür ederim.öncelikle eklentiyle sorunumu çözmeye çalışacagım.olmazsa kodla yaparsam biraz daha başını agrıtırım.ayrıca wpde çok takılan bir kişiyim bu blogu ögrendigim kendi açımdan iyi senin açından zahmetli olacak… 😉

    iyi çalışmalar.

  3. peki volkan bir konuda yardımını almak istiyorum cevap verirsen çok sevinirim. mysql de eklediğim bir eklenti yüzünden şoyle bir hata geldi. otomatik post atildi fakat aynı posttan 4 5 tane atildiği için hatalar oluştur, bu postları adminden sildim sql den silinmedi, doğal olarak listeleniyor, konulara tıkladığımda sayfa görüntülenemiyor çıkıyor 404, ve bu yazılar hangi kategorideyse tıkladığında bu kategoride hiç bir yazı yok diyor, ve admin nikimdeki yazı değeride 0 gorunuyor, arşivler, rss, siteharitası, son yazılar, ekledim son yazılar cıkmıyor ve yayınlananlarda gorunmuyor, fakat ekledim kategoride gorunuyor, bu hatalı yazıları bir ketegoriye attım, ve bu yazıları nasıl silebilirim mysql dan bu hatalı yazılar olduğu için donmuş durumda son ekledim hiç birşeyi algılamıyor, yayınlıyor fakat arşivler, site haritası, rss, görünmüyor, şimdiden teşekkür ediyorum.

  4. gökhan

    seninki post type sorununa benziyor. incelemek lazım buradan bir şey anlamadım.

    ekran görüntüsü filan koyabilirsen bir şey diyebilirim belki.

    kolay gelsin.

  5. merhaba volkan,

    resim linklerini yollluyorum yardımcı olursan çok sevinecem,

    bu problem sanırım mysql da bi ana kodun değişmesiyle oldu http://www.superonlinesesli.com/goruntu/super1.jpg http://www.superonlinesesli.com/goruntu/super2.jpg http://www.superonlinesesli.com/goruntu/super3.jphttp://www.superonlinesesli.com/goruntu/super4.jp

    scorpion@aleyram.com msn adresim, eklersen sevinirim, veya senin msn adresini yazarsan ben eklim. cevap bekliyorum kolay gelsin iyi çalışmalar.

  6. ben blogumu yeni açtım açarken arkadaşım açtı msn adresimi değiştirip yeni açtığım adresimi yapmak istiyorum bloga nasıl yapabilirim?

  7. @evren
    genel ayarlara girip adresi değiştirebilirsin. ayrıca profiline de gidip mail adresini değiştirebilirsin.