WordPress çoklu site: Alt alan adı ve alt klasör, 2 yapı

Test ortamı RHEL ailesiAlmaLinux 9.8Nginx + ApacheWordPress 7.1.32026-10-27 tarihinde kontrol edildi

WordPress çoklu site (WordPress Multisite), tek bir WordPress kurulumuyla birden fazla siteyi bir ağda toplayıp yönetmenizi sağlayan bir özelliktir. Nginx + Apache yapılandırmalı bir WordPress'te ağ kurulumu ekranından çoklu siteyi açtık, bir alt site ekledik ve menü yollarıyla yapılandırma dosyalarına giren satırları kontrol ettik.

1️⃣ WordPress çoklu site ve Ağ yöneticisi

  • ↪️ Tek kurulumda birden fazla site

Çoklu sitede ağdaki tüm siteler tek bir WordPress kurulumunu birlikte kullanır. Çekirdek dosyalar, eklentiler ve temalar da paylaşıldığı için sunucuda her site için ayrı bir WordPress klasörü oluşmaz.

Her site için ayrı oluşan şeyler veritabanı tabloları ve ortam yükleme klasörüdür; yalnızca kullanıcı tabloları tüm ağ tarafından paylaşılır. İlk site mevcut [/wp-content/uploads/] klasörünü, sonraki siteler ise [/wp-content/uploads/sites/] altındaki site numarası klasörünü kullanır.

Tüm ağı yöneten kullanıcı süper yöneticidir (Super Admin). Ağ yöneticisi ekranları ağ oluşturulduktan sonra gelir ve yalnızca süper yöneticilere gösterilir.

Kullanıcılar ağ hesabı olarak oluşturulur, ancak bir siteye erişebilmek için o sitede bir rol almaları gerekir. Site yöneticilerinin yetkileri de daralır; tema ve eklenti kurmayı ve diğer kullanıcıların profillerini düzenlemeyi yalnızca süper yönetici yapabilir.

Aşağıdaki diyagramda tek bir kurulumun ağ üzerinden birden fazla siteye nasıl ayrıldığını ve adres yöntemine göre site adreslerini görebilirsiniz.

🧭 Çoklu site yapısı ve adres yöntemleri
Açıklama diyagramı
🧩 Yapı
🌐 Adres yöntemi
📦 Tek WordPress kurulumuTek çekirdek dosya seti
🌐 AğSüper yönetici
🗂️ Birden fazla site
Ana siteNo. 1/wp-content/uploads/example.comexample.com
site1No. 2/wp-content/uploads/sites/2/site1.example.comexample.com/site1
site2No. 3/wp-content/uploads/sites/3/site2.example.comexample.com/site2
🔗 Tüm ağ tarafından paylaşılır
Çekirdek dosyalarEklentiTemaKullanıcı tabloları
📁 Her site için ayrı
YazılarAyarlarOrtam
🌐 Alt alan adı adresleri
https://site1.example.com/
wp-config.php · SUBDOMAIN_INSTALL = true
🌐 Alt klasör adresleri
https://example.com/site1/
wp-config.php · SUBDOMAIN_INSTALL = false
Ana sitenin yazı adresi · https://example.com/blog/hello-world/
Çekirdek dosyalar, eklentiler, temalar ve kullanıcı tabloları tüm ağ tarafından paylaşılır; yazılar, ayarlar ve ortam dosyaları ise her site için ayrı saklanır.
Alt alan adı yönteminde her site site1.example.com biçiminde bir adres kullanır ve wp-config.php dosyasındaki [SUBDOMAIN_INSTALL] değeri true olur.
Alt klasör yönteminde siteler example.com/site1 biçiminde bir adres kullanır ve [SUBDOMAIN_INSTALL] değeri false olur. Ana sitenin yazı adreslerine [/blog/] eklenir.

2️⃣ Alt alan adı ile alt klasör farkı: Adres biçimi ve seçim sınırları

Ağı kurarken site adresi yöntemini alt alan adı ve alt klasör arasından seçersiniz. Alt alan adı site1.example.com, alt klasör (alt dizin) ise example.com/site1 biçiminde bir adrestir.

ÖğeAlt alan adıAlt klasör
Site adresisite1.example.comexample.com/site1
Resmî belgelerdeki adıAlan adı tabanlı (domain-based)Yol tabanlı (path-based)
Sunucu tarafında hazırlıkAlt alan adlarını DNS'te ve sunucuda WordPress kurulum klasörüne yönlendirmeKalıcı bağlantılar çalışıyorsa ek ayar yok
Kullanıcılar kendi sitelerini oluşturduğundaJoker alt alan adı gerekirEk koşul yok
Seçilemediği durumlarWordPress adresinde bir yol olduğunda ya da adres localhost veya IP adresi olduğundaBir aydan uzun süre önce yayımlanmış yazıları olan siteler
Ana sitenin yazı adresiDeğişiklik yokYazı adresinin önüne /blog/ eklenir

Alt klasör yönteminde kalıcı bağlantıların çalıştığı bir sunucuda ayrıca ayarlanacak bir şey yoktur, ancak bir aydan uzun süre önce yayımlanmış yazıları olan bir sitede bu yöntem seçilemez. Bu sınır, mevcut yazı adresleriyle yeni site adreslerinin çakışmasını önlemek içindir ve bu tür siteler alt alan adı yöntemiyle kurulur.

Alt klasör ağındaki ana sitenin yazı adreslerine [/blog/] eklenir. Bu yapı, adreslerin alt site adresleriyle çakışmaması içindir ve sayfa adreslerine eklenmez.

Bir kez seçilen yöntemi sonradan değiştirmek birkaç adım gerektirir. Resmî belgelere göre yalnızca [SUBDOMAIN_INSTALL] değerini ve yeniden yazma kurallarını değiştirmek mevcut site adreslerini taşımaz; DNS ve sertifikaların da ayrıca ayarlanması gerekir.

3️⃣ Ağ kurulumundan önce hazırlık: Yedekleme, kalıcı bağlantılar ve sunucu koşulları

Ağ kurulumu mevcut sitenin dosyalarını ve veritabanını değiştiren bir işlemdir; bu yüzden resmî belgeler, yeni kurulmuş bir site değilse önce yedek almanızı önerir.

Veritabanını ve dosyaları yedekleyin, kalıcı bağlantıların çalıştığını kontrol edin, ardından etkin tüm eklentileri devre dışı bırakın. Eklentileri ağ oluşturulduktan sonra yeniden etkinleştirin.

WordPress'i kendi klasöründen çalışacak şekilde taşımayı planlıyorsanız bunu çoklu siteyi etkinleştirmeden önce bitirin. Alt alan adı yönteminde www adresi kullanıyorsanız [WordPress adresi (URL)] ile [Site adresi (URL)] değerlerini aynı yapın ve alan adı değişikliğini de kurulumdan önce tamamlayın.

WordPress adresinde :80 veya :443 dışında bir bağlantı noktası numarası varsa ağ oluşturulamaz.

Sunucunun çoklu site için yeniden yazma kurallarını işleyebilmesi gerekir; Apache için mod_rewrite gereklidir.

Nginx + Apache yapılandırmasında Nginx istekleri Apache'ye iletir ve Apache .htaccess dosyasını okur. .htaccess dosyasını ağ kurulumu ekranında gösterilen kurallarla değiştirince alt site adresleri açıldı; Nginx tarafına ayrıca bir kural eklemedik.

Yalnızca Nginx kullanan sunucularda WordPress yeniden yazma kurallarını oluşturmaz; bu yüzden resmî belgelerdeki Nginx ayarlarını sunucu yapılandırma dosyasına doğrudan eklemeniz gerekir.

Paylaşımlı barındırma gibi sunucu ayarlarını kendiniz değiştiremediğiniz ortamlarda joker alt alan adı gibi koşulları barındırma şirketiyle görüşmeniz gerekir (resmî belgelere göre).

4️⃣ Ağ kurulumu adımları

  • ↪️ WP_ALLOW_MULTISITE ve ağ kurulumu ekranı

wp-config.php dosyasına eklenen [WP_ALLOW_MULTISITE] sabiti yalnızca [Araçlar] › [Ağ kurulumu] menüsünü gösterir; tek başına çoklu siteyi etkinleştirmez. Ağ, o ekranda kurulduktan ve ekranda çıkan satırlar wp-config.php ile .htaccess dosyalarına eklendikten sonra etkin olur.

wp-config.php dosyasını açın ve [WP_ALLOW_MULTISITE] değerini true olarak tanımlayan satırı düzenlemeyi bitirme yorumunun üstüne ekleyin. Düzenlemeyi bitirme yorumu /* That’s all, stop editing! Happy publishing. */ satırıdır; kaydettikten sonra tarayıcıyı yenileyin.

define( 'WP_ALLOW_MULTISITE', true );

Yenilediğinizde [Araçlar] menüsünde [Kişisel verileri sil] öğesinin altına [Ağ kurulumu] eklenir ve bu menüye tıklayınca [Bir WordPress siteleri ağı oluşturun] ekranı açılır.

Ağ kurulumu ekranı: Soldaki Araçlar menüsünde Ağ kurulumu · Alt klasör kurulumu · Sunucu adresi · Ağ başlığı · Ağ yönetimi e-posta adresi · Kur düğmesi

Alt klasöre kurulmuş WordPress'te adres yöntemini seçme alanı olmadan yalnızca [Alt klasör kurulumu] satırı gösterilir. O satırdaki metin [Kurulumunuz bir klasörde olduğu için WordPress ağınızdaki siteler de alt klasörler kullanmalılar.] şeklindedir.

[Ağ başlığı] ile [Ağ yönetimi e-posta adresi] alanlarını kontrol edip [Kur] düğmesine basın.

Resmî belgelere göre adres yönteminin seçilebildiği kurulumlarda alt alan adı seçilirse joker DNS uyarısı gösterilir ve bu koşul yalnızca kullanıcıların kendi sitelerini oluşturduğu ağlarda gerekir.

Kurulumdan sonraki ekranda o siteye göre hazırlanmış wp-config.php satırları ve .htaccess kuralları gösterilir. İki dosyayı yedekleyin, satırları wp-config.php dosyasında [WP_ALLOW_MULTISITE] satırının altına yapıştırın ve .htaccess dosyasındaki mevcut WordPress kurallarını yenileriyle değiştirin.

Kurulumdan sonra ağ kurulumu ekranı: wp-config.php için ağ yapılandırma kuralları · .htaccess için ağ yapılandırma kuralları · Oturum aç bağlantısı

Kurulumdan sonraki ekrandaki açıklamada düzenlemeyi bitirme yorumu yönetim ekranının diline çevrilmiş olarak gösterilir, ancak wp-config.php içindeki yorum İngilizce kalır.

wp-config.php dosyasına eklenen satırlar, [MULTISITE] ve [SUBDOMAIN_INSTALL] dahil altı sabittir. [SUBDOMAIN_INSTALL] değeri alt alan adında true, alt klasörde false olur.

[DOMAIN_CURRENT_SITE] ve [PATH_CURRENT_SITE] sabitlerinde o sitenin alan adı ve kurulum yolu bulunur. Aşağıdaki satırlar, example.com kök dizinine alt klasör yöntemiyle kurulmuş bir sitenin satırlarıdır.

define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', false );
define( 'DOMAIN_CURRENT_SITE', 'example.com' );
define( 'PATH_CURRENT_SITE', '/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );

Aynı durumda .htaccess dosyasındaki WordPress kuralları aşağıdakilerle değiştirilir ve [RewriteBase] satırında kurulum yolu bulunur.

RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]

İki dosyayı kaydettikten sonra ekrandaki [Oturum aç] bağlantısıyla yeniden giriş yapınca yönetim çubuğundaki [Sitelerim] altında [Ağ yöneticisi] belirir. Giriş yapılamazsa tarayıcı önbelleğini ve çerezleri silip yeniden giriş yapın.

Sitelerim menüsü ekranı: Yönetim çubuğunda Sitelerim › Ağ yöneticisi › Başlangıç · Siteler · Kullanıcılar · Temalar · Eklentiler · Ayarlar

[Ağ yöneticisi] içinde Başlangıç, Siteler, Kullanıcılar, Temalar, Eklentiler ve Ayarlar olmak üzere altı menü vardır; [Siteler] öğesine tıklayınca ağdaki sitelerin listesi açılır.

Ağ yöneticisi siteler ekranı: Ana site ve bir alt siteden oluşan iki sitelik liste · Başlığın yanındaki Site ekle düğmesi

Alt siteler, liste başlığının yanındaki [Site ekle] ya da soldaki [Siteler] › [Site ekle] üzerinden eklenir.

Site ekle ekranı: Site adresi (URL) · Site başlığı · Site Dili · Yönetim e-posta adresi · Site ekle düğmesi

[Site adresi (URL)] alanına yalnızca küçük harf, rakam ve kısa çizgi girilebilir; [Yönetim e-posta adresi] veritabanında yoksa yeni bir kullanıcı oluşturulur.

Bir alt site ekleyince yükleme klasöründe [sites/2] klasörü oluştu, veritabanına da [wp_2_] gibi önekten sonra site numarası gelen 10 tablo eklendi.

Alt sitenin kalıcı bağlantıları ana sitenin ayarlarını izlemez; yıl, ay, gün ve yazı adını içeren varsayılan yapıyla başlar. Bu yüzden alt sitenin kalıcı bağlantı ayarlarında ayrıca belirlenir.

Aşağıdaki simülatörde [Araçlar] › [Ağ kurulumu] adımından [Site ekle] adımına kadar olan yolu sırayla tıklayarak deneyebilirsiniz.

🧭 WordPress çoklu site ağ kurulumu simülatörü
wp-adminYol simülatörü
도구›네트워크 설치
My Site
워드프레스 사이트의 네트워크 만들기

네트워크 설치 절차에 오신 것을 환영합니다!

아래의 정보를 채우고 워드프레스 사이트의 네트워크를 만들 수 있습니다. 다음 단계에서 구성 파일을 만들 것입니다.

경고: 이 설치의 끝에 사용할 아파치 mod_rewrite 모듈을 설치했는지 확인하기 바랍니다.
네트워크 세부사항
하위 디렉터리 설치하기
설치가 디렉터리에 있기에, 워드프레스 네트워크의 사이트는 하위 디렉터리를 사용해야만 합니다.
서버 주소
네트워크의 인터넷 주소는 example.com이(가) 될 것입니다.
네트워크 제목
My Site 사이트네트워크를 무엇으로 부르는 것이 좋을까요?
네트워크 관리자 이메일
you@example.com이메일 주소입니다.
My Site
워드프레스 사이트의 네트워크 만들기
네트워크 활성화하는 중

다음 단계를 완료하여 사이트의 네트워크 만들기 기능을 활성화하세요.

주의: 기존의 wp-config.php 및 .htaccess 파일을 백업 해야합니다.
  1. /var/www/html/wp/의 wp-config.php파일에 /* 그게 다입니다. 편집을 멈추세요! 즐겁게 발행하세요. */행 위에 다음을 추가합니다:
    wp-config.php에 대한 네트워크 환경설정 규칙
    define( 'MULTISITE', true );
    define( 'SUBDOMAIN_INSTALL', false );
    define( 'DOMAIN_CURRENT_SITE', 'example.com' );
    define( 'PATH_CURRENT_SITE', '/wp/' );
    define( 'SITE_ID_CURRENT_SITE', 1 );
    define( 'BLOG_ID_CURRENT_SITE', 1 );
  2. 다른 워드프레스 규칙을 교체하는 /var/www/html/wp/의 .htaccess 파일에 다음을 넣습니다:
    .htaccess에 대한 네트워크 환경설정 규칙
    RewriteEngine On
    RewriteRule .* – [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    RewriteBase /wp/
    RewriteRule ^index\.php$ – [L]
     
    # add a trailing slash to /wp-admin
    RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
     
    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^ – [L]
    RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
    RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
    RewriteRule . index.php [L]

이 단계를 완료하고나면, 네트워크를 활성화하고 구성합니다. 다시 로그인해야 합니다.

내 사이트My Site
네트워크 관리자My Site
알림판사용자테마플러그인설정
알림판
내 사이트My Site
사이트
URL등록됨사용자
example.com/wp — 메인편집 | 알림판 | 방문2026/10/271
내 사이트My Site
사이트 추가하기
사이트 주소 (URL) *
example.com/wp/site1소문자(a-z), 숫자, 그리고 하이픈만 허용합니다.
사이트 제목 *
Site 1
사이트 언어
한국어
관리자 이메일 *
you@example.com

위의 이메일 주소가 데이터베이스에 없으면 새 사용자를 만들 것입니다.
비밀번호를 설정하는 사용자 이름과 링크를 이 이메일 주소로 보낼 것입니다.

5️⃣ Çoklu sitenin uygun olmadığı durumlar

  • ↪️ Siteler arasında veri ve kullanıcı paylaşımı

Çoklu site, bölgesel siteler gibi tema ve eklentilerin paylaşıldığı, içeriğin ise ayrı yönetildiği durumlara uygundur. Siteler arasında veri veya kullanıcıların yakından paylaşılması gerekiyorsa resmî belgeler çoklu sitenin en iyi yöntem olmayabileceğini belirtir.

Yalnızca tasarımın farklı görünmesi gerekiyorsa bunu tek bir sitede tema veya stil dosyası değiştiren bir eklentiyle çözebilirsiniz. Her kullanıcı grubunun yalnızca farklı bilgiler görmesi gereken durumlar da yetkileri ve menüleri değiştiren eklentilerle tek sitede halledilebilir.

Kullandığınız eklentileri de önceden kontrol edin. Eklenti dizinindeki her eklenti çoklu sitede çalışmaz; bu yüzden resmî belgeler desteği eklenti sayfasından veya geliştiriciden kontrol etmenizi önerir.

🔢 SSS & önerilen içerikler

WordPress 4.5'ten itibaren alan adı eşleme çoklu sitenin temel özelliği oldu; böylece bir alt siteye example2.com gibi ayrı bir alan adı bağlayabilirsiniz. Resmî belgelere göre bu durumda da alan adının DNS kaydını sunucu IP'sine yönlendirir ve sunucuyu o alan adını WordPress kurulum klasörüne gönderecek şekilde ayarlarsınız.

[Ağ yöneticisi] eklentiler ekranından kurulan eklentiler her site için ayrı ayrı ya da [Ağda etkinleştir] ile tüm sitelerde bir kerede etkinleştirilir. Ağda etkinleştirilen eklentiler her sitenin eklenti listesinde [Ağda etkinleştirilmiş] olarak görünür ve site yöneticileri bunları devre dışı bırakamaz. Bir temayı ağda etkinleştirmek sitelerin temasını değiştirmez; tema yalnızca her sitenin seçebileceği listeye eklenir.

Çekirdek, tema ve eklenti dosyaları ağ tarafından paylaşıldığı için [Ağ yöneticisi] içindeki güncellemeler ekranından bir kez güncellenir. Çekirdeği güncelledikten sonra [Ağı güncelle] çalıştırılır ve her sitenin veritabanı değişiklikleri beşer site halinde sırayla uygulanır.

ℹ️ Satış ortaklığı bildirimi
Bu sitenin içeriklerinde satış ortaklığı bağlantıları bulunur. Bir ziyaretçi bu bağlantılar üzerinden ürün veya hizmet satın alırsa bu site satıcıdan komisyon alır. Bu süreçte alıcının ödediği tutar (kampanya indirimlerinde tutar düşer↓) artmaz. Yayımlanan fiyat, indirim ve stok bilgileri yazının yazıldığı zamana aittir ve gerçek durumdan farklı olabilir; bu yüzden satın almadan önce son bilgiyi satıcıdan kontrol etmenizi rica ederiz. Ürünler kendi ölçütlerimize göre seçilir ve değerlendirilir; komisyon alınıp alınmaması tanıtım sırasını veya değerlendirme içeriğini etkilemez.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

İnsan olduğunuzu kanıtlayın: 9   +   7   =