Ankara
0 (312) 276 75 93
info@billgatesweb.com

WordPress Web Sitesinde Teknik Kodlama Rehberi

Web Danışmanlık Hizmeti, Seo Hizmeti Al, Mobile Uygulama Yaptır, Back Link Satın Al, Blog Yazdırmak İstiyorum, Makale YAZDIRMA siteleri, Parayla makale YAZDIRMA, Seo makale fiyatları, Sayfa başı yazı yazma ücreti, İngilizce makale yazdırma, Akademik makale YAZDIRMA, Makale Fiyatları 2022, Makale yazma, Blog Yazdırma, Akademik Danışmanlık, Tercüme Danışmanlık & 0 (312) 276 75 93

WordPress Web Sitesinde Teknik Kodlama Rehberi

WordPress ekosisteminde “çalışıyor” ile “üretim kalitesinde” arasında büyük bir uçurum vardır. Bir işlevin lokal ortamda hatasız çalışması; güvenlik, performans, sürdürülebilirlik, test edilebilirlik, geri dönüş (rollback), çoklu ortam (dev–staging–prod), sürüm yönetimi, çoklu kullanıcı ve çok dilli senaryolarda istikrarlı sonuçlar vereceğinin garantisi değildir. Üretim kalitesinde kodlama, yalnızca bir PHP dosyasına fonksiyon yazmak değil; WordPress kodlama standartlarına uyum, hook/action/filter yaşam döngüsünü bilinçli kullanma, güvenli veri akışı (sanitize–validate–escape–nonce), sorgu ve veritabanı katmanı yönetimi, varlık (asset) yükleme stratejileri, REST API ve blok (Gutenberg) geliştirme, i18n/l10n, CI/CD ve otomasyon, ölçüm–log–izleme, bağımlılık ve yapılandırma yönetimi gibi çok katmanlı disiplinlerin toplamıdır.

1) Kodlama Standartları: WordPress Coding Standards (WPCS) ve PSR Dengesi

Amaç: Ekip içi tutarlılık, güvenlik ve okunabilirlik.

  • WPCS + PHPCS: Projeye phpcs.xml ekleyin; WordPress, WordPress-Docs, WordPress-Extra kurallarını etkinleştirin.

  • PSR etkisi: WordPress tarihi gereği PSR-4 yerine kendi tarzını kullanır; yine de autoloading için PSR-4 benimsenebilir.

  • DocBlock disiplini: Fonksiyon/method açıklamaları, parametre/return türleri, @since, @deprecated etiketleri.

Uygulama: CI hattında composer phpcs ile kod kalitesini kırmızıya düşürerek hatalı commit’in prod’a çıkmasını engelleyin.


2) Eylemler ve Filtreler: Yaşam Döngüsüne Uyumlu Tasarım

Amaç: Core, tema ve eklentilerle uyumlu, genişletilebilir mimari.

  • Action vs Filter: Action yan etki yaratır; Filter veriyi alır-değiştirir-döndürür.

  • Örnek:

add_filter(‘the_content’, function($content){
if (is_singular(‘post’)) {
$content .= ‘<div class=”post-cta”>Bültene abone olun</div>’;
}
return $content;
}, 20); // öncelik

  • Öncelik ve parametre sayısı: Çakışmaları azaltmak için uygun öncelik verin; filter/register sırasında $accepted_args doğrudur.

  • Kancaları dokümante edin: Genişleme noktaları için kendi do_action() / apply_filters() kancalarınızı oluşturun ve belgeleyin.


3) Güvenlik Temelleri: Sanitize–Validate–Escape–Nonce Dörtlüsü

Amaç: XSS, CSRF, SQL Injection ve yetkisiz işlemleri engellemek.

  • Sanitize/Validate: Giriş verisini sanitize_text_field, sanitize_email, sanitize_key vb. ile temizleyin; iş kurallarına göre doğrulayın.

  • Escape: Çıkış noktasında esc_html, esc_attr, esc_url, wp_kses kullanın.

  • Nonces: Form/aksiyonlar için wp_nonce_field ve check_admin_referer/wp_verify_nonce.

  • Yetenek kontrolü: current_user_can('edit_post', $post_id) gibi bağlama duyarlı kontroller.

Uygulama: Ödeme webhook’ları, dış API callback’leri ve admin-ajax eylemlerinde nonce + capability + rate limit birlikte uygulanmalı.


4) Varlık Yönetimi: Script/Style Enqueue, Bağımlılıklar ve Sürümleme

Amaç: Performanslı ve çakışmasız asset yüklemesi.

  • Enqueue doğru kullanım: wp_enqueue_script/style yalnızca gerekli sayfalarda; admin ve front ayrımı.

  • Bağımlılıklar: dependencies dizisi ile tek kütüphane birden çok kez yüklenmesin.

  • Sürümleme (cache-bust): Dosya adında hash veya wp_enqueue_script(..., $ver=filemtime()).

  • Defer/async: script_loader_tag filtresiyle kritik olmayan JS’yi erteleyin.

Vaka: Slider kütüphanesi tüm sayfalarda yükleniyordu; koşullu enqueue ile LCP iyileşti.


5) Sorgular ve Döngü: WP_Query, pre_get_posts ve Performans

Amaç: Gereksiz sorgu ve N+1 problemlerini azaltmak.

  • WP_Query yerine pre_get_posts: Birçok listeleme ayarı için global sorguyu değiştirmek daha hafif.

  • Alan seçimi ve cache: update_post_meta_cache/update_post_term_cache bayrakları; büyük listelerde kapatın.

  • Sadece gerekenleri çekin: fields => 'ids' kullanın; sonra toplu meta çekin.

  • Transient/objekte cache: Yoğun sorgular için cache katmanı.

Örnek: Büyük katalogda WP_Query ile 100 ürün ID’si; sonra get_post_meta toplu. TTFB %30 azaldı.


6) Veritabanı Katmanı: $wpdb, prepare() ve Özel Tablolar

Amaç: Güvenli ve sürdürülebilir veri erişimi.

  • $wpdb->prepare() zorunluluğu: Değişkenleri bağla; manuel birleştirmeden kaçın.

  • Index ve şema: Yoğun erişilen sütunlarda index; migration için dbDelta.

  • Özel tablo ne zaman? postmeta/usermeta şişmesi ve raporlama gereksinimlerinde.

Uygulama: Raporlama için wp_reports tablosu, event_time + user_id bileşik index; dbDelta ile versiyonlama.


7) REST API ve Endpoint Tasarımı

Amaç: Harici entegrasyonlar, SPA/SSG ön yüzleri ve otomasyon.

  • Kayıt: register_rest_route('namespace/v1', '/items', [...])

  • İzin kontrolü: permission_callback içinde current_user_can/token doğrulama.

  • Schema ve “partial response”: Büyük nesnelerde gereksiz alan göndermeyin; sayfalama ve filtre parametreleri ekleyin.

Vaka: Mobil uygulama için özel /v1/menu endpoint’i; menü ağacı ve etag/last-modified ile cache’lenebilir yanıt.


8) Gutenberg (Blok) Geliştirme: Editör Deneyimini Kodla Tasarlamak

Amaç: İçerik üreticilerine güvenli ve yönlendirilmiş şablonlar sağlamak.

  • Dinamik vs statik blok: Sunucu tarafı render (PHP) ile veri taze; statik blokta build aşamasında HTML üretimi.

  • Block supports: spacing, color, typography sınırlarıyla tasarımı koruyun.

  • Pattern ve Template Lock: Sayfa düzenini sabitleyerek markaya aykırı içerikleri önleyin.

Uygulama: “Vaka Çalışması” blok paketi: özet, metrikler, CTA; editör yalnızca doldurur, tasarım bozulmaz.


9) Shortcode’lar, Widget’lar ve mu-plugins

Amaç: Kurumsal işlevleri merkezileştirmek ve kalıcı kılmak.

  • Shortcode: İçeriğe gömülü işlevler için sınırlı ve güvenli kullanım.

  • Widget/Block dönüşümü: Eski widget mantıklarını bloklara taşıyın.

  • mu-plugins: Site-özgü kritik kodları tema/eklenti güncellemelerinden izole edin.

Vaka: “Kurumsal veri çekme” işlevi mu-plugine taşındı; tema değişse de iş akışı bozulmuyor.


10) Uluslararasılaştırma (i18n) ve Yerelleştirme (l10n)

Amaç: Çok dilli sitelerde sürdürülebilir çeviri akışı.

  • Metin sarma: __(), _e(), _x(); metin alanlarını domain ile etiketleyin.

  • .pot üretimi: wp i18n make-pot ile otomasyon.

  • RTL ve tarih/sayı biçimleri: Yerelleştirilmiş formatlar; çeviri ekipleri için readme.

Uygulama: Eklenti yayın pipeline’ında otomatik .pot güncelleme ve PO/MO paketleme.


11) Medya, Görsel Boyutları ve Dönüştürme

Amaç: Hız ve kalite dengesi, CLS’nin önlenmesi.

  • Görsel boyutları: add_image_size ile gerektiği kadar boyut; srcset/sizes aktifleştirme.

  • Formatlar: WebP/AVIF dönüşümü sunucu veya CDN’de.

  • Yer tutucular: Genişlik/yükseklik öznitelikleriyle layout kaymasını önleyin.

Vaka: Ürün galerisinde dinamik boyutlar CLS yaratıyordu; sabit oranlı kapsayıcı + object-fit ile düzeldi.


12) Cron, Kuyruklar ve Uzun Süreli İşler

Amaç: Kullanıcı isteğini kilitlemeden ağır görevleri çalıştırmak.

  • Gerçek cron: Trafik tetiklemeli wp-cron.php yerine sistem cron.

  • Queue yaklaşımı: Batch e-posta, dış API senkronizasyonu için kuyruk (Action Scheduler vb.).

  • İzleme: Cron/kuyruk durum panosu, timeout ve yeniden deneme (retry) politikası.

Uygulama: Ürün içe aktarımları 500’lük paketler halinde, her 5 dakikada bir; timeout 30 sn, 3 deneme.


13) Performans ve Önbellek Stratejileri

Amaç: LCP/INP/CLS hedeflerine ulaşmak, sunucu yükünü azaltmak.

  • Katmanlar: Nesne önbelleği (Redis/Memcached), sayfa önbelleği (Nginx/Apache), CDN.

  • Purge kuralları: Yalnız ilgili sayfaları temizleyin (yazı, kategori, ana sayfa).

  • Transient/Options: Kalkıcı cache için transient ve wp_options kullanımında TTL/temizlik planı.

Vaka: Blog index’inde pahalı sorgu transient’e alındı, TTL 10 dk; cache hit ratio %80’e çıktı.


14) Hata Ayıklama ve İzleme: WP_DEBUG, Loglar, Query Monitor

Amaç: Sorunları kullanıcıdan önce fark etmek.

  • Ortam değişkenleri: WP_DEBUG, WP_DEBUG_LOG, SCRIPT_DEBUG yalnızca dev/staging’de açık.

  • Query Monitor: Ağır sorgular, Object Cache hit/miss, hook sırası.

  • Merkezi loglama: PHP-FPM, web sunucusu ve uygulama loglarını bir havuzda toplayın.

Uygulama: Bir üçüncü taraf API gecikmesi TTFB’yi bozuyordu; timeout + fall back ile çözüldü.


15) Bağımlılık Yönetimi: Composer, Autoload ve Sürüm Sabitleme

Amaç: Tekrarlanabilir kurulum ve minimum çatışma.

  • Composer kullanın: Eklenti/kitaplık sürümlerini sabitleyin; composer.lock sürümleyin.

  • PSR-4 autoload: composer.json ile src/ altını otomatik yükleme.

  • Özel depolar: Özel eklentileri repositories ile dahil edin.

Vaka: Rasgele güncellenen SDK sürümü prod’da hata yaptı; ^1.4 yerine 1.4.6 sabitleyerek stabilize edildi.


16) Yapılandırma Yönetimi: .env, wp-config.php ve Sırlar

Amaç: Kod–konfigürasyon ayrımı, güvenli sır yönetimi.

  • Çevresel değişkenler: DB, API anahtarları .env veya gizli kasada (Vault).

  • wp-config.php katmanları: Ortam bazlı yüklemeler (DEV/STAGE/PROD).

  • Salt anahtarları: Düzenli rotasyon; repoda sır tutmayın.

Uygulama: .env dışı sırlar yalnız kasadan okunur; erişimler loglanır.


17) Rol/Yetenek (Capability) ve Güvenli Yönetim Deneyimi

Amaç: Asgari yetki ilkesi (PoLP).

  • Özel roller: Editör, içerik yöneticisi, geliştirici; yalnız gerekli capability’ler.

  • Admin kısıtlama: Kritik sayfaları yalnız yüksek yetkili kullanıcı görsün.

  • Denetim izi: Kim, ne zaman, ne yaptı? Log ve raporlama.

Vaka: Yanlış rol atamasıyla gereksiz menüler görünüyordu; özel rol seti ve menü kısıtları ile düzeltildi.


18) Admin UX Özelleştirme: Metabox, Screen Options, List Table

Amaç: Editör verimliliği ve hata payını azaltmak.

  • Metabox mantığı: Zorunlu/opsiyon alanlar; açıklama ve doğrulama.

  • List table özelleştirme: Özel sütunlar, filtreleme, hızlı işlemler.

  • Rehberlik: Alan altına ipucu metinleri; doğrulama hatalarını kullanıcı dostu gösterin.

Uygulama: “Vaka Çalışması” içerik tipinde KPI alanları zorunlu; liste ekranında filtrelenebilir sütunlar.


19) Test Otomasyonu: PHPUnit, Playwright/Cypress ve WP-CLI

Amaç: Değişikliklerden korkmadan dağıtım.

  • Unit test: İş kuralları, yardımcı fonksiyonlar.

  • Entegrasyon/e2e: Form gönderimi, giriş, arama, ödeme gibi kritik akışlar.

  • WP-CLI komut testleri: Geliştirici araçları için.

Vaka: “Sipariş akışı kırılmasın” duman testi: her dağıtım sonrası 30 sn’de sonuç; başarısızlıkta auto-rollback.


20) Sürekli Entegrasyon/Dağıtım (CI/CD) ve Rollback

Amaç: Tutarlı, güvenli ve hızlı yayın.

  • Adımlar: Lint → test → build → paket → staging → onay → prod → smoke test.

  • Artefaktlar: Sürüm etiketli build; changelog ve hash.

  • Rollback: Tek komutla bir önceki istikrarlı sürüme dönüş.

Uygulama: “Go/No-Go” kontrol listesi, dağıtım süresince read-only DB politika.


21) Çoklu Site (Multisite) ve Çoklu Bölge

Amaç: Paylaşılan kod, ayrık içerik ve bölgesel ayarlar.

  • Ağ etkinleştirme: Eklenti/tema ağ düzeyinde; site bazlı override.

  • Bölgeye özgü konfig: CDN, para birimi, dil.

  • Performans: Kullanıcı ve meta tablolarında ölçek stratejileri.

Vaka: Çoklu markada ortak blok kütüphanesi; marka özel CSS yalnız o sitede yükleniyor.


22) SEO-Teknik Uyum: Canonical, Schema, Sitemap ve Robots

Amaç: Kodla garantilenen arama görünürlüğü.

  • Kanonik: Liste/parametreli sayfalarda doğru canonical üretimi.

  • Schema: JSON-LD ile Article/Organization/Breadcrumb.

  • Dinamik sitemap: Büyük sitelerde parça parça (index sitemap).

Uygulama: İçerik yayınlandıktan sonra ilgili sayfaların CDN purge ve sitemap ping’i tetiklenir.


23) Dış Servisler ve Dayanıklılık: Timeouts, Retries, Circuit Breaker

Amaç: Harici API’lerin sisteme zarar vermesini engellemek.

  • Timeout: 2–5 sn üstü uygun değil; bağlama göre ayarlayın.

  • Retry: Artan bekleme (exponential backoff).

  • Circuit breaker: Belirli hata oranında geçici devre dışı bırakma.

Vaka: Ödeme doğrulama API’si gecikti; local queue ve retry ile kullanıcı akışı donmadı.


24) Loglama, Telemetri ve Alarm

Amaç: Gözlemlenebilirlik (observability) kültürü.

  • Uygulama logları: JSON format, korelasyon ID.

  • Metrikler: Response time, hata oranı, cache hit.

  • Alarm kanalları: CRITICAL/MAJOR/MINOR ayrımı; on-call rotası.

Uygulama: 500 hataları için otomatik olay bileti; kök neden analizi (RCA) dokümantasyonu.


25) Vaka Çalışması: “Yavaşlayan Blog ve Kararan Yönetim Paneli”

Sorun: Son 3 ayda içerik ekleme ve listeleme sayfaları yavaşladı; arada 500 hataları görülüyor.
Analiz:

  • Query Monitor: wp_postmeta aşırı şişmiş, LIKE aramaları ağır.

  • Üç eklenti aynı JS kütüphanesini yüklüyor, çakışma var.

  • Cron tetiklediği toplu içe aktarma işleminde memory leak.
    Çözüm:

  • postmeta temizlik + uygun index; pahalı sorgular transient ile cache.

  • Asset manifest ve koşullu enqueue; tekrar eden kütüphaneler kaldırıldı.

  • İçeri aktarma kuyruğa taşındı; her batch 200 kayıt, memory limit izlendi.
    Sonuç: TTFB %35 iyileşti, panel hataları sona erdi.


26) Kod İnceleme (Code Review) ve Bilgi Üretimi

Amaç: Tek kişinin bilgisine bağımlı olmayan, kolektif kalite.

  • PR şablonu: Değişiklik kapsamı, risk, test adımları, geri alma planı.

  • Check-list: Güvenlik, performans, i18n, dokümantasyon, testler.

  • Bilgi tabanı: Sık sorunlar için KBA; runbook’larla entegre.

Uygulama: Her major değişiklikte en az iki onay; kritiklerde zorunlu QA.


27) Lisans ve Telif Uyumları

Amaç: Açık kaynak uyumu ve yasal risklerin önlenmesi.

  • Lisans bildirimi: Üçüncü taraf kütüphaneler; NOTICE dosyası.

  • Ticari kullanım: Lisans koşulları ve atıf; tema/eklenti dağıtımında lisans metinleri.

  • Medya telifleri: DAM entegrasyonu ve meta verilerle telif takibi.

Vaka: Lisans uyumsuzluğu nedeniyle stok görsel dosyaları kaldırıldı; otomatik telif kontrolü eklendi.


28) Eğitim, Onboarding ve İç Rehberler

Amaç: Süreklilik ve hız.

  • Onboarding paketi: Geliştirme ortamı, make/npm komutları, debug ve test rehberi.

  • Kod örnekleri: Blok, REST, enqueue, nonce, $wpdb->prepare() kalıpları.

  • İç eğitim: Üç ayda bir “WordPress Kod Standardı” oturumu.

Uygulama: Yeni geliştirici ilk haftasında üretken; PR kalitesi hızla standart seviyeye gelir.


Sonuç: Üretim Kalitesinde WordPress için Disiplinli Bir Mühendislik Yaklaşımı

Bu rehberde ele aldığımız başlıklar—kodlama standartları, hook temelli mimari, güvenli veri akışı, sorgu/veritabanı yönetimi, varlık yükleme ve sürümleme, REST API ve Gutenberg blokları, i18n/l10n, cron/kuyruk, cache ve performans, hata ayıklama ve gözlemlenebilirlik, bağımlılık ve yapılandırma yönetimi, test–CI/CD–rollback—bir araya geldiğinde WordPress kod tabanınız yalnızca “çalışan” değil, dayanıklı, ölçeklenebilir, denetlenebilir ve hızlı iterasyona uygun hale gelir.

Bugün atacağınız küçük ama sistematik adımlar (örn. prepare() kullanmaya zorlayan kod inceleme kuralı, asset koşullu yükleme, i18n disiplini, cron yerine kuyruk, CI’da otomatik duman testleri) yarın daha az kesinti, daha düşük bakım maliyeti, daha yüksek SEO ve dönüşüm olarak geri döner. Unutmayın: “Kaliteli kod” tek bir dosya değil; süreç + standart + otomasyon + ölçüm dengesidir. WordPress’in esnekliğini, mühendislik disiplininizle birleştirdiğinizde, kurumsal sınıf bir içerik platformu elinizde olur—güvenli, hızlı ve uzun ömürlü.

Bill Gates Web: Profesyonel Çözümler Sunan Güvenilir Partneriniz

Bill Gates Web, dijital dünyada varlık gösteren herkes için kapsamlı çözümler sunan öncü bir platformdur. Web tasarım, yazılım geliştirme, uygulama ve programlama gibi birçok alanda uzmanlaşmış olan ekibimiz, sizin işinizi büyütmeniz için gereken her şeyi sunmak için burada. Sektördeki en son teknolojilere hakim olan ekibimiz, projenizin başarılı bir şekilde hayata geçirilmesini sağlamak için elinden gelenin en iyisini yapar.

Dijital Varlığınızı Güçlendirecek Profesyonel Dokunuşlar

Bill Gates Web olarak, işinizi bir adım öteye taşıyacak benzersiz çözümler sunuyoruz. İhtiyaçlarınıza özel olarak tasarlanmış web siteleri, kullanıcı dostu arayüzler, özelleştirilmiş yazılımlar ve mobil uygulamalarla dijital varlığınızı güçlendiriyoruz. Ayrıca, itibar danışmanlığı hizmetimizle markanızın çevrimiçi itibarını korumak ve geliştirmek için size rehberlik ediyoruz.

İlerlemenin Anahtarını Bugün Yakalayın

Siz de işinizi dijital dünyada büyütmek ve ilerlemek istiyorsanız, Bill Gates Web sizin için doğru adres. Profesyonel ekibimizle çalışarak, rekabetin önüne geçecek çözümlerle tanışabilir, başarıya giden yolda adımlarınızı sağlam atabilirsiniz. Hemen bizimle iletişime geçin ve dijital dünyadaki potansiyelinizi keşfedin!

 

Bir yanıt yazın

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