WordPress Teması HEAD Bölümünü ve Gereksiz JS ve CSS Dosyalarını Temizleyin
Yayınlanan: 2018-09-04WordPress çekirdek reklamları, sitenin HTML head
bölümünde isteseniz de istemeseniz de oldukça fazla kod içeriyor. Bu kod işe yaramaz olmaktan uzaktır ve çoğu sitede bir amaca hizmet eder. Ancak, bir temiz kod delisiyseniz veya bir SaaS'yi güçlendirmek için WordPress kullanıyorsanız, HTML'yi temizlemek isteyeceksiniz. WP'deki çoğu şeyde olduğu gibi, bu sadece birkaç eylemi ve filtreyi kaldırmak meselesidir.
#WordPress, #SaaS siteleri oluşturmak için harika bir platformdur. Ama bunu yapmadan önce biraz temizlik gerekiyor.
TWEET İÇİN TIKLAYINHEAD, CSS veya JS dosyalarındaki bu etiketleri neden kaldırayım?
Birkaç neden var. Bazı insanlar kodlarını ve sitelerini olabildiğince düzenli tutmayı sever. İhtiyacınız olmadığını ve nasıl kaldırılacağını biliyorsanız, neden HTML'de bir kod satırınız var? Hiç bir neden yok. Aynı şey ekstra CSS ve JS dosyaları için de geçerlidir. Sitenizde emoji kullanmıyorsanız neden bu JS'yi her sayfaya dahil edesiniz?
Sonra güvenlik var. WordPress'in otomatik olarak eklediği birkaç HTML parçası, geçmişte istismar edilmiş URL'leri gösterir. Bu URL'lerin (özellikle XML RPC bitiş noktası) bir sır olmadığını vurgulamak zorundayım. Halka açık olmalıdırlar. Ancak, onları özel bir şeye dönüştürmek ve saklamak bilinen bir uygulamadır. Bu durumda, HTML'nizde bu URL'leri istemediğiniz açıktır.
Hız, HTML'yi temizlemek için de geçerli bir nedendir. HTML'den birkaç yüz karakter çıkararak ne kadar kazanacağınızdan emin olmadığımı söylemem gerekse de, bu doğru yönde atılmış bir adım. Gereksiz JS ve CSS dosyalarını ortadan kaldırmak, size birkaç HTTP isteği kazandıracaktır ve bu, optimizasyonunuza odaklanmanız gereken bir şeydir. Tidy Repo yakın zamanda hız için 100'den fazla WordPress temasını test etti ve isteklerin sayısı genel site hızı üzerinde önemli bir etki yaratıyor.
Temiz HTML koduna sahip olmak, sitenizde neler olup bittiğini bilmenizi sağlar ve sitenin hızını optimize etmek için harika bir başlangıçtır.
Son olarak, ama en az değil, bu kodun kullanışlı olmasının nedeni ve nedeni, WordPress destekli SaaSe'lerdir. Bir SaaS oluştururken, HTML'nizde neler olduğunu tam olarak kontrol etmek istersiniz ve WP'nin HTML'ye eklediği şeylerin çoğu, kullanacağınız bir şey değildir. Bu nedenle, yukarıda belirtilen tüm nedenler uğruna - her şeyi mümkün olduğunca temizliyoruz. Bu bize, SaaS'ı güçlendirmek için kullanılan WP'nin temel işlevlerinin %99'unu korurken, özel çözümler oluşturmak için harika, yalın bir platform sağlar.
Bunları güvenle kaldırabilir miyim? Bir amaca hizmet etmiyorlar mı?
Evet, bir amaca hizmet ederler, ancak yalnızca belirli durumlarda. "Ortalama" bir web sitesinde, başlıktaki birkaç ekstra link
etiketi sorun değildir ve hepsi belirli işlemleri ve entegrasyonları kolaylaştırır. Ancak, herhangi bir sitenin işleyişi için ve kesinlikle bir SaaS için çok önemli değildirler.
Hadi biraz kodu temizleyelim
Aşağıdaki kodu herhangi bir tema ile test edebilirsiniz. Varsayılan 2017 gayet iyi olacak. Ancak, “normal” WordPress temaları (ve bunun üzerine bazı eklentiler) kullanıyorsanız, kodu kimin eklediğini asla bilemezsiniz – WP çekirdeği, tema veya eklenti. Tüm eklentileri kaldırmak için sitenizi sıfırlamanızı ve ardından içinde yalnızca wp_head()
ve wp_footer()
bulunan bir tema kullanmanızı öneririm. İşte bu index.php nasıl görünüyor ve işte test için kullanabileceğiniz tüm test teması.
<!DOCTYPE html> <html> <head> <?php wp_head(); ?> </head> <body> <h1>The Most Basic WP Theme</h1> <?php wp_footer(); ?> </body> </html>
Test temamızı etkinleştirir ve ön sayfa kaynağını açarsanız, yukarıdaki index.php'de görünenden çok daha fazla kod fark edeceksiniz. Temizleyeceğimiz şey bu. Aşağıdaki kodu temanın function.php dosyasına yerleştirin. Bir özelliği kaldırmak/devre dışı bırakmak istemiyorsanız, ondan bahseden satırı yorumlayın.
add_action('after_setup_theme', 'cleanup'); function cleanup() { remove_action('wp_head', 'rsd_link'); remove_action('wp_head', 'wp_generator'); remove_action('wp_head', 'feed_links', 2); remove_action('wp_head', 'feed_links_extra', 3); remove_action('wp_head', 'index_rel_link'); remove_action('wp_head', 'wlwmanifest_link'); remove_action('wp_head', 'start_post_rel_link', 10, 0); remove_action('wp_head', 'parent_post_rel_link', 10, 0); remove_action('wp_head', 'adjacent_posts_rel_link', 10, 0); remove_action('wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0); remove_action('wp_head', 'wp_shortlink_wp_head', 10, 0); remove_action('wp_head', 'print_emoji_detection_script', 7); remove_action('wp_head', 'rel_canonical'); remove_action('wp_head', 'rel_alternate'); remove_action('wp_head', 'wp_oembed_add_discovery_links'); remove_action('wp_head', 'wp_oembed_add_host_js'); remove_action('wp_head', 'rest_output_link_wp_head'); remove_action('rest_api_init', 'wp_oembed_register_route'); remove_action('wp_print_styles', 'print_emoji_styles'); remove_filter('oembed_dataparse', 'wp_filter_oembed_result', 10); remove_filter('pre_oembed_result', 'wp_filter_pre_oembed_result', 10); add_filter('embed_oembed_discover', '__return_false'); add_filter('show_admin_bar', '__return_false'); }
ne ne yapar
rsd_link
eylemi, gerçekten basit keşif bağlantısını görüntülemekten sorumludur, wp_generator
ise WP sürümünü gösterir ve WP için yazılmış hemen hemen her güvenlik eklentisi tarafından kaldırılır. İki feed_links
eylemi, birkaç RSS beslemesine çeşitli bağlantılar ekler. Çeşitli _rel_link
eylemleri, gönderilere bağlantılar ekler, böylece daha erişilebilir ve çeşitli hizmetler tarafından daha kolay bulunabilirler. Windows Live Writer kullanmıyorsanız, gerçekten wlwmanifest_link
eylemine ihtiyacınız yoktur. Amojilere ihtiyacımız yok, bu yüzden print_emoji_detection_script
gidebilir ve aynı şey REST API'de oembed desteği de dahil olmak üzere çeşitli oembed
bağlantıları için de geçerlidir. oembed_dataparse
eyleminin kaldırılması, WP'nin gönderilerinizdeki hiçbir bağlantıyla uğraşmamasını ve onları oembed aracılığıyla herhangi bir zengin medyaya dönüştürmemesini sağlar. Son filtre show_admin_bar
, hesap başına ayarlardan bağımsız olarak WP yönetici çubuğunun ön uçta görünmesini engeller.
#WordPress'te eylemler ve filtrelerle değiştirilemeyen yalnızca birkaç şey vardır. Neyse ki HEAD içeriğini kontrol etmek bunlardan biri değil.
TWEET İÇİN TIKLAYINWordPress esnekliği harika
Pek çok makale, "WP başlığındaki gereksiz dosyalar nasıl kaldırılır" gibi başlıklarla dolaşıyor. Bu önemsiz değil. WordPress'e kutudan çıktığı anda büyük güç veren şeylerdir. Birçok insan buna değer verir ve bir şeyleri ayarlamak için saatler harcamak zorunda kalmazlar. Öte yandan, temizlik sadece birkaç eylemi kaldırmaktan ibarettir. HTML'nize nelerin ekleneceği üzerinde tam kontrole sahipsiniz ve SaaSes gibi içerik olmayan sitelere güç sağlamak için WordPress'i kolayca kullanabilirsiniz.