20 Tem, 2016

Wp Core Hack yapalım
" Wp Core Hack yapalım "

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 );

Sundomainde çerezleri kapatmak için wp-config.php içine aşağıdaki kodu ekleyin
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..

Bu yazı 33372 Defa okundu, Beğendiyseniz üstteki benzer yazıları okumanızı öneririm, isterseniz site içinde farklı içerikleri arama yapabilirsiniz.

Ali Çömez / Slaweally

Kaldırımda yürürken beyaz çizgilere basmamaya çalışan, Sabah yüzünü yıkarken dirseklerinden su sızmasından nefret eden, Dönerle ayranı aynı anda bitirebilen, son dakikada otobüsü kaçırsada grur yapıp arkasından koşmayan... bir insanım :)

  1. alihandro dedi ki:

    Fazlasıyla yararlı bilgilere yer vermişsin. Eline, emeğine sağlık 😀

  2. 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 😀

  3. kadinanlar dedi ki:

    çok teşekkürler hocam,
    /** WordPress çöp kutusunu boşaltır. */
    define( 'EMPTY_TRASH_DAYS', 10 );

    kullanıyorum hemen 🙂

  4. Ahmet dedi ki:

    İşime yarayan çıkar hepsini okudum, kullanmasam bile faydalı bilgiler edindim teşekkürler hocam 🙂

  5. Muhammet dedi ki:

    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.

  6. Emrah dedi ki:

    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.

  7. Ali dedi ki:

    Vayy iyi kaynak gerçekten. Rss konusunda internette bulduğum kodlar iş görmedi ama buradaki çözüm oldu. Teşekkürler yer imlerindesin 🙂

  8. Emre Özdoğan dedi ki:

    Eyvallah işime yaradı bazıları.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir