Nginx'te Temiz URL'lerle PHP'yi Optimize Etme: Açık Kaynak CMS için Bir Rehber

Drupal, WordPress ve Joomla gibi PHP tabanlı CMS'ler için performanstan ödün vermeden temiz, SEO dostu URL'ler elde etmek üzere Nginx'i nasıl yapılandıracağınızı öğrenin.

Açık kaynak meraklısı ve bağımsız bir geliştirici olarak, web sunucularını optimal performans ve SEO için yapılandırma zorluğuyla sık sık karşılaştım. Bugün, Drupal, WordPress ve Joomla gibi PHP tabanlı içerik yönetim sistemleri (CMS) için temiz URL sorununu zarif bir şekilde çözen güçlü bir Nginx yapılandırmasını paylaşmaktan heyecan duyuyorum.

Temiz URL’ler Neden Önemlidir

Yapılandırmaya dalmadan önce, temiz URL’lerin neden çok önemli olduğunu kısaca tartışalım:

  1. Gelişmiş SEO: Arama motorları insan tarafından okunabilir URL’leri tercih eder.
  2. Gelişmiş Kullanıcı Deneyimi: Temiz URL’ler hatırlanması ve paylaşılması daha kolaydır.
  3. Profesyonellik: Sitenize daha cilalı, profesyonel bir görünüm kazandırırlar.

Nginx Yapılandırma Çözümü

İşte amacımıza ulaşan Nginx sunucu bloğu:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
server {
    listen 80;
    server_name www.domain.com;
    index index.html index.htm index.php;
    root /path/to/domain/files;

    location / {
        error_page 404 = //e/index.php?q=$uri;
    }

    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /path/to/domain/files$fastcgi_script_name;
    }

    access_log /usr/local/nginx/logs/domain.access_log;
    error_log /usr/local/nginx/logs/domain.error_log;
}

Yapılandırmayı Analiz Etmek

Temel bileşenleri inceleyelim:

  1. Sunucu Bloğu: Alan adı ve kök dizin dahil olmak üzere temel sunucu ayarlarını tanımlar.

  2. Temiz URL’ler için Konum Bloğu:

    1
    2
    3
    
    location / {
        error_page 404 = //e/index.php?q=$uri;
    }
    

    Bu akıllı hile, 404 hatalarını CMS’inizin index.php’sine yönlendirerek temiz URL’leri işlemesine olanak tanır.

  3. PHP İşleme:

    1
    2
    3
    4
    5
    6
    
    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /path/to/domain/files$fastcgi_script_name;
    }
    

    FastCGI’yi PHP dosyalarını verimli bir şekilde işlemek üzere yapılandırır.

  4. Günlük Tutma: İzleme ve sorun giderme için erişim ve hata günlüklerini ayarlar.

Uygulama İpuçları

  1. www.domain.com‘u gerçek alan adınızla değiştirin.
  2. /path/to/domain/files‘ı sitenizin kök diziniyle eşleşecek şekilde ayarlayın.
  3. PHP-FPM’nizin 127.0.0.1:9000 üzerinde dinlemeye ayarlandığından emin olun.

Sonuç

Bu yapılandırma, Nginx üzerinde PHP tabanlı CMS’ler için temiz URL’leri uygulamak için düzenli bir yaklaşım sunar. Geliştiricilerin karmaşık kurulumlar olmadan sağlam, SEO dostu web siteleri oluşturmasına olanak tanıyan açık kaynak çözümlerinin gücünün ve esnekliğinin bir kanıtıdır.

Bu çözümü uygularken, web geliştirme dünyasının sürekli evrildiğini unutmayın. Meraklı kalın, deney yapmaya devam edin ve kendi yeniliklerinizi toplulukla paylaşmaktan çekinmeyin. Mutlu kodlamalar!

Writing about the internet