Ekran Kartlı Sunucu Satışları Başladı. İncele
Hosting, Domain ve Web

WordPress Kurulumu: Hosting Üzerinde Adım Adım

WordPress’i cPanel veya manuel olarak kurun: veritabanı oluşturma, wp-config ayarları, SSL yönlendirmesi ve kurulum sonrası güvenlik.

  • 10 dk okuma
  • Güncelleme:
  • Yayın:
  • Batihost Teknik Ekibi

Kısaca Özet

  • WordPress kurulumu üç şey ister: alan adı, PHP 8.2+ ve MySQL 8 / MariaDB 10.6+ destekleyen bir hosting, bir de boş veritabanı. Kurulumun kendisi 5 dakika sürer.
  • Acele etmeyenler için iki yol var: cPanel’deki Softaculous ile tek tıkla kurulum, ya da wordpress.org arşivini yükleyip wp-config.php dosyasını elle yazmak.
  • Kurulumdan hemen sonra sırasıyla şunlar yapılır: SSL etkinleştirme ve HTTPS yönlendirmesi, wp-config.php güvenlik satırları, kalıcı bağlantı yapısı ve otomatik yedek.
  • Site yavaşlıyor ya da paylaşımlı pakette kaynak limitine takılıyorsanız sıradaki adım VDS ve hız optimizasyonudur.

WordPress kurulumu, hosting hesabınızda bir veritabanı oluşturup WordPress dosyalarını sunucuya yüklemek ve tarayıcıdan beş dakikalık kurulum sihirbazını tamamlamaktan ibarettir. İki yolu vardır: cPanel içindeki Softaculous ile tek tıkla otomatik kurulum ya da dosyaları elle yükleyip wp-config.php dosyasını kendiniz yazdığınız manuel kurulum. Bu rehber ikisini de baştan sona anlatıyor.

Kurulum aslında işin kolay kısmı. Asıl fark, kurulumdan sonraki ilk yarım saatte yaptıklarınızda ortaya çıkar: SSL zorlaması, güvenlik anahtarları, dosya izinleri, kalıcı bağlantı yapısı ve otomatik yedek. Aşağıdaki adımları sırayla uygularsanız siteniz hem güvenli hem de arama motorlarına hazır biçimde açılır.

BilgiBu sayfa hem paylaşımlı hosting hem de kendi sunucunuz için geçerlidir. cPanel ekranları paylaşımlı hosting içindir; kendi VDS’inizde çalışıyorsanız aynı işleri komut satırından yaparsınız, komutları ilgili bölümlerde verdik.

Kurulumdan Önce Gerekenler#

WordPress’in çalışması için sunucunuzun karşılaması gereken asgari koşullar bellidir. Batihost paketlerinde bunların tamamı hazır gelir, ancak eski bir hostingten geçiyorsanız kontrol edin:

BileşenAsgariÖnerilenNeden
PHP8.18.38.3 belirgin biçimde hızlı, 7.x güvenlik güncellemesi almıyor
VeritabanıMySQL 8.0MariaDB 10.6+utf8mb4 karakter seti ve modern indeks desteği
Web sunucusuApacheLiteSpeed / NginxStatik dosya sunumu ve önbellek performansı
PHP bellek limiti256M512MWooCommerce ve sayfa oluşturucular yüksek bellek ister
max_execution_time60300Büyük içe aktarma ve yedek işlemleri
Disk5 GB NVMe20 GB+ NVMeMedya kitaplığı ve yedekler hızla büyür
SSLLet’s EncryptOtomatik yenilemeliHTTPS artık zorunlu sayılıyor
WordPress için sunucu gereksinimleri

Bunların yanında alan adınızın hosting sunucusuna yönlendirilmiş olması gerekir. Alan adı henüz bağlı değilse önce DNS kayıtları rehberindeki A kaydını ekleyin; yayılma tamamlanmadan kurulum yaparsanız sihirbaz açılmaz. Alan adınız yoksa domain satın alma sayfasından başlayın.

İndirmeniz gerekenler
  • WordPress (resmî site)Ücretsiz Her platform.zipAçık kaynak
    İndir
  • FileZilla Client (FTP/SFTP) Windows, Linux, macOSKurulum dosyasıÜcretsiz
    İndir
  • Notepad++ (config düzenleme) Windows.exeÜcretsiz
    İndir

WordPress’i yalnızca wordpress.org üzerinden indirin. “Ücretsiz premium tema paketi” vaat eden sitelerdeki arşivler neredeyse her zaman arka kapı içerir.

Yöntem 1: cPanel Softaculous ile Tek Tıkla Kurulum#

Paylaşımlı hosting kullanıyorsanız en hızlı yol budur. Softaculous veritabanını, kullanıcıyı ve wp-config.php dosyasını sizin yerinize oluşturur.

  1. cPanel’de kurucuyu açın#

    cPanel ana ekranında “Yazılımlar” bölümündeki WordPress Manager by Softaculous ya da Softaculous Apps Installer simgesine tıklayın. Panel arayüzüne yabancıysanız cPanel kullanım rehberine göz atın.

  2. Kurulum protokolünü ve alan adını seçin#

    Protokol olarak https:// seçin (SSL zaten aktifse) ve “In Directory” alanını boş bırakın. Bu alan doluysa siteniz site.com/wp/ gibi bir alt klasörde açılır.

  3. Yönetici bilgilerini girin#

    Kullanıcı adı olarak kesinlikle admin yazmayın. Kaba kuvvet saldırılarının tamamı bu adı dener. Parolayı 16 karakterden uzun ve rastgele seçin.

  4. Veritabanı ön ekini değiştirin#

    “Advanced Options” bölümünü açın ve tablo ön ekini wp_ yerine wp7k3_ gibi rastgele bir değere çevirin. Bu, otomatik SQL enjeksiyon denemelerinin çoğunu boşa düşürür.

  5. Kurulumu başlatın ve giriş yapın#

    Kurulum bittiğinde panel size iki adres verir: sitenin kendisi ve site.com/wp-admin. Yönetici paneline girip Ayarlar bölümüne geçin.

DikkatSoftaculous varsayılan olarak birkaç demo eklenti ve tema kurar. Kullanmayacağınız tema ve eklentileri devre dışı bırakmakla yetinmeyin, tamamen silin. Pasif duran bir eklentinin dosyaları da sunucuda durur ve açığı varsa istismar edilebilir.

Yöntem 2: Manuel WordPress Kurulumu#

Manuel kurulum daha fazla adım içerir ama neyin nerede olduğunu tam olarak bilirsiniz. Kendi sunucunuzda çalışıyorsanız zaten tek seçenek budur.

Adım 1 — Veritabanı ve kullanıcı oluşturun#

cPanel’de “MySQL® Databases” bölümünden bir veritabanı, bir kullanıcı oluşturun ve kullanıcıyı veritabanına ALL PRIVILEGES yetkisiyle ekleyin. Panelin verdiği tam adları not alın; hosting hesabınızın ön eki otomatik eklenir (batihost_wp1 gibi).

Kendi sunucunuzda MySQL komut satırını kullanıyorsanız:

sudo mysql -u root -p

CREATE DATABASE wp_site CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'BurayaUzunBirParola!2026';
GRANT ALL PRIVILEGES ON wp_site.* TO 'wp_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Karakter setinin utf8mb4 olması önemlidir; eski utf8 seti emoji ve bazı Türkçe olmayan karakterleri kaydedemez.

Adım 2 — Dosyaları sunucuya yükleyin#

Arşivi indirip açın ve içindeki dosyaları (klasörün kendisini değil) public_html dizinine kopyalayın. FTP yerine sunucuda çalışıyorsanız tek satırda hallolur:

cd /var/www/site.com
wget https://wordpress.org/latest.tar.gz
tar -xzf latest.tar.gz --strip-components=1
rm latest.tar.gz
sudo chown -R www-data:www-data /var/www/site.com

--strip-components=1 parametresi, arşivdeki wordpress/ klasörünü atlayıp içeriği doğrudan geçerli dizine açar. Bu parametreyi unutursanız site site.com/wordpress/ adresinde kalır. Bu komutlar ve benzerleri hakkında ayrıntı için Linux temel komutları sayfasına bakabilirsiniz.

Adım 3 — Kurulum sihirbazını çalıştırın#

Tarayıcıdan alan adınızı açın. WordPress wp-config.php bulunmadığını görüp size veritabanı bilgilerini soracaktır. Dört alanı doldurun, ardından site başlığı ve yönetici hesabını girin. Sunucu yazma izni verirse config dosyası otomatik oluşur; vermezse ekranda gösterilen içeriği kopyalayıp wp-config.php adıyla kök dizine kaydedin.

wp-config.php Dosyasında Yapılması Gereken Ayarlar#

Kurulum bittikten sonra bu dosyaya birkaç satır eklemek, sitenizin güvenliğini ve kararlılığını gözle görülür biçimde artırır. Dosyanın /* That’s all, stop editing! */ satırının üstüne ekleyin:

// Dosya düzenleyiciyi kapat: panel ele geçirilse bile tema/eklenti kodu değiştirilemez
define( 'DISALLOW_FILE_EDIT', true );

// Panelden eklenti/tema yüklemeyi ve güncellemeyi kapatmak isterseniz (isteğe bağlı, katı mod)
// define( 'DISALLOW_FILE_MODS', true );

// Otomatik küçük sürüm güncellemeleri açık kalsın
define( 'WP_AUTO_UPDATE_CORE', 'minor' );

// Revizyon sayısını sınırla: veritabanı şişmesin
define( 'WP_POST_REVISIONS', 5 );

// Çöp kutusu 7 günde bir boşalsın
define( 'EMPTY_TRASH_DAYS', 7 );

// Bellek limiti
define( 'WP_MEMORY_LIMIT', '512M' );

// Hata ayıklama: canlı sitede ekrana ASLA basma, dosyaya yaz
define( 'WP_DEBUG', false );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

// Site adreslerini sabitle (hack sonrası yönlendirme saldırılarını engeller)
define( 'WP_HOME', 'https://ornekalanadi.com' );
define( 'WP_SITEURL', 'https://ornekalanadi.com' );

Dosyanın en kritik kısmı güvenlik anahtarlarıdır (AUTH_KEY, SECURE_AUTH_KEY vb.). Manuel kurulumda bunlar boş kalırsa oturum çerezleri tahmin edilebilir hale gelir. Anahtarları WordPress’in resmî üreticisinden alıp mevcut satırların yerine yapıştırın; değiştirdiğinizde tüm oturumlar kapanır ve yeniden giriş yapmanız gerekir.

İpucuwp-config.php dosyasının izinlerini 640 yapın (chmod 640 wp-config.php). Bu dosya veritabanı parolanızı düz metin tutar; 644 veya 664 izinle sunucudaki başka hesaplar okuyabilir.

Dosya İzinleri ve Sahiplik#

Yanlış izinler WordPress’in en sık göz ardı edilen güvenlik açığıdır. Doğru şema şudur:

HedefİzinAçıklama
Klasörler755Sahibi yazabilir, diğerleri yalnızca okuyup girebilir
Dosyalar644Sahibi yazabilir, diğerleri okur
wp-config.php640Yalnızca sahibi ve web sunucusu grubu okur
.htaccess644WordPress kalıcı bağlantı için yazar
wp-content/uploads755Medya yüklemesi için yazılabilir olmalı
Hiçbir şey777Asla kullanmayın; sunucudaki herkes yazabilir demektir
WordPress dosya ve klasör izinleri

Tüm ağacı tek seferde düzeltmek için:

cd /var/www/site.com
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
chmod 640 wp-config.php
sudo chown -R www-data:www-data .

SSL Etkinleştirme ve HTTPS Yönlendirmesi#

Kurulumu http:// ile yaptıysanız siteyi HTTPS’e taşımanız gerekir. Sıra şudur: önce sertifika, sonra adresler, en son yönlendirme.

Panelde AutoSSL veya Let’s Encrypt bölümünden sertifikayı kurun. Ardından Ayarlar > Genel ekranındaki “WordPress Adresi” ve “Site Adresi” alanlarını https:// ile güncelleyin. Son olarak .htaccess dosyasının en üstüne şu kuralı ekleyin:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>

Adres çubuğunda kilit yerine uyarı görüyorsanız sorun büyük ihtimalle karma içeriktir: sayfa HTTPS ama içindeki bir görsel veya betik hâlâ http:// ile çağrılıyordur. Veritabanındaki eski adresleri toplu değiştirmek ve diğer SSL sorunlarını çözmek için SSL sertifikası kurulumu sayfasındaki bölüme bakın.

Kurulum Sonrası İlk 10 Ayar#

Panelde ilk oturumda yapılacaklar listesi:

  • Kalıcı bağlantılar: Ayarlar > Kalıcı Bağlantılar > “Yazı adı”. Varsayılan ?p=123 yapısı SEO için kötüdür.
  • Site dili ve saat dilimi: Ayarlar > Genel > Türkçe ve İstanbul. Saat dilimi yanlışsa zamanlanmış yazılar yanlış saatte çıkar.
  • Örnek içerikleri silin: “Merhaba Dünya!” yazısı, örnek sayfa ve örnek yorum.
  • Arama motoru görünürlüğü: Ayarlar > Okuma altındaki “Arama motorlarını engelle” kutusunun işaretsiz olduğunu doğrulayın. Bu kutu unutulduğunda site aylarca dizine girmez.
  • Kullanılmayan tema ve eklentileri silin.
  • Yönetici görünen adını değiştirin: Kullanıcılar > Profil > “Herkese açık görünen ad” kullanıcı adınızdan farklı olsun.
  • Yorum ayarları: Ayarlar > Tartışma > yorumlar önce onaydan geçsin.
  • Gerçek e-posta adresi tanımlayın: Site bildirimleri wordpress@site.com yerine kendi kurumsal adresinizden gitsin. Kurulumu kurumsal e-posta oluşturma sayfasında anlattık.
  • Önbellek eklentisi kurun ve sunucu tarafı önbelleği açın.
  • Otomatik yedek kurun — ayrıntısı aşağıda.

Güvenlik Sıkılaştırma#

WordPress’in kendisi güvenlidir; saldırıya uğrayan sitelerin neredeyse tamamı güncellenmemiş eklenti, zayıf parola veya yanlış izin yüzünden düşer.

xmlrpc.php ve giriş sayfası koruması#

xmlrpc.php dosyası, tek istekte yüzlerce parola denemesine izin verdiği için kaba kuvvet saldırılarının favorisidir. Jetpack veya WordPress mobil uygulaması kullanmıyorsanız kapatın:

<Files xmlrpc.php>
  Require all denied
</Files>

<Files wp-config.php>
  Require all denied
</Files>

# PHP dosyalarının uploads klasöründen çalıştırılmasını engelle
<Directory /var/www/site.com/wp-content/uploads>
  <FilesMatch "\.php$">
    Require all denied
  </FilesMatch>
</Directory>

Son kural özellikle önemlidir: saldırganların en sevdiği yöntem, medya yükleme açığından uploads klasörüne bir PHP kabuğu bırakmaktır. Bu klasörde PHP çalıştırmayı kapatırsanız yükleme başarılı olsa bile kod çalışmaz.

Güncelleme disiplini#

Küçük çekirdek güncellemelerini otomatik bırakın, büyük sürümleri ve eklentileri elle yapın. Elle yapmadan önce yedek alın. Üç aydır güncellenmemiş bir eklentiyi terk edilmiş sayın ve alternatifini arayın.

UyarıÜcretli temaların ve eklentilerin “nulled” yani kırılmış sürümlerini asla kurmayın. Bu dosyaların büyük çoğunluğunda gizli yönetici hesabı açan veya sitenizi spam ağına bağlayan kod bulunur. Bir kez kurulduğunda temizlemek, siteyi sıfırdan kurmaktan daha uzun sürer.

Yedekleme ve Site Taşıma#

Bir WordPress sitesi iki parçadan oluşur: dosyalar (wp-content klasörü kritik) ve veritabanı. İkisini birlikte almadığınız bir yedek işe yaramaz.

# Veritabanı yedeği
mysqldump -u wp_user -p --single-transaction wp_site > /yedek/wp_site_$(date +%F).sql

# Dosya yedeği
tar -czf /yedek/site_$(date +%F).tar.gz -C /var/www/site.com .

# 14 günden eski yedekleri sil
find /yedek -name "*.tar.gz" -mtime +14 -delete

Bu üç satırı bir kabuk betiğine koyup crontab ile geceleri çalıştırabilirsiniz. Yedeği yalnızca sunucuda tutmak yeterli değildir; sunucu tamamen kaybolursa yedek de gider. Kopyaların nereye dağıtılacağını 3-2-1 yedekleme kuralı sayfasında anlattık.

Sık Karşılaşılan Kurulum Hataları#

BelirtiSebepÇözüm
Error establishing a database connectionYanlış DB adı/kullanıcı/parola veya kullanıcı yetkisizwp-config.php bilgilerini panelle karşılaştırın, kullanıcıya ALL PRIVILEGES verin
Beyaz ekran (WSOD)PHP ölümcül hatası, çoğunlukla eklenti uyumsuzluğuWP_DEBUG_LOG açıp wp-content/debug.log dosyasını okuyun; eklenti klasörünü FTP’den yeniden adlandırın
Ana sayfa açılıyor, alt sayfalar 404Kalıcı bağlantı kuralları yazılmamışAyarlar > Kalıcı Bağlantılar’ı kaydedin; .htaccess yazılabilir olsun
Sonsuz yönlendirme döngüsüWP_HOME/WP_SITEURL ile .htaccess kuralı çakışıyorİki adresi de aynı şemayla (https, www var/yok) yazın
“Bağlantı bilgilerinizi girin” FTP sorusuDosya sahipliği web sunucusu kullanıcısında değilchown -R www-data:www-data uygulayın
Yükleme sırasında “dosya boyutu aşıldı”upload_max_filesize düşükPanelden PHP ayarını 64M ve üzerine çıkarın
Kurulum sihirbazı hiç açılmıyorDNS henüz yayılmamışA kaydını doğrulayın, TTL süresi kadar bekleyin
WordPress kurulum hataları ve çözümleri

WordPress İçin Doğru Barındırma Seçimi#

Tek bir blog veya kurumsal tanıtım sitesi paylaşımlı hostingte gayet rahat çalışır. Ne zaman yukarı çıkmanız gerektiğinin işaretleri şunlardır:

  • Panelde “kaynak limiti aşıldı” uyarıları görmeye başladıysanız,
  • WooCommerce sepet ve ödeme sayfaları önbelleklenemediği için sunucuyu yoruyorsa,
  • Redis veya Elasticsearch gibi ek bir servis kurmanız gerekiyorsa,
  • Aynı hesapta birden fazla ciddi site barındırıyorsanız,
  • Kendi PHP ayarlarınızı ve cron zamanlamanızı kontrol etmek istiyorsanız.

Bu noktada garantili çekirdek ve NVMe disk sunan bir VDS paketine geçmek mantıklıdır; yüksek saat hızı isteyen kurulumlar için yüksek frekanslı Ryzen VDS tarafına bakabilirsiniz. Hosting türleri arasındaki farkları web hosting nedir sayfasında karşılaştırdık. Sunucuya geçtiğinizde performansı gözlemlemek için sunucu izleme araçlarını kurmayı ihmal etmeyin.

Özetle#

WordPress kurulumu, veritabanı oluşturmak ve dosyaları doğru dizine koymaktan ibaret. Otomatik kurucu kullanacaksanız Softaculous’ta yalnızca üç şeye dikkat edin: admin kullanıcı adını kullanmayın, tablo ön ekini değiştirin, alt klasöre kurmayın. Manuel kuracaksanız utf8mb4 karakter setini, --strip-components=1 parametresini ve wp-config.php izinlerini atlamayın.

Kurulumdan sonraki ilk yarım saat işin geri kalanından daha önemli: HTTPS zorlaması, güvenlik anahtarları, doğru dosya izinleri, kalıcı bağlantı yapısı ve otomatik yedek. Bunları bir kez doğru kurarsanız site yıllarca sorunsuz çalışır. Hız tarafını da tamamlamak isterseniz Core Web Vitals optimizasyonu sayfasıyla devam edin.

Sıkça Sorulan Sorular#

WordPress kurulumu ne kadar sürer?

Softaculous gibi otomatik kurucuyla 2-3 dakika, manuel kurulumla 10-15 dakika sürer. Süreyi uzatan şey kurulumun kendisi değil, öncesindeki DNS yayılması ve sonrasındaki tema/eklenti yapılandırmasıdır. Alan adı sunucuya bağlıysa ve veritabanı hazırsa kurulum sihirbazı yalnızca dört ekrandan oluşur.

WordPress için hangi PHP sürümü gerekir?

WordPress için PHP 8.2 veya üstünü kullanın; 8.3 daha da hızlıdır. PHP 7.x sürümleri güvenlik güncellemesi almıyor ve modern eklentilerin çoğu bu sürümlerde ölümcül hata veriyor. cPanel’de “MultiPHP Manager” bölümünden alan adı bazında PHP sürümünü değiştirebilirsiniz.

wp-config.php dosyası nerede bulunur?

WordPress’in kurulu olduğu kök dizinde, wp-content ve wp-admin klasörleriyle aynı seviyededir. Paylaşımlı hostingte bu genelde /home/kullanici/public_html/wp-config.php yoludur. Dosyayı cPanel Dosya Yöneticisi’nden ya da FTP istemcisiyle düzenleyebilirsiniz; düzenlemeden önce mutlaka bir kopyasını alın.

“Error establishing a database connection” hatası neden çıkar?

Bu hata, WordPress’in wp-config.php içindeki bilgilerle veritabanına bağlanamadığını söyler. Sırasıyla şunları kontrol edin: veritabanı adı ve kullanıcı adının hosting ön eki (kullanici_wpdb gibi) doğru yazıldığı, parolanın doğru olduğu, kullanıcının veritabanına “All Privileges” ile eklendiği ve DB_HOST değerinin localhost olduğu.

WordPress’i alt klasöre mi kök dizine mi kurmalıyım?

Sitenin ana adresi olacaksa kök dizine, yani public_html içine kurun. Alt klasöre kurmak adresin site.com/blog/ biçiminde uzamasına yol açar ve sonradan taşımak URL yapısını bozar. Ayrı bir blog bölümü istiyorsanız alt klasör yerine blog.site.com alt alan adı daha temiz bir çözümdür.

Kurulumdan sonra siteye HTTPS nasıl zorlanır?

Önce panelden SSL sertifikasını etkinleştirin, sonra Ayarlar > Genel bölümündeki iki adresi de https:// ile güncelleyin. Son adım .htaccess dosyasına 301 yönlendirme kuralı eklemektir. Ayrıntılı anlatım SSL sertifikası kurulumu sayfasında.

WordPress kurulumu için VDS mi paylaşımlı hosting mi gerekir?

Tek bir kurumsal site veya blog için paylaşımlı hosting yeterlidir. WooCommerce mağazası, üyelik sitesi ya da günde on binlerce sayfa gösterimi alan bir site çalıştıracaksanız garantili kaynak sunan bir VDS gerekir. Kök erişimi, kendi PHP derlemeniz veya Redis gibi ek servisler istiyorsanız da VDS zorunludur.

Hosting, Domain ve Web — Tüm Rehberler#

  1. Web Hosting Nedir ve Nasıl Seçilir?
  2. cPanel Kullanım Rehberi
  3. WordPress Kurulumu: Hosting Üzerinde Adım Adım
  4. SSL Sertifikası Kurulumu ve HTTPS’e Geçiş
  5. Domain Nedir ve Nasıl Satın Alınır?
  6. DNS Kayıtları Nedir? A, CNAME, MX, TXT ve SRV
  7. Hosting Üzerinde Kurumsal E-posta Oluşturma
  8. Web Sitesi Hızlandırma ve Core Web Vitals Optimizasyonu

Bu rehber Batihost teknik ekibi tarafından hazırlanmış ve tarihinde güncellenmiştir. Eksik veya hatalı bulduğunuz bir bilgi varsa bize bildirin.

Başa dön