Merhabalar efenim.
Şimdi sizinle Wp Core Hack yapalım mı ? hadi başlayalım, ama başlamadan önce neden yaptığımızı konuşalım isterseniz.
Wp Core Hack nedir ? Kabaca anlatılmak istenirse Wodpress sistemin çekirdek kodları ile oynanarak istenilen seviyede temiz bir wordpress elde etmektir. kısaca wordpress orjinal halinden biraz çıkaracağız WordPress’ı 🙂
##————————##
WordPress yönetim paneli içindeki editör kısmını kapatmak için aşağıdaki kodları wp-config.php dosyası içine eklemeniz yeterli.
define( 'DISALLOW_FILE_EDIT', true );
WordPress yorum alaında html yorum yazmaya olanak sağlar ki bu durum biraz sıkıcı olabilir kapatmanızda fayda var. bunun için temanızın fonction.php içine aşağıdaki kodu ekleyin.
add_filter( 'pre_comment_content', 'esc_html' );
WordPress revisyonlarını yazı yazarken yazınızı otomatik kaydetme özelliğidir bir süre sonra sistemde şişmeye neden olabilir. bu özelliği kapatmak için wp-config.php içine ekleyin.
define( 'WP_POST_REVISIONS', false); ###(tamamen kapatmayıp 3 defa kaydetsin diyebilirsiniz)
define( 'WP_POST_REVISIONS', 3); ###(Bu kodu eklerseniz 2 dakikada bir kayıt alır)
define( 'AUTOSAVE_INTERVAL', 120 );
WordPress Rss beslemelerini devredışı bırakmak için aşağıdaki kodları temanızın fonction.php dosyasınaekleyin.
function disable_our_feeds() { wp_die( __('RSS KAPALI !!') ); } add_action('do_feed', 'disable_our_feeds', 1); add_action('do_feed_rdf', 'disable_our_feeds', 1); add_action('do_feed_rss', 'disable_our_feeds', 1); add_action('do_feed_rss2', 'disable_our_feeds', 1); add_action('do_feed_atom', 'disable_our_feeds', 1);
##Rss kapatmayıp rsslere kendi logonuzu eklemek için aşağıdaki kodu temanın fonction.php içine ekleyin.
function add_rss_logo($content) { if(is_feed()) { $content .= "<hr><a href='blog_url'><img src='logo_url'/></a>"; } return $content; } add_filter('the_content', 'add_rss_logo'); add_filter('the_excerpt_rss', 'add_rss_logo');
WordPress version bilgisini değiştirme veya tamamen kapatmak için aşağıdaki kodu functions.php dosyasina ekleyin;
remove_action('wp_head', 'wp_generator'); ##Veya wp-includes dizinimizde yer alan default-filters.php dosyasındaki; add_action('wp_head', 'wp_generator'); ##kodunun başına // koyarak yorum satırı haline getirin. // add_action('wp_head', 'wp_generator');
WordPress Rest API özelliğinin kapatılması için aşağıdaki kodu temanızın functions.php dosyasina ekleyin.
add_filter('rest_enabled', '__return_false'); add_filter('rest_jsonp_enabled', '__return_false'); ##Head tag içinden de kaldırmak için; remove_action( 'wp_head', 'rest_output_link_wp_head', 10 ); remove_action( 'wp_head', 'wp_oembed_add_discovery_links', 10 );
WordPress Url tahminini kapatmak için aşağıdaki kodu temanızın functions.php dosyasina ekleyin.
add_filter('redirect_canonical', 'stop_guessing'); function stop_guessing($url) { if (is_404()) { return false; } return $url; }
WordPress yönetim çubuğunun kapatılması için aşağıdaki kodu temanızın functions.php dosyasina ekleyin.
add_filter('show_admin_bar', '__return_false');
WordPress için sürekli giriş çıkış yapmak yorucu oluyor diyorsanız aşağıda kodu fonction.php içine ekleyin ancak benim önerim bu özelliği kullanmamanızdır veya kullanmak isterseniz de sadece kişisel bilgisayarınızda kullanın.
add_filter( 'auth_cookie_expiration', 'stay_logged_in_for_1_year' ); function stay_logged_in_for_1_year( $expire ) { return 31556926; // 1 year in seconds }
WordPress içinde yazılarınızda yorumlarda vs emojileri kullanmak isteiyorsanız aşağıdaki kodu temanızın fonctions.php içine ekleyin.
remove_action( 'wp_head', 'print_emoji_detection_script', 7 ); remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
WordPress sitenizde yorum alanındaki website inputunu kapatmak için aşağıdaki kodu temanızın foctions.php dosyası içine ekleyin.
add_filter(‘comment_form_default_fields’, ‘unset_url_field’); function unset_url_field($fields){ if(isset($fields[‘url’])) unset($fields[‘url’]); return $fields; }
WordPress js ve css dosyalarını header’dan kaldırmak için aşağıdaki kodu temanızın fonctions.php içine ekleyin.
remove_action('wp_head', 'wp_print_scripts'); remove_action('wp_head', 'wp_print_head_scripts', 9); remove_action('wp_head', 'wp_enqueue_scripts', 1); add_action('wp_footer', 'wp_print_scripts', 5); add_action('wp_footer', 'wp_enqueue_scripts', 5); add_action('wp_footer', 'wp_print_head_scripts', 5);
Bileşenlerin kaldırılması için aşağıdaki kodu temanızın fonctions.php dosyası içine eklemeniz yeterli.
function jpb_unregister_widgets(){ unregister_widget('WP_Widget_Pages'); unregister_widget('WP_Widget_Calendar'); unregister_widget('WP_Widget_Archives'); unregister_widget('WP_Widget_Links'); unregister_widget('WP_Widget_Meta'); unregister_widget('WP_Widget_Search'); unregister_widget('WP_Widget_Text'); unregister_widget('WP_Widget_Categories'); unregister_widget('WP_Widget_Recent_Posts'); unregister_widget('WP_Widget_Recent_Comments'); unregister_widget('WP_Widget_RSS'); unregister_widget('WP_Widget_Tag_Cloud'); unregister_widget('WP_Nav_Menu_Widget'); } add_action( 'widgets_init', 'jpb_unregister_widgets' );
Metaboxları kapatmak için fonctions.php içine aşağıdaki kodu ekleyin ancak kodu kendinize göre düzenlemeyi unutmayın.
add_action( 'add_meta_boxes', 'wpn_metabox_kaldirmaca' ); function wpn_metabox_kaldirmaca() { if( ! current_user_can('manage_options') ) { remove_meta_box( 'commentsdiv', 'post', 'normal' ); remove_meta_box( 'revisionsdiv', 'post', 'normal' ); remove_meta_box( 'authordiv', 'post', 'normal' ); remove_meta_box( 'slugdiv', 'post', 'normal' ); remove_meta_box( 'postexcerpt', 'post', 'normal' ); remove_meta_box( 'formatdiv', 'post', 'normal' ); remove_meta_box( 'trackbacksdiv', 'post', 'normal' ); remove_meta_box( 'postcustom', 'post', 'normal' ); remove_meta_box( 'commentstatusdiv', 'post', 'normal' ); remove_meta_box( 'tagsdiv-post_tag', 'post', 'side' ); remove_meta_box( 'categorydiv', 'post', 'side' ); remove_meta_box( 'postimagediv', 'post', 'side' ); remove_meta_box( 'pageparentdiv', 'page', 'side' ); } }
##bu kısım için detaylı bilgiyi burada bulabilirsiniz.
Otomatik güncellemelerin yapılması için aşağıdaki kodu wp-config.php içine ekleyin. ancak her güncelleme yaptığınız core hack işlemlerini değiştireceğini unutmayın.
define( 'WP_AUTO_UPDATE_CORE', true ); ##Bu özelliği beğenmeyip sonra kapatmak için ise bunu kullanın. define( 'WP_AUTO_UPDATE_CORE', false );
define( 'COOKIE_DOMAIN', 'www.alicomez.com' );
Debug/Hata modunu açma veya kapatak için alttaki kodları wp-config.php içine ekleyin varsa düzenleyin.
define( 'WP_DEBUG', true ); //Hataları ekrana basar define( 'WP_DEBUG', false ); // Hataları gizler (varsayılandır)
Javascriptleri tek urlde birleştirmek için aşağıdaki kodu wp-config.php içine ekleyin.
define( 'CONCATENATE_SCRIPTS', false );
Cache sisteminin aktif etmek için veya devredışı bırakmak için wp-config.php içinden düzenleyin.
define( 'WP_CACHE', true );
Savequery modunu aktif etmek için alttaki kodu wp-config.php içine ekleyin.
define( 'SAVEQUERIES', true );
Zamanlama / Cron işlemini kapatmak için aşağıdaki kodu wp-config.php içine eklyin.
define( 'DISABLE_WP_CRON', true );
WordPress çöp kutusunu kendisi boşaltması için zamanlama yapabilirsiniz bunun için alttaki kodu wp-config.php içine ekleyin.
define( 'EMPTY_TRASH_DAYS', 30 ); // 30 güne eşittir
Veritabanı optimizasyonu için aşağıdaki kodu wp-config.php içine ekleyin. ardından siteadresiniz.com/wp-admin/maint/repair.php adresine gidin.
define( 'WP_ALLOW_REPAIR', true );
Tema ve Eklenti güncellemesini iptal etmek için aşağıdaki kodu wp-config.php içine ekleyin.
define( 'DISALLOW_FILE_MODS', true );
Admin panelde SSL ‘ e zorlamak için aşağıdaki kodu wp-config.php içine ekleyin.
define( 'FORCE_SSL_ADMIN', true );
Resim düzenlemesini kapatmak için aşağıdaki kodu wp-config.php içine ekleyin.
define( 'IMAGE_EDIT_OVERWRITE', true );
Temanızı varsayılan yapmak için (2 admin varsa temayı değiştirmeye kalksa bile sabit tema kullanılması için)
wp-config.php içine ekleyin
define('WP_DEFAULT_THEME', 'tema-ismi');
WordPress’ın memory kullanım limitini artırmak için wp-config.php içine ekleyin.
define('WP_MEMORY_LIMIT', '64M');
Multisite aktif etmek için wp-config.php içine ekleyin.
define('WP_ALLOW_MULTISITE', true);
Config yolunu değiştirmek için wp-config içine ekleyin.
define('ABSPATH', dirname(__FILE__) . '/'); require_once(ABSPATH . '../dizin/dizi/wp-config.php');
Content dizin adresini değiştirmek için wp-config.php içine ekleyin.
define( 'WP_CONTENT_DIR', dirname( __FILE__ ) . 'path/to/wp-content' ); define( 'WP_CONTENT_URL', 'http://' . $_SERVER['HTTP_HOST'] . '/path/to/wp-content' );
Eklenti dizininin yolunu değiştirmek için config içine ekleyin.
define( 'WP_PLUGIN_DIR', dirname(__FILE__) . '/path/to/plugins' ); define( 'WP_PLUGIN_URL', 'http://' . $_SERVER['HTTP_HOST'] . '/path/to/plugins' );
Login sayfasında SSL’e zorunlu tutmak için config içine ekleyin
define('FORCE_SSL_LOGIN', true);
Site dilini değiştirmek için config içine ekleyin.
define('WPLANG', 'tr_TR');
Anasayfada gösterilecek kelime sayısı için fonctions.php içine ekleyin. return 75 kaç kelime gösterileceği sayıdır.
add_filter('excerpt_length', 'my_excerpt_length'); function my_excerpt_length($len) { return 75; }
Meta açıklamasını otomatik yapmask için fonctions.php içine aşağıdaki kodu ekleyin.
function create_meta_desc() { global $post; if (!is_single()) { return; } $meta = strip_tags($post->post_content); $meta = strip_shortcodes($post->post_content); $meta = str_replace(array("\n", "\r", "\t"), ' ', $meta); $meta = substr($meta, 0, 125); echo ""; } add_action('wp_head', 'create_meta_desc');
WordPress otomatik Facebook OG Meta tagları ekleme kodu
function add_facebook_open_graph_tags() { if (is_single()) { global $post; $image = get_post_meta($post->ID, 'thesis_post_image', $single = true); if (!$image) $image = 'Varsayılan resim Url'; ?> <meta property="og:title" content="<?php the_title(); ?>" /> <meta property="og:type" content="article" /> <meta property="og:image" content="<?php echo $image; ?>" /> <meta property="og:url" content="<?php the_permalink(); ?>" /> <meta property="og:description" content="<?php echo get_bloginfo('description'); ?>" /> <meta property="og:site_name" content="<?php echo get_bloginfo('name'); ?>" /> <meta property="fb:admins" content="Facebook kullanıcı adı" /> <?php } } add_action('wp_head', 'add_facebook_open_graph_tags',99);
WordPress çekirdek güncellemesini otomatik yaptırmak için wp-config.php içine ekleyin.
define( 'WP_AUTO_UPDATE_CORE', true );
Şİmdilik bu kadar beyler zaman buldukça aklıma yenileri geldikçe ekleyeceğim.
Dökümanın hazırlanmasına gelince şu anda saat 01:18 ve bu dökümanı hazırlamaya başama saatim 21:30, ve güzel bir makale çıkardım galiba 🙂
Saygılarla..
Fazlasıyla yararlı bilgilere yer vermişsin. Eline, emeğine sağlık 😀
Eyvallah dostum 🙂
Gelmiş geçmiş en iyi döküman olabilir ayrı ayrı aramak yerine tek makalede hepsine şahane şekilde el atmışsın ellerine sağlık hafız 😀
Eyvallah moruk 🙂 devamı gelecek zaman budukça.
çok teşekkürler hocam,
/** WordPress çöp kutusunu boşaltır. */
define( 'EMPTY_TRASH_DAYS', 10 );
kullanıyorum hemen 🙂
İşime yarayan çıkar hepsini okudum, kullanmasam bile faydalı bilgiler edindim teşekkürler hocam 🙂
Eyvallah reyiz 😉
Teşekkürler Ali,
Wordpress zırt pırt güncelleme geldi dememesi için otomatik güncelleme varmı varsa eklersen iyi olur valla 🙂 he birde şey var resimlere otomatik alt etiketi ekleme onu görmüştüm biyerde onu da bu yazıya ekle yapabilirsen.
define( 'WP_AUTO_UPDATE_CORE', true );
config.php içine eklersen kendisi yapar sana sormadan 🙂
Eline sağlık gerçekten güzel bir makale çıkarmışsın, bu konuya yeni özrllikler ekleyip yazıyı sürekli güncel tutmanj öneririm.
Saygılar sevgiler.
Vakit buldukça yeni özelikleri ekliyorum zaten konuyu ilk yazdığım hali yok şu anda 🙂
Vayy iyi kaynak gerçekten. Rss konusunda internette bulduğum kodlar iş görmedi ama buradaki çözüm oldu. Teşekkürler yer imlerindesin 🙂
İşinize yaraması çok güzel zira boşuna yazmamış oldum 🙂
Eyvallah işime yaradı bazıları.