WordPress Güvenliği: Veri Tabanı Önekini Değiştirme

WordPress veri tabanı önekini değiştirerek güvenlik katmanı ekleyin. Adım adım rehberle risksiz uygulayın.

WordPress dünyanın en popüler içerik yönetim sistemlerinden biri olsa da varsayılan ayarları nedeniyle çeşitli güvenlik riskleri taşır. Bu risklerin başında veri tabanı tablolarının wp_ önekiyle başlaması gelir. Otomatik saldırganlar ve botlar bu varsayılan yapıyı bilerek SQL enjeksiyonu gibi saldırılarda tabloları kolayca hedef alır. Veri tabanı önekini rastgele ve benzersiz bir değerle değiştirmek, güvenlik katmanı ekler ve sitenizi script kiddie seviyesindeki otomatik saldırılardan korur. Bu makalede konuyu baştan sona ele alacağız: neden önemli olduğu, hazırlıklar, adım adım yöntemler, olası riskler ve en iyi uygulamalar. Not: Bu işlem doğru yapılmazsa site tamamen kullanılamaz hale gelebilir; bu yüzden her zaman yedek alın.

Veri Tabanı Öneki Nedir ve Neden Değiştirilmelidir?

WordPress kurulumunda veri tabanı tabloları wp_commentmeta, wp_posts, wp_users gibi isimlerle oluşturulur. Bu wp_ öneki tüm tabloları standartlaştırır. Güvenlik açısından bakıldığında bu öngörülebilirlik bir dezavantajdır. Birçok eski SQL injection saldırısı doğrudan “wp_users” veya “wp_options” tablolarını hedef alır. Öneki değiştirdiğinizde tablolar dgh47yz_users gibi olur ve saldırganların tahmin etmesi zorlaşır.

Bazı uzmanlar 2025-2026 itibarıyla bu tekniğin “güvenlik by obscurity” (gizlilik yoluyla güvenlik) olduğunu ve modern saldırıların information_schema üzerinden tablo isimlerini okuyabildiğini savunur. Ancak birçok güvenlik rehberi hâlâ bunu temel bir sertleştirme adımı olarak önerir çünkü düşük seviyeli botlar varsayılan öneğe güvenir. Özellikle birden fazla WordPress sitesi aynı veritabanını paylaşıyorsa çatışma riskini de önler. Özetle: Tam koruma sağlamaz ama katmanlı güvenlik stratejinizin parçası olarak değerlidir.

Değiştirme Öncesi Hazırlıklar

Herhangi bir veri tabanı değişikliğine başlamadan mutlaka tam yedek alın. Dosyalarınızı (wp-content dahil) ve veri tabanını ayrı ayrı yedekleyin. UpdraftPlus, Duplicator veya hosting firmanızın otomatik yedekleme aracı kullanabilirsiniz.

Staging ortamı oluşturun. Canlı sitede doğrudan denemeyin; LocalWP, WP STAGING veya hostinginizin staging özelliğiyle test edin.

wp-config.php dosyasının yazılabilir olduğundan emin olun. phpMyAdmin veya cPanel üzerinden veri tabanı kullanıcılarının ALTER, RENAME ve UPDATE yetkilerine sahip olduğundan emin olun.

Önek seçerken rastgele ve karmaşık olun:

  • wp_ ile başlamayın (wp_123_ gibi bile).
  • Ad, evcil hayvan adı, doğum tarihi gibi tahmin edilebilir kelimeleri kullanmayın.
  • Harf + rakam karışımı önerilir: dgh47yz_ veya x8k9p2q_ gibi. Güçlü şifre üreteçleriyle rastgele oluşturun.
  • Önek mutlaka alt çizgiyle (_) bitsin.

Site bakım moduna alın (örneğin WP Maintenance Mode eklentisiyle) ki ziyaretçiler değişiklik sırasında hata görmesin.

Yöntem 1: Kurulum Sırasında Veritabanı Önekini Değiştirme

En risksiz yöntem budur. WordPress kurulum sihirbazında veri tabanı bilgilerini girerken “Table Prefix” alanına varsayılan wp_ yerine kendi önekinizi yazın. Kurulum tamamlandığında tüm tablolar otomatik olarak yeni önekle oluşur. Mevcut sitelerde bu yöntem uygulanamaz ama yeni projeler için idealdir. Bu sayede ileride manuel müdahale gerekmez.

Yöntem 2: Eklentiyle Kolayca Değiştirme (Önerilen)

Yeni başlayanlar ve zamanı kısıtlı olanlar için eklenti en güvenli yoldur. İki popüler seçenek:

Brozzme DB Prefix & Tools Addons

  1. WordPress yönetici panelinden Eklentiler > Yeni Ekle’ye gidin.
  2. “Brozzme DB Prefix” aratın, yükleyin ve etkinleştirin.
  3. Araçlar > DB Prefix menüsüne girin.
  4. “Change DB Prefix” sekmesinde yeni öneki girin (veya eklentinin rastgele üretmesine izin verin).
  5. “Change DB Prefix” butonuna tıklayın. Eklenti hem tabloları yeniden adlandırır hem wp-config.php’yi otomatik günceller.

Solid Security (eski iThemes Security)
Güvenlik sihirbazını tamamlayın, Güvenlik > Araçlar bölümünden “Veritabanı Tablo Öneğini Değiştir” aracını çalıştırın. Rastgele önek üretir, siteyi bakım moduna alır ve tüm işlemleri tamamlar.

Her iki eklenti de serileştirilmiş verileri korur ve eklenti tablolarını da işler. İşlem bittikten sonra eklentiyi kaldırabilirsiniz.

Yöntem 3: Manuel Değiştirme (phpMyAdmin ile)

Teknik bilgi sahibi olanlar için manuel yöntem tam kontroldür.

  1. wp-config.php’yi düzenleyin:
    FTP veya dosya yöneticisiyle root dizine gidin.
   $table_prefix = 'dgh47yz_';


satırını bulun ve yeni öneki yazın. Kaydedin ama siteyi henüz yenilemeyin.

  1. phpMyAdmin’de tabloları yeniden adlandırın:
    Veritabanınızı seçin, SQL sekmesine gidin ve aşağıdaki sorguları tek tek çalıştırın (xxx_ yerine kendi yeni önekinizi yazın):
   RENAME table `wp_commentmeta` TO `xxx_commentmeta`;
   RENAME table `wp_comments` TO `xxx_comments`;
   RENAME table `wp_links` TO `xxx_links`;
   RENAME table `wp_options` TO `xxx_options`;
   RENAME table `wp_postmeta` TO `xxx_postmeta`;
   RENAME table `wp_posts` TO `xxx_posts`;
   RENAME table `wp_termmeta` TO `xxx_termmeta`;
   RENAME table `wp_terms` TO `xxx_terms`;
   RENAME table `wp_term_relationships` TO `xxx_term_relationships`;
   RENAME table `wp_term_taxonomy` TO `xxx_term_taxonomy`;
   RENAME table `wp_usermeta` TO `xxx_usermeta`;
   RENAME table `wp_users` TO `xxx_users`;


Önemli: Yoast SEO, WooCommerce gibi eklentilerin özel tablolarını da (örneğin wp_yoast_*) aynı şekilde yeniden adlandırın. Toplam 12+ tabloyu kaçırmayın.

  1. İç referansları güncelleyin:
    Yeni tablolar oluştuktan sonra şu SQL sorgularını çalıştırın:
   UPDATE `xxx_options` SET `option_name` = REPLACE(`option_name`, 'wp_', 'xxx_') WHERE `option_name` LIKE 'wp_%';

   UPDATE `xxx_usermeta` SET `meta_key` = REPLACE(`meta_key`, 'wp_', 'xxx_') WHERE `meta_key` LIKE 'wp_%';


Gerekirse postmeta tablosunu da kontrol edin:

   UPDATE `xxx_postmeta` SET `meta_key` = REPLACE(`meta_key`, 'wp_', 'xxx_') WHERE `meta_key` LIKE 'wp_%';
  1. Test edin: Önbelleği temizleyin (site + tarayıcı), ön yüzü ve yönetici panelini kontrol edin. Kullanıcı rolleri, widget’lar ve eklenti ayarları çalışmalı.

Olası Sorunlar ve Çözümleri

  • Site beyaz ekran veya “Error establishing a database connection”: wp-config.php öneki yanlış veya tablolar eksik. Yedeği geri yükleyin.
  • Eklenti verileri kayboldu: Özel tabloları atlamışsınız.
  • Serileştirilmiş veri bozuldu: Eklenti yöntemi tercih edin.
  • Multisite kullanıyorsanız: wp_2_options, wp_blogs gibi ek tabloları da güncelleyin ve her site için ayrı SQL çalıştırın.
  • phpMyAdmin “Replace table prefix” özelliği: Bazı hostinglerde mevcut; tabloları toplu yeniden adlandırır ama iç referansları hâlâ manuel güncellemeniz gerekir.

Her zaman staging’de test edin. Canlı sitede hata olursa hosting destek ekibinden yardım isteyin.

En İyi Uygulamalar ve İleri Düzey İpuçları

  • Değişiklikten sonra tüm önbellekleri temizleyin (WP Super Cache, Redis vb.).
  • Güvenlik eklentisi kurun: Wordfence, Solid Security veya Sucuri.
  • Veritabanı kullanıcı ayrıcalıklarını sınırlayın (sadece SELECT, INSERT, UPDATE, DELETE).
  • Düzenli güncelleme, güçlü şifreler, 2FA ve WAF ile birleştirin.
  • Yeni kurulumlarda hemen özel önek kullanın.
  • Yedekleme rutininizi otomatikleştirin.

Bu işlem tek başına mucize yaratmaz ama WordPress güvenlik checklist’inizin vazgeçilmez parçasıdır. Katmanlı yaklaşım (güncelleme + yedek + izleme + obfuskasyon) ile siteniz çok daha dirençli hale gelir.


İleri Okuma Tavsiyesi:

  1. Pressable Bilgi Bankası: https://pressable.com/knowledgebase/how-to-change-your-wordpress-database-prefix/
WPW

WPW

İçerik yazarı, teknolojiye meraklı, grafik tasarımcı, sosyal medya ve seo danışmanı...

Articles: 924