WordPress Hakkında Bilinmesi Gerekenler (Sadece Gerçek Uzmanların Bildiği Detaylar)

WordPress Hakkında Bilinmesi Gerekenler (Sadece Gerçek Uzmanların Bildiği Detaylar)

WordPress’i herkes “bir tema kur, eklenti yükle, yazı yaz” sanıyor. Ama alt katmanda, bilinmeyen çok güçlü özellikler, devre dışı bırakılmış yetenekler ve gizli ayarlar var.
Eğer bir adım öne geçmek istiyorsan, bu bilinmesi gerekenleri mutlaka oku ve uygula!


🔍 1. WordPress’in wp-config.php Dosyası Sadece Ayar Dosyası Değildir!

Geliştirici Hack’leri:

🔒 WP Yönetim Paneline IP Kısıtlaması:

if ($_SERVER['REMOTE_ADDR'] !== '111.222.333.444') {
die('Yetkisiz giriş');
}

🔍 Hataları Açma / Kapatma:

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true); // wp-content/debug.log

🚀 Otomatik Kaydetme Süresini Uzat:

define('AUTOSAVE_INTERVAL', 300 ); // 5 dakika

🔁 Revisions (sürüm geçmişi) sayısını sınırla:

define('WP_POST_REVISIONS', 5 );

🧩 2. WordPress’te Gerçek Zamanlı “Transients API” Kullanımı

Çoğu kişi bilmez: Transients API, önbellekleme ve geçici veri saklama için mükemmeldir. Özellikle API verisi çekerken:

$data = get_transient('guncel_doviz_kurlari');

if (!$data) {
$response = wp_remote_get('https://api.ex.com/rates');
$data = wp_remote_retrieve_body($response);
set_transient('guncel_doviz_kurlari', $data, 60 * 30); // 30 dakikalık cache
}
echo $data;

⚙️ 3. mu-plugins Klasörü: Hiç Değiştirilemeyen Gizli Eklenti Alanı

WordPress’te wp-content/mu-plugins/ klasörü özel bir alandır.
Buraya attığın PHP dosyaları silinebilir, devre dışı bırakılabilir değildir – otomatik ve zorunlu olarak çalışır!

🔥 Kritik kullanım: Lisans sistemi, güvenlik kalkanı veya admin paneli gizleme gibi kodlar için birebir!


🛡️ 4. REST API’yi Sadece Adminlere Açmak

WordPress’in REST API’si dışarıya tüm içerik verilerini sunar.
Hacker’ların açık aradığı yer burası olabilir:

add_filter('rest_authentication_errors', function($result) {
if (!is_user_logged_in()) {
return new WP_Error('rest_cannot_access', 'REST API sadece giriş yapanlara açıktır.', ['status' => 401]);
}
return $result;
});

🔒 5. Kendi Admin Login URL’ni Belirle (Kodla, Eklentisiz!)

add_action('init', function(){
if ($_SERVER['REQUEST_URI'] == '/gizlipanel') {
require_once(ABSPATH . 'wp-login.php');
exit;
}
});

🧠 6. wp_cron Aslında Gerçek Cron Değildir!

WordPress’in zamanlayıcı sistemi, siteye biri girdiğinde çalışır.
Ama düşük trafikli sitelerde bu görevler çalışmaz.

💡 Çözüm: wp-cron’u devre dışı bırak ve sunucudan gerçek cron ayarla.

wp-config.php içine:

define('DISABLE_WP_CRON', true);

Sonra cPanel → Cron →

bashKopyalaDüzenle*/5 * * * * wget -q -O - https://seninsite.com/wp-cron.php?doing_wp_cron > /dev/null 2>&1

📁 7. functions.php yerine Kendi Minik Plugin’inizi Yazın

functions.php sadece tema aktifken çalışır. Ama eklenti globaldir.

1. wp-content/plugins/ozel-fonksiyonlar.php

<?php
/*
Plugin Name: Cantürk Tools
*/
add_action('wp_footer', function(){
echo '<!-- Footer’a özel kod eklendi -->';
});

2. WordPress panelinden aktif et!


🐌 8. Admin Panelinde Kullanıcıya Göre Alan Gizleme

add_action('admin_menu', function() {
if (!current_user_can('administrator')) {
remove_menu_page('tools.php');
remove_menu_page('plugins.php');
}
});

📸 9. Media Library’ye SVG Desteği (Gizli ve Güvenlikli)

function svg_upload_allow($mimes) {
$mimes['svg'] = 'image/svg+xml';
return $mimes;
}
add_filter('upload_mimes', 'svg_upload_allow');

🕵️ 10. Kimin Hangi Sayfada Olduğunu Anlık Gör (Admin Panelde Mini Takip)

add_action('admin_bar_menu', function($wp_admin_bar){
if (is_user_logged_in()) {
$current = wp_get_current_user();
$wp_admin_bar->add_node([
'id' => 'user-activity',
'title' => 'Hoş geldin ' . $current->display_name,
]);
}
}, 100);

🎯 Sonuç:

WordPress, yüzeyde basit görünebilir; ama çekirdeğinde tam anlamıyla bir geliştirici cenneti yatıyor.
Bu yazıda öğrendiğin bilgiler sayesinde artık sadece bir “WordPress kullanıcısı” değil, gerçek bir WordPress uzmanı olma yolundasın.

Leave a Reply

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

Başa dön