{"id":39088,"date":"2026-02-14T08:40:47","date_gmt":"2026-02-14T05:40:47","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=39088"},"modified":"2026-02-14T08:40:47","modified_gmt":"2026-02-14T05:40:47","slug":"nginx-ile-tek-ve-coklu-wordpress-site-ayarlarinin-yapilandirilmasi","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/nginx-ile-tek-ve-coklu-wordpress-site-ayarlarinin-yapilandirilmasi\/","title":{"rendered":"Nginx ile Tek ve \u00c7oklu WordPress Site Ayarlar\u0131n\u0131n Yap\u0131land\u0131r\u0131lmas\u0131"},"content":{"rendered":"<p><body><\/p>\n<h2>Nginx ile Tek ve \u00c7oklu WordPress Site Ayarlar\u0131n\u0131n Yap\u0131land\u0131r\u0131lmas\u0131<\/h2>\n<p>WordPress, d\u00fcnya genelinde milyonlarca web sitesinin temelini olu\u015fturan, kullan\u0131m\u0131 kolay ve g\u00fc\u00e7l\u00fc bir i\u00e7erik y\u00f6netim sistemidir (CMS). Geleneksel olarak Apache web sunucusu ile birlikte an\u0131lsa da, Nginx&#8217;in son y\u0131llardaki y\u00fckseli\u015fi, \u00f6zellikle y\u00fcksek performans ve \u00f6l\u00e7eklenebilirlik gerektiren projelerde WordPress i\u00e7in tercih edilen bir alternatif haline gelmesini sa\u011flam\u0131\u015ft\u0131r. Nginx, d\u00fc\u015f\u00fck kaynak t\u00fcketimi, e\u015fzamanl\u0131 ba\u011flant\u0131lar\u0131 etkin bir \u015fekilde y\u00f6netebilme yetene\u011fi ve statik i\u00e7erik sunumundaki \u00fcst\u00fcn performans\u0131 ile dikkat \u00e7eker. Bu makalede, Nginx&#8217;in temellerini, tek bir WordPress sitesinin nas\u0131l yap\u0131land\u0131r\u0131laca\u011f\u0131n\u0131, ard\u0131ndan WordPress Multisite kurulumunun hem subdomain hem de subdirectory modlar\u0131 i\u00e7in Nginx ile nas\u0131l entegre edilece\u011fini detayl\u0131 bir \u015fekilde inceleyece\u011fiz. Ayr\u0131ca, performans ve g\u00fcvenlik i\u00e7in ek Nginx ayarlar\u0131 ile s\u0131k kar\u015f\u0131la\u015f\u0131lan sorunlara \u00e7\u00f6z\u00fcmler sunarak, kapsaml\u0131 bir rehber sunmay\u0131 hedefliyoruz.<\/p>\n<h3>Nginx Temelleri ve WordPress \u0130\u00e7in Avantajlar\u0131<\/h3>\n<p>Nginx (engine-x olarak telaffuz edilir), Igor Sysoev taraf\u0131ndan geli\u015ftirilmi\u015f, y\u00fcksek performansl\u0131, hafif bir HTTP ve ters proxy sunucusudur. Apache gibi s\u00fcre\u00e7 tabanl\u0131 (process-based) bir mimariye sahip olmak yerine, olay tabanl\u0131 (event-driven), e\u015fzamans\u0131z (asynchronous) bir mimari kullan\u0131r. Bu mimari, Nginx&#8217;in ayn\u0131 anda binlerce ba\u011flant\u0131y\u0131 \u00e7ok daha az sistem kayna\u011f\u0131 t\u00fcketerek y\u00f6netebilmesini sa\u011flar.<\/p>\n<h4>Nginx Nedir?<\/h4>\n<p>Nginx, modern web sunucular\u0131n\u0131n kar\u015f\u0131la\u015ft\u0131\u011f\u0131 &#8220;C10k problemi&#8221; (ayn\u0131 anda 10.000 ba\u011flant\u0131y\u0131 y\u00f6netme) sorununa bir \u00e7\u00f6z\u00fcm olarak ortaya \u00e7\u0131km\u0131\u015ft\u0131r. Bir web sunucusu olmas\u0131n\u0131n yan\u0131 s\u0131ra, ters proxy sunucusu, y\u00fck dengeleyici (load balancer), HTTP \u00f6nbelle\u011fi (HTTP cache) ve e-posta proxy sunucusu olarak da i\u015flev g\u00f6rebilir. \u00d6zellikle statik i\u00e7erik sunumunda ve PHP gibi dinamik i\u00e7erikleri FastCGI Process Manager (PHP-FPM) arac\u0131l\u0131\u011f\u0131yla i\u015fleme konusunda \u00fcst\u00fcn bir performans sergiler.<\/p>\n<h4>Nginx&#8217;in WordPress \u0130\u00e7in Faydalar\u0131<\/h4>\n<p>WordPress, dinamik bir uygulama oldu\u011fu i\u00e7in genellikle PHP ve veritaban\u0131 (MySQL\/MariaDB) ile birlikte \u00e7al\u0131\u015f\u0131r. Nginx&#8217;in bu kombinasyonda sundu\u011fu faydalar \u015funlard\u0131r:<\/p>\n<p>*   <strong>Y\u00fcksek Performans ve D\u00fc\u015f\u00fck Kaynak T\u00fcketimi:<\/strong> Nginx, Apache&#8217;ye k\u0131yasla daha az bellek ve CPU kullanarak daha fazla e\u015fzamanl\u0131 ba\u011flant\u0131y\u0131 i\u015fleyebilir. Bu, \u00f6zellikle y\u00fcksek trafikli WordPress siteleri i\u00e7in kritik bir avantajd\u0131r.<br \/>\n*   <strong>Statik Dosya Sunumu Yetene\u011fi:<\/strong> WordPress siteleri, resimler, CSS ve JavaScript dosyalar\u0131 gibi \u00e7ok say\u0131da statik i\u00e7eri\u011fe sahiptir. Nginx, bu statik dosyalar\u0131 do\u011frudan ve son derece h\u0131zl\u0131 bir \u015fekilde sunarak PHP-FPM&#8217;ye olan y\u00fck\u00fc azalt\u0131r ve genel sayfa y\u00fckleme s\u00fcrelerini iyile\u015ftirir.<br \/>\n*   <strong>PHP-FPM ile H\u0131zl\u0131 \u0130leti\u015fim:<\/strong> Nginx, PHP kodunu do\u011frudan yorumlamaz. Bunun yerine, PHP-FPM ile FastCGI protokol\u00fc \u00fczerinden ileti\u015fim kurar. Bu ayr\u0131m, her birinin kendi uzmanl\u0131k alan\u0131na odaklanmas\u0131n\u0131 sa\u011flar: Nginx HTTP isteklerini y\u00f6netirken, PHP-FPM PHP kodunu i\u015fler. Bu mimari, daha kararl\u0131 ve performansl\u0131 bir ortam sunar.<br \/>\n*   <strong>\u00d6l\u00e7eklenebilirlik:<\/strong> Nginx&#8217;in hafif yap\u0131s\u0131 ve ters proxy yetenekleri, WordPress sitelerini yatayda \u00f6l\u00e7eklemeyi kolayla\u015ft\u0131r\u0131r. Birden fazla uygulama sunucusu aras\u0131nda trafi\u011fi dengeleyebilir veya \u00f6nbellekleme katmanlar\u0131 ekleyerek performans\u0131 art\u0131rabilir.<\/p>\n<h3>Tek Bir WordPress Sitesini Nginx ile Yap\u0131land\u0131rma<\/h3>\n<p>Tek bir WordPress sitesini Nginx \u00fczerinde \u00e7al\u0131\u015ft\u0131rmak, temel d\u00fczeyde Nginx yap\u0131land\u0131rmas\u0131 gerektirir. Bu b\u00f6l\u00fcmde, gerekli \u00f6n ko\u015fullardan ba\u015flayarak ad\u0131m ad\u0131m yap\u0131land\u0131rma s\u00fcrecini inceleyece\u011fiz.<\/p>\n<h4>\u00d6n Gereksinimler<\/h4>\n<p>Ba\u015flamadan \u00f6nce a\u015fa\u011f\u0131daki bile\u015fenlerin sunucunuzda kurulu ve \u00e7al\u0131\u015f\u0131r durumda olmas\u0131 gerekmektedir:<\/p>\n<p>*   <strong>Linux Sunucu:<\/strong> Ubuntu, CentOS, Debian gibi bir Linux da\u011f\u0131t\u0131m\u0131.<br \/>\n*   <strong>Nginx:<\/strong> Web sunucusu olarak Nginx.<br \/>\n*   <strong>PHP-FPM:<\/strong> PHP kodunu i\u015flemek i\u00e7in PHP FastCGI Process Manager.<br \/>\n*   <strong>MySQL\/MariaDB:<\/strong> WordPress verilerini depolamak i\u00e7in bir veritaban\u0131 sunucusu.<br \/>\n*   <strong>WordPress Dosyalar\u0131:<\/strong> WordPress&#8217;in en son s\u00fcr\u00fcm\u00fc.<br \/>\n*   <strong>Alan Ad\u0131 (Domain):<\/strong> Sitenize eri\u015fmek i\u00e7in bir alan ad\u0131 ve DNS ayarlar\u0131n\u0131n sunucunuzun IP adresini g\u00f6stermesi.<\/p>\n<h4>Nginx Kurulumu<\/h4>\n<p>\u00c7o\u011fu Linux da\u011f\u0131t\u0131m\u0131nda Nginx, paket y\u00f6neticisi arac\u0131l\u0131\u011f\u0131yla kolayca kurulabilir.<br \/>\n<strong>Ubuntu\/Debian i\u00e7in:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo apt update\nsudo apt install nginx<\/code><\/pre>\n<p><strong>CentOS\/RHEL i\u00e7in:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo yum install epel-release\nsudo yum install nginx<\/code><\/pre>\n<p>Kurulumdan sonra Nginx servisini ba\u015flat\u0131n ve sistem ba\u015flang\u0131c\u0131nda otomatik \u00e7al\u0131\u015facak \u015fekilde etkinle\u015ftirin:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl start nginx\nsudo systemctl enable nginx<\/code><\/pre>\n<h4>PHP-FPM Kurulumu ve Yap\u0131land\u0131rmas\u0131<\/h4>\n<p>WordPress, PHP ile yaz\u0131ld\u0131\u011f\u0131 i\u00e7in PHP-FPM&#8217;ye ihtiyac\u0131m\u0131z var. PHP s\u00fcr\u00fcm\u00fcn\u00fcz\u00fc (\u00f6rne\u011fin PHP 8.x) se\u00e7erek kurun.<br \/>\n<strong>Ubuntu\/Debian i\u00e7in (PHP 8.1 \u00f6rne\u011fi):<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo apt install php8.1-fpm php8.1-mysql php8.1-cli php8.1-curl php8.1-gd php8.1-mbstring php8.1-xml php8.1-zip<\/code><\/pre>\n<p><strong>CentOS\/RHEL i\u00e7in (PHP 8.1 \u00f6rne\u011fi, Remi deposu ile):<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo yum install https:\/\/rpms.remirepo.net\/enterprise\/remi-release-8.rpm\nsudo yum module enable php:remi-8.1\nsudo yum install php-fpm php-mysqlnd php-cli php-curl php-gd php-mbstring php-xml php-zip<\/code><\/pre>\n<p>Kurulumdan sonra PHP-FPM servisini ba\u015flat\u0131n ve etkinle\u015ftirin:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl start php8.1-fpm\nsudo systemctl enable php8.1-fpm<\/code><\/pre>\n<p>PHP-FPM yap\u0131land\u0131rmas\u0131nda, <code>php.ini<\/code> dosyas\u0131nda baz\u0131 temel ayarlar\u0131 kontrol etmek faydal\u0131d\u0131r. \u00d6zellikle <code>upload_max_filesize<\/code> ve <code>post_max_size<\/code> gibi de\u011ferleri sitenizin ihtiya\u00e7lar\u0131na g\u00f6re ayarlayabilirsiniz. PHP-FPM&#8217;nin <code>www.conf<\/code> dosyas\u0131nda (genellikle <code>\/etc\/php\/8.1\/fpm\/pool.d\/www.conf<\/code> veya <code>\/etc\/php-fpm.d\/www.conf<\/code>), <code>listen<\/code> y\u00f6nergesinin <code>unix:\/run\/php\/php8.1-fpm.sock<\/code> (Ubuntu) veya <code>127.0.0.1:9000<\/code> (CentOS\/varsay\u0131lan) olarak ayarland\u0131\u011f\u0131ndan emin olun. Nginx yap\u0131land\u0131rmas\u0131nda bu de\u011feri kullanaca\u011f\u0131z.<\/p>\n<h4>MySQL\/MariaDB Kurulumu<\/h4>\n<p>WordPress veritaban\u0131 i\u00e7in MySQL veya MariaDB kurun.<br \/>\n<strong>Ubuntu\/Debian i\u00e7in:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo apt install mysql-server\nsudo mysql_secure_installation # G\u00fcvenlik ayarlar\u0131 i\u00e7in<\/code><\/pre>\n<p><strong>CentOS\/RHEL i\u00e7in:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo yum install mariadb-server\nsudo systemctl start mariadb\nsudo systemctl enable mariadb\nsudo mysql_secure_installation<\/code><\/pre>\n<p>Veritaban\u0131 sunucusunu kurduktan sonra, WordPress i\u00e7in bir veritaban\u0131 ve kullan\u0131c\u0131 olu\u015fturun:<\/p>\n<pre><code class=\"language-sql\">sudo mysql -u root -p\nCREATE DATABASE wordpress_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;\nCREATE USER 'wordpress_user'@'localhost' IDENTIFIED BY 'guclu_sifre';\nGRANT ALL PRIVILEGES ON wordpress_db.* TO 'wordpress_user'@'localhost';\nFLUSH PRIVILEGES;\nEXIT;<\/code><\/pre>\n<p>Kendi veritaban\u0131 ad\u0131n\u0131z\u0131, kullan\u0131c\u0131 ad\u0131n\u0131z\u0131 ve \u015fifrenizi kullanmay\u0131 unutmay\u0131n.<\/p>\n<h4>WordPress Dosyalar\u0131n\u0131 Sunucuya Y\u00fckleme<\/h4>\n<p>WordPress&#8217;in en son s\u00fcr\u00fcm\u00fcn\u00fc <code>wordpress.org<\/code> adresinden indirin ve sunucunuzun web k\u00f6k dizinine (\u00f6rne\u011fin <code>\/var\/www\/html\/yourdomain.com<\/code>) \u00e7\u0131kar\u0131n.<\/p>\n<pre><code class=\"language-bash\">cd \/tmp\nwget https:\/\/wordpress.org\/latest.tar.gz\ntar -xvzf latest.tar.gz\nsudo mv wordpress \/var\/www\/html\/yourdomain.com # Kendi alan ad\u0131n\u0131zla de\u011fi\u015ftirin\nsudo chown -R www-data:www-data \/var\/www\/html\/yourdomain.com # Ubuntu\/Debian i\u00e7in\n<h2>sudo chown -R nginx:nginx \/var\/www\/html\/yourdomain.com # CentOS\/RHEL i\u00e7in<\/h2>\nsudo chmod -R 755 \/var\/www\/html\/yourdomain.com<\/code><\/pre>\n<p>Ard\u0131ndan, WordPress&#8217;in kurulum sihirbaz\u0131n\u0131 tamamlamak i\u00e7in <code>wp-config-sample.php<\/code> dosyas\u0131n\u0131 <code>wp-config.php<\/code> olarak kopyalay\u0131n ve veritaban\u0131 bilgilerinizi girin.<\/p>\n<pre><code class=\"language-bash\">cd \/var\/www\/html\/yourdomain.com\nsudo cp wp-config-sample.php wp-config.php\nsudo nano wp-config.php<\/code><\/pre>\n<p><code>DB_NAME<\/code>, <code>DB_USER<\/code>, <code>DB_PASSWORD<\/code> de\u011ferlerini olu\u015fturdu\u011funuz veritaban\u0131 bilgileriyle g\u00fcncelleyin.<\/p>\n<h4>Nginx Sanal Host (Server Block) Yap\u0131land\u0131rmas\u0131<\/h4>\n<p>Nginx, her site i\u00e7in ayr\u0131 bir yap\u0131land\u0131rma dosyas\u0131 kullanarak sanal hostlar\u0131 (server blocks) y\u00f6netir. Bu dosyalar genellikle <code>\/etc\/nginx\/sites-available\/<\/code> dizininde bulunur ve etkinle\u015ftirmek i\u00e7in <code>\/etc\/nginx\/sites-enabled\/<\/code> dizinine sembolik bir ba\u011flant\u0131 olu\u015fturulur.<\/p>\n<p>Yeni bir yap\u0131land\u0131rma dosyas\u0131 olu\u015fturun (\u00f6rne\u011fin <code>yourdomain.com.conf<\/code>):<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/nginx\/sites-available\/yourdomain.com.conf<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki \u00f6rnek yap\u0131land\u0131rmay\u0131 dosyaya yap\u0131\u015ft\u0131r\u0131n ve alan ad\u0131n\u0131z\u0131, k\u00f6k dizininizi ve PHP-FPM soket yolunuzu kendi de\u011ferlerinizle de\u011fi\u015ftirin:<\/p>\n<pre><code class=\"language-nginx\">server {\n    listen 80;\n    listen [::]:80;\n    server_name yourdomain.com www.yourdomain.com; # Alan ad\u0131n\u0131z\u0131 buraya yaz\u0131n\n    root \/var\/www\/html\/yourdomain.com; # WordPress k\u00f6k dizini\n\n    index index.php index.html index.htm;\n\n    error_log \/var\/log\/nginx\/yourdomain.com_error.log;\n    access_log \/var\/log\/nginx\/yourdomain.com_access.log;\n\n    # WordPress kal\u0131c\u0131 ba\u011flant\u0131lar\u0131 (permalinks) i\u00e7in rewrite kurallar\u0131\n    location \/ {\n        try_files $uri $uri\/ \/index.php?$args;\n    }\n\n    # PHP dosyalar\u0131n\u0131 PHP-FPM'ye ilet\n    location ~ \\.php$ {\n        include snippets\/fastcgi-php.conf;\n        fastcgi_pass unix:\/run\/php\/php8.1-fpm.sock; # PHP-FPM soket yolu (Ubuntu)\n        # fastcgi_pass 127.0.0.1:9000; # CentOS\/varsay\u0131lan i\u00e7in\n        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;\n        include fastcgi_params;\n    }\n\n    # Statik dosyalar i\u00e7in \u00f6nbellekleme\n    location ~* \\.(jpg|jpeg|png|gif|ico|css|js)$ {\n        expires 365d;\n        log_not_found off;\n    }\n\n    # Gizli dosyalar\u0131n (.ht* gibi) eri\u015fimini engelle\n    location ~ \/\\.ht {\n        deny all;\n    }\n\n    # XML-RPC sald\u0131r\u0131lar\u0131na kar\u015f\u0131 koruma (iste\u011fe ba\u011fl\u0131)\n    # location ~* \/xmlrpc.php$ {\n    #     deny all;\n    # }\n}<\/code><\/pre>\n<p>Bu yap\u0131land\u0131rma dosyas\u0131n\u0131 kaydedin ve kapat\u0131n. Ard\u0131ndan, bu yap\u0131land\u0131rmay\u0131 etkinle\u015ftirmek i\u00e7in <code>sites-enabled<\/code> dizinine bir sembolik ba\u011flant\u0131 olu\u015fturun:<\/p>\n<pre><code class=\"language-bash\">sudo ln -s \/etc\/nginx\/sites-available\/yourdomain.com.conf \/etc\/nginx\/sites-enabled\/<\/code><\/pre>\n<p>Nginx&#8217;in varsay\u0131lan yap\u0131land\u0131rmas\u0131n\u0131 (genellikle <code>default<\/code> adl\u0131 dosyay\u0131) devre d\u0131\u015f\u0131 b\u0131rakmak isteyebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo rm \/etc\/nginx\/sites-enabled\/default<\/code><\/pre>\n<p>Nginx yap\u0131land\u0131rmas\u0131n\u0131n s\u00f6zdizimini kontrol edin ve servisi yeniden ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo nginx -t\nsudo systemctl restart nginx<\/code><\/pre>\n<p>Art\u0131k taray\u0131c\u0131n\u0131zdan alan ad\u0131n\u0131za giderek WordPress kurulum sihirbaz\u0131n\u0131 tamamlayabilirsiniz.<\/p>\n<h3>\u00c7oklu WordPress Sitelerini Nginx ile Yap\u0131land\u0131rma (WordPress Multisite)<\/h3>\n<p>WordPress Multisite, tek bir WordPress kurulumu \u00fczerinden birden fazla web sitesi \u00e7al\u0131\u015ft\u0131rman\u0131za olanak tan\u0131r. Bu, \u00f6zellikle blog a\u011flar\u0131, \u00fcniversiteler veya farkl\u0131 departmanlar i\u00e7in siteler sunan i\u015fletmeler i\u00e7in idealdir. Multisite, &#8220;Subdomain&#8221; (alt alan ad\u0131) veya &#8220;Subdirectory&#8221; (alt dizin) olmak \u00fczere iki modda yap\u0131land\u0131r\u0131labilir.<\/p>\n<h4>WordPress Multisite Nedir?<\/h4>\n<p>WordPress Multisite, t\u00fcm sitelerin ayn\u0131 WordPress \u00e7ekirdek dosyalar\u0131n\u0131, eklentilerini ve temalar\u0131n\u0131 payla\u015ft\u0131\u011f\u0131 bir a\u011f olu\u015fturur. Her sitenin kendine ait bir veritaban\u0131 tablosu seti vard\u0131r, ancak t\u00fcm siteler ayn\u0131 veritaban\u0131n\u0131 kullan\u0131r.<\/p>\n<p>*   <strong>Subdomain Modu:<\/strong> Her yeni site, ana sitenin bir alt alan ad\u0131 olarak olu\u015fturulur (\u00f6rne\u011fin, <code>site1.alanadiniz.com<\/code>, <code>site2.alanadiniz.com<\/code>). Bu mod i\u00e7in wildcard (joker karakter) DNS kayd\u0131 gereklidir.<br \/>\n*   <strong>Subdirectory Modu:<\/strong> Her yeni site, ana sitenin bir alt dizini olarak olu\u015fturulur (\u00f6rne\u011fin, <code>alanadiniz.com\/site1<\/code>, <code>alanadiniz.com\/site2<\/code>). Bu mod i\u00e7in genellikle daha az DNS yap\u0131land\u0131rmas\u0131 gerekir.<\/p>\n<h4>Multisite \u0130\u00e7in \u00d6n Gereksinimler<\/h4>\n<p>Tek site kurulumuna ek olarak, Multisite i\u00e7in baz\u0131 \u00f6zel \u00f6n ko\u015fullar vard\u0131r:<\/p>\n<p><em>   <strong>Wildcard DNS Kayd\u0131 (Subdomain Modu \u0130\u00e7in):<\/strong> E\u011fer subdomain modunu kullanacaksan\u0131z, DNS sa\u011flay\u0131c\u0131n\u0131zda <code><\/em>.alanadiniz.com<\/code> adresini sunucunuzun IP adresine i\u015faret eden bir A kayd\u0131 olu\u015fturman\u0131z gerekmektedir.<br \/>\n*   <strong>Temiz Permalinks:<\/strong> WordPress Multisite, kal\u0131c\u0131 ba\u011flant\u0131lar\u0131n (permalinks) \u00e7al\u0131\u015fmas\u0131 i\u00e7in sunucu taraf\u0131nda rewrite kurallar\u0131na ihtiya\u00e7 duyar.<br \/>\n*   <strong>WordPress Kurulumu:<\/strong> Zaten \u00e7al\u0131\u015fan tek bir WordPress kurulumunuzun olmas\u0131 veya yeni bir kurulum yap\u0131p Multisite&#8217;a d\u00f6n\u00fc\u015ft\u00fcrmeniz gerekmektedir.<\/p>\n<h4>WordPress Multisite Kurulum Ad\u0131mlar\u0131<\/h4>\n<p>1.  <strong>WP_ALLOW_MULTISITE Tan\u0131mlama:<\/strong> <code>wp-config.php<\/code> dosyas\u0131n\u0131 a\u00e7\u0131n ve <code>\/<em> That's all, stop editing! Happy publishing. <\/em>\/<\/code> sat\u0131r\u0131n\u0131n hemen \u00fczerine a\u015fa\u011f\u0131daki kodu ekleyin:<\/p>\n<pre><code class=\"language-php\">define('WP_ALLOW_MULTISITE', true);<\/code><\/pre>\n<p>    Bu, WordPress admin panelinde Multisite kurulum se\u00e7ene\u011fini etkinle\u015ftirecektir.<br \/>\n2.  <strong>WordPress Admin Panelinden Kurulum:<\/strong> WordPress y\u00f6netici panelinize giri\u015f yap\u0131n. <code>Ara\u00e7lar > A\u011f Kurulumu<\/code> (Tools > Network Setup) men\u00fcs\u00fc alt\u0131nda Multisite&#8217;\u0131 yap\u0131land\u0131rma se\u00e7ene\u011fini g\u00f6receksiniz.<br \/>\n    *   <strong>Subdomain veya Subdirectory se\u00e7imi:<\/strong> \u0130stedi\u011finiz modu se\u00e7in. Kurulumdan sonra bu modu de\u011fi\u015ftirmek zordur.<br \/>\n    *   <strong>A\u011f Ba\u015fl\u0131\u011f\u0131 ve Y\u00f6netici E-posta:<\/strong> Gerekli bilgileri girin.<br \/>\n    *   <strong>Kurulumu Tamamlay\u0131n:<\/strong> WordPress size <code>wp-config.php<\/code> ve <code>.htaccess<\/code> (Nginx i\u00e7in bu k\u0131s\u0131m Nginx yap\u0131land\u0131rmas\u0131na eklenecek) dosyalar\u0131na eklemeniz gereken kod par\u00e7ac\u0131klar\u0131n\u0131 verecektir.<br \/>\n3.  <strong>wp-config.php G\u00fcncellemesi:<\/strong> WordPress&#8217;in verdi\u011fi kodlar\u0131 <code>wp-config.php<\/code> dosyas\u0131na, <code>define('WP_ALLOW_MULTISITE', true);<\/code> sat\u0131r\u0131n\u0131n alt\u0131na yap\u0131\u015ft\u0131r\u0131n. Bu kodlar genellikle <code>SUBDOMAIN_INSTALL<\/code>, <code>DOMAIN_CURRENT_SITE<\/code>, <code>PATH_CURRENT_SITE<\/code>, <code>SITE_ID_CURRENT_SITE<\/code> ve <code>BLOG_ID_CURRENT_SITE<\/code> tan\u0131mlamalar\u0131n\u0131 i\u00e7erir.<\/p>\n<h4>Nginx Multisite Yap\u0131land\u0131rmas\u0131<\/h4>\n<p>WordPress&#8217;in verdi\u011fi <code>.htaccess<\/code> kurallar\u0131n\u0131 Nginx yap\u0131land\u0131rmas\u0131na d\u00f6n\u00fc\u015ft\u00fcrmemiz gerekiyor. Tek site i\u00e7in kulland\u0131\u011f\u0131m\u0131z <code>server<\/code> blo\u011funu d\u00fczenleyece\u011fiz.<\/p>\n<h5>Subdomain Modu \u0130\u00e7in Nginx Yap\u0131land\u0131rmas\u0131<\/h5>\n<p>E\u011fer subdomain modunu se\u00e7tiyseniz, Nginx <code>server_name<\/code> y\u00f6nergesini wildcard kullanarak yap\u0131land\u0131rman\u0131z gerekir. Ayr\u0131ca, <code>location \/<\/code> blo\u011fundaki rewrite kurallar\u0131n\u0131 da g\u00fcncellemeniz gerekecektir.<\/p>\n<pre><code class=\"language-nginx\">server {\n    listen 80;\n    listen [::]:80;\n    server_name yourdomain.com *.yourdomain.com; # Wildcard alan ad\u0131n\u0131 ekleyin\n    root \/var\/www\/html\/yourdomain.com;\n\n    index index.php index.html index.htm;\n\n    error_log \/var\/log\/nginx\/yourdomain.com_error.log;\n    access_log \/var\/log\/nginx\/yourdomain.com_access.log;\n\n    # WordPress Multisite (Subdomain) rewrite kurallar\u0131\n    location \/ {\n        try_files $uri $uri\/ \/index.php?$args;\n    }\n\n    # Multisite medya dosyalar\u0131 i\u00e7in (iste\u011fe ba\u011fl\u0131, \/wp-content\/blogs.dir\/ yerine \/wp-content\/uploads\/sites\/ kullan\u0131l\u0131r)\n    location ~ ^\/wp-content\/blogs.dir\/(.*)$ {\n        try_files \/wp-content\/blogs.dir\/$1 \/index.php?$args;\n    }\n    location ~ ^\/wp-content\/uploads\/sites\/(\\d+)\/(.*)$ {\n        try_files \/wp-content\/uploads\/sites\/$1\/$2 \/index.php?$args;\n    }\n\n    location ~ \\.php$ {\n        include snippets\/fastcgi-php.conf;\n        fastcgi_pass unix:\/run\/php\/php8.1-fpm.sock;\n        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;\n        include fastcgi_params;\n    }\n\n    location ~* \\.(jpg|jpeg|png|gif|ico|css|js)$ {\n        expires 365d;\n        log_not_found off;\n    }\n\n    location ~ \/\\.ht {\n        deny all;\n    }\n}<\/code><\/pre>\n<p><strong>\u00d6nemli Not:<\/strong> Modern WordPress Multisite kurulumlar\u0131 genellikle <code>wp-content\/blogs.dir<\/code> yerine <code>wp-content\/uploads\/sites\/{ID}<\/code> yap\u0131s\u0131n\u0131 kullan\u0131r. Yukar\u0131daki yap\u0131land\u0131rma her iki senaryoyu da kapsar.<\/p>\n<h5>Subdirectory Modu \u0130\u00e7in Nginx Yap\u0131land\u0131rmas\u0131<\/h5>\n<p>E\u011fer subdirectory modunu se\u00e7tiyseniz, <code>server_name<\/code> ayn\u0131 kal\u0131r ancak <code>location \/<\/code> blo\u011fundaki rewrite kurallar\u0131 farkl\u0131 olacakt\u0131r.<\/p>\n<pre><code class=\"language-nginx\">server {\n    listen 80;\n    listen [::]:80;\n    server_name yourdomain.com www.yourdomain.com; # Wildcard gerekmez\n    root \/var\/www\/html\/yourdomain.com;\n\n    index index.php index.html index.htm;\n\n    error_log \/var\/log\/nginx\/yourdomain.com_error.log;\n    access_log \/var\/log\/nginx\/yourdomain.com_access.log;\n\n    # WordPress Multisite (Subdirectory) rewrite kurallar\u0131\n    location \/ {\n        try_files $uri $uri\/ \/index.php?$args;\n    }\n\n    # WordPress Multisite (Subdirectory) i\u00e7in medya dosyalar\u0131\n    location ~ ^\/([_0-9a-zA-Z-]+\/)?wp-admin$ {\n        try_files $uri $uri\/ \/index.php?$args;\n    }\n    location ~ ^\/([_0-9a-zA-Z-]+\/)?wp-login.php$ {\n        try_files $uri $uri\/ \/index.php?$args;\n    }\n\n    location ~ \\.php$ {\n        include snippets\/fastcgi-php.conf;\n        fastcgi_pass unix:\/run\/php\/php8.1-fpm.sock;\n        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;\n        include fastcgi_params;\n    }\n\n    location ~* \\.(jpg|jpeg|png|gif|ico|css|js)$ {\n        expires 365d;\n        log_not_found off;\n    }\n\n    location ~ \/\\.ht {\n        deny all;\n    }\n}<\/code><\/pre>\n<p>Yap\u0131land\u0131rma dosyas\u0131n\u0131 g\u00fcncelledikten sonra, Nginx&#8217;i yeniden ba\u015flatmay\u0131 unutmay\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo nginx -t\nsudo systemctl restart nginx<\/code><\/pre>\n<p>Art\u0131k WordPress Multisite kurulumunuz Nginx \u00fczerinde \u00e7al\u0131\u015f\u0131yor olmal\u0131. Y\u00f6netici panelinden yeni siteler ekleyebilir ve y\u00f6netebilirsiniz.<\/p>\n<h3>Performans ve G\u00fcvenlik \u0130\u00e7in Ek Nginx Ayarlar\u0131<\/h3>\n<p>Nginx&#8217;in g\u00fcc\u00fcn\u00fc tam olarak kullanmak ve WordPress sitenizin performans\u0131n\u0131 ile g\u00fcvenli\u011fini art\u0131rmak i\u00e7in ek yap\u0131land\u0131rmalar yapabilirsiniz.<\/p>\n<h4>GZIP S\u0131k\u0131\u015ft\u0131rma<\/h4>\n<p>GZIP s\u0131k\u0131\u015ft\u0131rma, sunucudan istemciye g\u00f6nderilen metin tabanl\u0131 dosyalar\u0131n (HTML, CSS, JavaScript) boyutunu k\u00fc\u00e7\u00fclterek bant geni\u015fli\u011fini azalt\u0131r ve y\u00fckleme s\u00fcrelerini h\u0131zland\u0131r\u0131r.<br \/>\nNginx ana yap\u0131land\u0131rma dosyas\u0131na (<code>\/etc\/nginx\/nginx.conf<\/code> veya <code>\/etc\/nginx\/conf.d\/gzip.conf<\/code> gibi bir dosyaya) a\u015fa\u011f\u0131daki ayarlar\u0131 ekleyin:<\/p>\n<pre><code class=\"language-nginx\">gzip on;\ngzip_vary on;\ngzip_proxied any;\ngzip_comp_level 6;\ngzip_buffers 16 8k;\ngzip_http_version 1.1;\ngzip_types text\/plain text\/css application\/json application\/javascript text\/xml application\/xml application\/xml+rss text\/javascript;<\/code><\/pre>\n<h4>Taray\u0131c\u0131 \u00d6nbellekleme<\/h4>\n<p>Taray\u0131c\u0131 \u00f6nbellekleme, statik dosyalar\u0131n (resimler, CSS, JS) istemci taraf\u0131nda belirli bir s\u00fcre saklanmas\u0131n\u0131 sa\u011flayarak, tekrarlayan ziyaretlerde bu dosyalar\u0131n tekrar indirilmesini \u00f6nler. Bu, sayfa y\u00fckleme s\u00fcrelerini \u00f6nemli \u00f6l\u00e7\u00fcde azalt\u0131r.<br \/>\nHer site i\u00e7in <code>server<\/code> blo\u011funuzdaki statik dosyalar i\u00e7in <code>location<\/code> blo\u011funa <code>expires<\/code> y\u00f6nergesini ekleyebilirsiniz (yukar\u0131daki \u00f6rneklerde zaten mevcut).<\/p>\n<pre><code class=\"language-nginx\">location ~* \\.(jpg|jpeg|png|gif|ico|css|js)$ {\n    expires 365d; # 365 g\u00fcn \u00f6nbellekle\n    log_not_found off;\n}<\/code><\/pre>\n<h4>HTTP\/2 Deste\u011fi<\/h4>\n<p>HTTP\/2, web sitelerinin y\u00fckleme h\u0131z\u0131n\u0131 ve performans\u0131n\u0131 art\u0131rmak i\u00e7in tasarlanm\u0131\u015f, HTTP protokol\u00fcn\u00fcn yeni bir s\u00fcr\u00fcm\u00fcd\u00fcr. Nginx, HTTP\/2&#8217;yi SSL\/TLS ile birlikte destekler.<br \/>\n<code>listen<\/code> y\u00f6nergesine <code>http2<\/code> parametresini ekleyerek etkinle\u015ftirebilirsiniz:<\/p>\n<pre><code class=\"language-nginx\">listen 443 ssl http2;<\/code><\/pre>\n<h4>SSL\/TLS Yap\u0131land\u0131rmas\u0131<\/h4>\n<p>SSL\/TLS (HTTPS), siteniz ve kullan\u0131c\u0131lar\u0131n\u0131z aras\u0131ndaki ileti\u015fimi \u015fifreleyerek g\u00fcvenli\u011fi art\u0131r\u0131r. Let&#8217;s Encrypt gibi hizmetler sayesinde \u00fccretsiz SSL sertifikalar\u0131 alabilirsiniz.<br \/>\nBir sertifika ald\u0131ktan sonra, Nginx yap\u0131land\u0131rman\u0131za a\u015fa\u011f\u0131daki gibi bir <code>server<\/code> blo\u011fu eklemeniz gerekir:<\/p>\n<pre><code class=\"language-nginx\">server {\n    listen 443 ssl http2;\n    listen [::]:443 ssl http2;\n    server_name yourdomain.com www.yourdomain.com;\n\n    ssl_certificate \/etc\/letsencrypt\/live\/yourdomain.com\/fullchain.pem; # Sertifika yolu\n    ssl_certificate_key \/etc\/letsencrypt\/live\/yourdomain.com\/privkey.pem; # Anahtar yolu\n\n    ssl_protocols TLSv1.2 TLSv1.3;\n    ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384';\n    ssl_prefer_server_ciphers on;\n    ssl_session_cache shared:SSL:10m;\n    ssl_session_timeout 10m;\n\n    # HTTP'den HTTPS'ye y\u00f6nlendirme (iste\u011fe ba\u011fl\u0131, ayr\u0131 bir 80 portu server blo\u011fu ile yap\u0131l\u0131r)\n    # return 301 https:\/\/$server_name$request_uri;\n\n    # Di\u011fer WordPress ayarlar\u0131 buraya gelir (root, index, location \/ vb.)\n    root \/var\/www\/html\/yourdomain.com;\n    index index.php index.html index.htm;\n    # ... di\u011fer location bloklar\u0131 ...\n}\n\n<h2>HTTP trafi\u011fini HTTPS'ye y\u00f6nlendirmek i\u00e7in ayr\u0131 bir server blo\u011fu<\/h2>\nserver {\n    listen 80;\n    listen [::]:80;\n    server_name yourdomain.com www.yourdomain.com;\n    return 301 https:\/\/$server_name$request_uri;\n}<\/code><\/pre>\n<p>WordPress i\u00e7inde de <code>Ayarlar > Genel<\/code> k\u0131sm\u0131ndan site URL&#8217;lerini HTTPS olarak g\u00fcncellemeniz veya <code>wp-config.php<\/code> dosyas\u0131na a\u015fa\u011f\u0131daki sat\u0131rlar\u0131 eklemeniz gerekebilir:<\/p>\n<pre><code class=\"language-php\">define('FORCE_SSL_ADMIN', true);\ndefine('WP_HOME','https:\/\/yourdomain.com');\ndefine('WP_SITEURL','https:\/\/yourdomain.com');<\/code><\/pre>\n<h4>G\u00fcvenlik Ba\u015fl\u0131klar\u0131<\/h4>\n<p>Nginx, \u00e7e\u015fitli HTTP g\u00fcvenlik ba\u015fl\u0131klar\u0131n\u0131 ayarlayarak sitenizin g\u00fcvenli\u011fini art\u0131rman\u0131za olanak tan\u0131r. Bu ba\u015fl\u0131klar, XSS (Cross-Site Scripting), Clickjacking ve di\u011fer yayg\u0131n sald\u0131r\u0131 t\u00fcrlerine kar\u015f\u0131 koruma sa\u011flar.<br \/>\n<code>server<\/code> blo\u011funuzun i\u00e7ine a\u015fa\u011f\u0131daki ba\u015fl\u0131klar\u0131 ekleyebilirsiniz:<\/p>\n<pre><code class=\"language-nginx\">add_header X-Frame-Options \"SAMEORIGIN\";\nadd_header X-XSS-Protection \"1; mode=block\";\nadd_header X-Content-Type-Options \"nosniff\";\nadd_header Referrer-Policy \"no-referrer-when-downgrade\";\nadd_header Strict-Transport-Security \"max-age=31536000; includeSubDomains\" always; # Sadece HTTPS i\u00e7in<\/code><\/pre>\n<h4>WordPress \u00d6zel G\u00fcvenlik Ayarlar\u0131<\/h4>\n<p>WordPress&#8217;in baz\u0131 hassas dizinlerine veya dosyalar\u0131na do\u011frudan eri\u015fimi k\u0131s\u0131tlamak g\u00fcvenlik a\u00e7\u0131s\u0131ndan faydal\u0131d\u0131r.<br \/>\n*   <strong><code>wp-content<\/code>, <code>wp-includes<\/code> Dizini \u0130\u00e7in Eri\u015fim K\u0131s\u0131tlamalar\u0131:<\/strong><\/p>\n<pre><code class=\"language-nginx\">location ~ \/(wp-content|wp-includes)\/.*\\.php$ {\n        deny all;\n        return 403;\n    }<\/code><\/pre>\n<p>*   <strong>XML-RPC K\u0131s\u0131tlamas\u0131:<\/strong> E\u011fer XML-RPC kullanm\u0131yorsan\u0131z, onu devre d\u0131\u015f\u0131 b\u0131rakmak iyi bir g\u00fcvenlik uygulamas\u0131d\u0131r.<\/p>\n<pre><code class=\"language-nginx\">location ~* \/xmlrpc.php$ {\n        deny all;\n        return 403;\n    }<\/code><\/pre>\n<p>*   <strong><code>wp-config.php<\/code> Korumas\u0131:<\/strong><\/p>\n<pre><code class=\"language-nginx\">location ~* wp-config.php {\n        deny all;\n        return 403;\n    }<\/code><\/pre>\n<h3>S\u0131k Kar\u015f\u0131la\u015f\u0131lan Sorunlar ve \u00c7\u00f6z\u00fcmleri<\/h3>\n<p>Nginx ve WordPress yap\u0131land\u0131rmas\u0131nda baz\u0131 yayg\u0131n sorunlarla kar\u015f\u0131la\u015fabilirsiniz. \u0130\u015fte bunlardan baz\u0131lar\u0131 ve olas\u0131 \u00e7\u00f6z\u00fcmleri:<\/p>\n<h4>502 Bad Gateway Hatas\u0131<\/h4>\n<p>Bu hata genellikle Nginx&#8217;in PHP-FPM ile ileti\u015fim kuramad\u0131\u011f\u0131 anlam\u0131na gelir.<br \/>\n*   <strong>\u00c7\u00f6z\u00fcm:<\/strong> PHP-FPM servisinin \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 kontrol edin (<code>sudo systemctl status php8.1-fpm<\/code>). E\u011fer \u00e7al\u0131\u015fm\u0131yorsa, ba\u015flat\u0131n. PHP-FPM g\u00fcnl\u00fcklerini (<code>\/var\/log\/php8.1-fpm.log<\/code> veya benzeri) kontrol edin. Nginx yap\u0131land\u0131rmas\u0131ndaki <code>fastcgi_pass<\/code> y\u00f6nergesinin do\u011fru soket yolunu veya IP adresini\/portu g\u00f6sterdi\u011finden emin olun. PHP-FPM havuzu (pool) ayarlar\u0131nda (<code>www.conf<\/code>) <code>listen<\/code> y\u00f6nergesinin Nginx ile ayn\u0131 \u015fekilde yap\u0131land\u0131r\u0131ld\u0131\u011f\u0131n\u0131 do\u011frulay\u0131n.<\/p>\n<h4>404 Not Found Hatas\u0131<\/h4>\n<p>Bu hata, Nginx&#8217;in istenen dosyay\u0131 veya kayna\u011f\u0131 bulamad\u0131\u011f\u0131 anlam\u0131na gelir.<br \/>\n*   <strong>\u00c7\u00f6z\u00fcm:<\/strong> Nginx <code>server<\/code> blo\u011fundaki <code>root<\/code> y\u00f6nergesinin WordPress kurulumunuzun do\u011fru k\u00f6k dizinini g\u00f6sterdi\u011finden emin olun. WordPress kal\u0131c\u0131 ba\u011flant\u0131lar\u0131 i\u00e7in <code>location \/<\/code> blo\u011fundaki <code>try_files<\/code> kurallar\u0131n\u0131n do\u011fru oldu\u011fundan emin olun (\u00f6rne\u011fin <code>\/index.php?$args<\/code>). Dosya izinlerini kontrol edin; Nginx&#8217;in web k\u00f6k dizinine ve i\u00e7indeki dosyalara eri\u015fim izni olmal\u0131d\u0131r.<\/p>\n<h4>Permalinks (Kal\u0131c\u0131 Ba\u011flant\u0131lar) \u00c7al\u0131\u015fm\u0131yor<\/h4>\n<p>WordPress admin panelinde kal\u0131c\u0131 ba\u011flant\u0131lar\u0131 ayarlad\u0131ktan sonra 404 hatalar\u0131 al\u0131yorsan\u0131z.<br \/>\n*   <strong>\u00c7\u00f6z\u00fcm:<\/strong> Nginx yap\u0131land\u0131rman\u0131zdaki <code>location \/<\/code> blo\u011funun WordPress&#8217;in rewrite kurallar\u0131n\u0131 do\u011fru bir \u015fekilde i\u00e7erdi\u011finden emin olun: <code>try_files $uri $uri\/ \/index.php?$args;<\/code>. Bu kural, mevcut bir dosya veya dizin bulunamazsa iste\u011fi <code>index.php<\/code>&#8216;ye y\u00f6nlendirir.<\/p>\n<h4>Dosya Y\u00fckleme Boyutu S\u0131n\u0131r\u0131<\/h4>\n<p>WordPress medya y\u00fckleyicisinde b\u00fcy\u00fck dosyalar y\u00fcklemeye \u00e7al\u0131\u015f\u0131rken hata al\u0131yorsan\u0131z.<br \/>\n*   <strong>\u00c7\u00f6z\u00fcm:<\/strong><br \/>\n    *   <strong>Nginx:<\/strong> <code>http<\/code> veya <code>server<\/code> blo\u011funuzda <code>client_max_body_size<\/code> y\u00f6nergesini art\u0131r\u0131n (\u00f6rne\u011fin <code>client_max_body_size 64M;<\/code>).<br \/>\n    *   <strong>PHP-FPM:<\/strong> <code>php.ini<\/code> dosyas\u0131nda (<code>\/etc\/php\/8.1\/fpm\/php.ini<\/code>) <code>upload_max_filesize<\/code> ve <code>post_max_size<\/code> de\u011ferlerini art\u0131r\u0131n (\u00f6rne\u011fin <code>upload_max_filesize = 64M<\/code> ve <code>post_max_size = 64M<\/code>).<br \/>\n    *   De\u011fi\u015fikliklerden sonra Nginx ve PHP-FPM servislerini yeniden ba\u015flatmay\u0131 unutmay\u0131n.<\/p>\n<h4>HTTPS Y\u00f6nlendirme Sorunlar\u0131<\/h4>\n<p>HTTPS&#8217;ye ge\u00e7i\u015f yapt\u0131ktan sonra y\u00f6nlendirme d\u00f6ng\u00fcleri veya karma i\u00e7erik (mixed content) uyar\u0131lar\u0131 al\u0131yorsan\u0131z.<br \/>\n*   <strong>\u00c7\u00f6z\u00fcm:<\/strong><br \/>\n    *   WordPress <code>Ayarlar > Genel<\/code> k\u0131sm\u0131ndaki &#8220;WordPress Adresi (URL)&#8221; ve &#8220;Site Adresi (URL)&#8221; alanlar\u0131n\u0131n <code>https:\/\/<\/code> ile ba\u015flad\u0131\u011f\u0131ndan emin olun.<br \/>\n    *   <code>wp-config.php<\/code> dosyas\u0131nda <code>FORCE_SSL_ADMIN<\/code>, <code>WP_HOME<\/code> ve <code>WP_SITEURL<\/code> tan\u0131mlamalar\u0131n\u0131 do\u011fru bir \u015fekilde yapt\u0131\u011f\u0131n\u0131zdan emin olun.<br \/>\n    *   Nginx&#8217;in HTTP&#8217;den HTTPS&#8217;ye y\u00f6nlendirme kurallar\u0131n\u0131 kontrol edin ve do\u011fru \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olun. <code>add_header Strict-Transport-Security<\/code> ba\u015fl\u0131\u011f\u0131, taray\u0131c\u0131lar\u0131n sitenize her zaman HTTPS \u00fczerinden ba\u011flanmas\u0131n\u0131 zorlar, ancak ilk ziyaretin HTTPS ile yap\u0131ld\u0131\u011f\u0131ndan emin olman\u0131z gerekir.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Nginx ile tek ve \u00e7oklu WordPress site yap\u0131land\u0131rmas\u0131, ba\u015flang\u0131\u00e7ta biraz teknik bilgi gerektirse de, sundu\u011fu performans ve \u00f6l\u00e7eklenebilirlik avantajlar\u0131 g\u00f6z \u00f6n\u00fcne al\u0131nd\u0131\u011f\u0131nda \u00e7abaya de\u011ferdir. Do\u011fru yap\u0131land\u0131rma ile WordPress siteleriniz daha h\u0131zl\u0131 y\u00fcklenir, daha fazla trafi\u011fi kald\u0131rabilir ve daha g\u00fcvenli hale gelir. Bu makalede ele al\u0131nan ad\u0131mlar ve ipu\u00e7lar\u0131, Nginx&#8217;in WordPress i\u00e7in nas\u0131l optimize edilece\u011fine dair kapsaml\u0131 bir rehber sunmaktad\u0131r. Unutulmamal\u0131d\u0131r ki, sunucu yap\u0131land\u0131rmas\u0131 s\u00fcrekli bir bak\u0131m ve izleme s\u00fcrecidir. G\u00fcncellemeleri takip etmek, yedeklemeleri d\u00fczenli yapmak ve g\u00fcvenlik \u00f6nlemlerini s\u00fcrekli g\u00f6zden ge\u00e7irmek, WordPress sitelerinizin Nginx \u00fczerinde sorunsuz ve verimli bir \u015fekilde \u00e7al\u0131\u015fmaya devam etmesini sa\u011flayacakt\u0131r.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Nginx ile Tek ve \u00c7oklu WordPress Site Ayarlar\u0131n\u0131n Yap\u0131land\u0131r\u0131lmas\u0131\nWordPress, d\u00fcnya genelinde milyonlarca web sitesinin temelini olu\u015fturan,","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1504],"tags":[],"class_list":{"0":"post-39088","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-nginx","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Nginx ile Tek ve \u00c7oklu WordPress Site Ayarlar\u0131n\u0131n Yap\u0131land\u0131r\u0131lmas\u0131 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/nginx-ile-tek-ve-coklu-wordpress-site-ayarlarinin-yapilandirilmasi\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Nginx ile Tek ve \u00c7oklu WordPress Site Ayarlar\u0131n\u0131n Yap\u0131land\u0131r\u0131lmas\u0131\" \/>\n<meta property=\"og:description\" content=\"Nginx ile Tek ve \u00c7oklu WordPress Site Ayarlar\u0131n\u0131n Yap\u0131land\u0131r\u0131lmas\u0131 WordPress, d\u00fcnya genelinde milyonlarca web sitesinin temelini olu\u015fturan,\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/nginx-ile-tek-ve-coklu-wordpress-site-ayarlarinin-yapilandirilmasi\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-02-14T05:40:47+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"19 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/nginx-ile-tek-ve-coklu-wordpress-site-ayarlarinin-yapilandirilmasi\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/nginx-ile-tek-ve-coklu-wordpress-site-ayarlarinin-yapilandirilmasi\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Nginx ile Tek ve \u00c7oklu WordPress Site Ayarlar\u0131n\u0131n Yap\u0131land\u0131r\u0131lmas\u0131\",\"datePublished\":\"2026-02-14T05:40:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/nginx-ile-tek-ve-coklu-wordpress-site-ayarlarinin-yapilandirilmasi\/\"},\"wordCount\":2583,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Nginx\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/nginx-ile-tek-ve-coklu-wordpress-site-ayarlarinin-yapilandirilmasi\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/nginx-ile-tek-ve-coklu-wordpress-site-ayarlarinin-yapilandirilmasi\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/nginx-ile-tek-ve-coklu-wordpress-site-ayarlarinin-yapilandirilmasi\/\",\"name\":\"Nginx ile Tek ve \u00c7oklu WordPress Site Ayarlar\u0131n\u0131n Yap\u0131land\u0131r\u0131lmas\u0131 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-02-14T05:40:47+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/nginx-ile-tek-ve-coklu-wordpress-site-ayarlarinin-yapilandirilmasi\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/nginx-ile-tek-ve-coklu-wordpress-site-ayarlarinin-yapilandirilmasi\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/nginx-ile-tek-ve-coklu-wordpress-site-ayarlarinin-yapilandirilmasi\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Nginx ile Tek ve \u00c7oklu WordPress Site Ayarlar\u0131n\u0131n Yap\u0131land\u0131r\u0131lmas\u0131\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Nginx ile Tek ve \u00c7oklu WordPress Site Ayarlar\u0131n\u0131n Yap\u0131land\u0131r\u0131lmas\u0131 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/nginx-ile-tek-ve-coklu-wordpress-site-ayarlarinin-yapilandirilmasi\/","og_locale":"tr_TR","og_type":"article","og_title":"Nginx ile Tek ve \u00c7oklu WordPress Site Ayarlar\u0131n\u0131n Yap\u0131land\u0131r\u0131lmas\u0131","og_description":"Nginx ile Tek ve \u00c7oklu WordPress Site Ayarlar\u0131n\u0131n Yap\u0131land\u0131r\u0131lmas\u0131 WordPress, d\u00fcnya genelinde milyonlarca web sitesinin temelini olu\u015fturan,","og_url":"https:\/\/fatihsoysal.com\/blog\/nginx-ile-tek-ve-coklu-wordpress-site-ayarlarinin-yapilandirilmasi\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-02-14T05:40:47+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"19 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/nginx-ile-tek-ve-coklu-wordpress-site-ayarlarinin-yapilandirilmasi\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/nginx-ile-tek-ve-coklu-wordpress-site-ayarlarinin-yapilandirilmasi\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Nginx ile Tek ve \u00c7oklu WordPress Site Ayarlar\u0131n\u0131n Yap\u0131land\u0131r\u0131lmas\u0131","datePublished":"2026-02-14T05:40:47+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/nginx-ile-tek-ve-coklu-wordpress-site-ayarlarinin-yapilandirilmasi\/"},"wordCount":2583,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Nginx"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/nginx-ile-tek-ve-coklu-wordpress-site-ayarlarinin-yapilandirilmasi\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/nginx-ile-tek-ve-coklu-wordpress-site-ayarlarinin-yapilandirilmasi\/","url":"https:\/\/fatihsoysal.com\/blog\/nginx-ile-tek-ve-coklu-wordpress-site-ayarlarinin-yapilandirilmasi\/","name":"Nginx ile Tek ve \u00c7oklu WordPress Site Ayarlar\u0131n\u0131n Yap\u0131land\u0131r\u0131lmas\u0131 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-02-14T05:40:47+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/nginx-ile-tek-ve-coklu-wordpress-site-ayarlarinin-yapilandirilmasi\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/nginx-ile-tek-ve-coklu-wordpress-site-ayarlarinin-yapilandirilmasi\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/nginx-ile-tek-ve-coklu-wordpress-site-ayarlarinin-yapilandirilmasi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Nginx ile Tek ve \u00c7oklu WordPress Site Ayarlar\u0131n\u0131n Yap\u0131land\u0131r\u0131lmas\u0131"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/39088","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=39088"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/39088\/revisions"}],"predecessor-version":[{"id":39089,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/39088\/revisions\/39089"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=39088"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=39088"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=39088"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}