Panduan Praktikal untuk Meningkatkan Prestasi Laman Web WordPress
Mata utama:
kemudahan penggunaan WordPress dan ambang yang rendah menjadikannya digunakan secara meluas. Ia mudah untuk ditubuhkan dan memerlukan sedikit pengetahuan teknikal. Anda boleh mencari tuan rumah WordPress hanya beberapa dolar sebulan, dan tetapan asas dilakukan hanya dalam setengah jam klik. Tema dan tema WordPress percuma dengan pembina halaman WYSIWYG berlimpah.
Ramai orang melihat ke bawah pada WordPress, tetapi tidak dapat dinafikan bahawa WordPress telah mempromosikan perkembangan Internet dan PHP, dan banyak profesional Internet juga telah memulakan kerjaya mereka kerana kemudahan WordPress.
Ling's Cars, seorang peniaga kereta terpakai British yang terkenal, telah mencuba kaedah pemasaran yang unik, dan tidak meniru kecuali anda tahu dengan baik apa yang anda lakukan.
semuanya bermula dengan pemilihan tuan rumah
kita boleh membahagikan vendor hosting WordPress ke beberapa peringkat:
Apabila memilih VPS, adalah penting untuk diperhatikan bahawa virtualisasi XEN atau KVM lebih baik daripada OpenVZ kerana ia dapat mengurangkan sumber daya dan membantu memastikan sumber yang anda beli memang milik anda. Ia juga menyediakan keselamatan yang lebih baik.
Easy Engine adalah perisian yang boleh menjadikan keseluruhan pemasangan VPS/WordPress anda menjadi satu jam kerja.
Mengenai timbunan pelayan, jika anda meneruskan prestasi, nginx lebih baik daripada Apache, Php 7 adalah suatu keharusan. Jika kita benar -benar memerlukan Apache, menggunakan Nginx sebagai proksi terbalik adalah kelebihan, tetapi persediaan ini boleh menjadi lebih rumit.
Ujian menunjukkan bahawa Php 7 mempunyai kelebihan yang besar terhadap versi terdahulu. Menurut fasthosts.co.uk:
WordPress 4.1 telah meningkatkan permintaan sesaat pada Php 7 hingga 95%.
Apabila memilih tuan rumah, ketahui pengalaman negatif beberapa penyedia yang terkenal.
Langkah berjaga -jaga perisian
Apa yang biasanya melambatkan laman web WordPress adalah front-end besar yang mengandungi banyak sumber statik dan pertanyaan pangkalan data. Masalah ini berpunca daripada pilihan topik (dan pembina halaman mereka, slider besar, dan lain -lain), yang bukan sahaja melambatkan beban awal kerana banyak permintaan dan saiz keseluruhan, tetapi juga disebabkan oleh banyak javascript dan kandungan yang perlu diberikan.
Peraturan Emas di sini adalah: Jangan gunakannya kecuali ada alasan yang baik.
Ini mungkin terdengar seperti peraturan dari mulut Homer Simpson, tetapi jika anda boleh melangkau mana -mana loceng dan wisel, langkau. Menjadi konservatif. Jika anda perlu menambah beberapa ciri berkilat atau visual JS, sentiasa mengutamakan mereka yang disesuaikan dan dikodkan sebanyak mungkin untuk keperluan tepat anda. Sekiranya anda seorang pengekodan yang mahir dan projek itu membenarkan kerja, ingatlah untuk menulis kod anda sendiri.
Semak semua plugin yang tidak diperlukan untuk laman web anda - dan keluarkan plugin lain.
Perkara yang paling penting ialah: Sandarkan laman web anda sebelum anda mula memangkas!
Jika anda menggunakan topik di mana anda menggunakan banyak jawatan atau bidang tersuai, sila ambil perhatian bahawa banyak daripada ini akan melambatkan pertanyaan pangkalan data anda. Pastikan model data anda semudah mungkin, dan jika tidak, pertimbangkan bahawa tujuan asal WordPress adalah enjin blog. Jika anda memerlukan lebih banyak ciri, anda mungkin ingin mempertimbangkan beberapa kerangka web MVC yang sedia ada yang akan memberi anda lebih banyak kawalan ke atas model data dan pilihan pangkalan data anda.
Di WordPress, kita boleh membina model data tersuai yang kaya dengan menggunakan jenis pos tersuai, taksonomi tersuai, dan bidang khusus, tetapi memberi perhatian kepada kos prestasi dan kerumitan.
Jika anda memahami kod tersebut, sila semak topik anda untuk pertanyaan pangkalan data yang tidak perlu. Setiap akses pangkalan data individu akan membelanjakan milisaat berharga di TTFB anda, serta megabait memori pada pelayan anda. Ingat, gelung sekunder boleh mahal - jadi berhati -hati apabila menggunakan bahagian dan widget yang menunjukkan jawatan tambahan, seperti slider atau bahagian bahagian. Sekiranya anda perlu menggunakannya, pertimbangkan untuk mendapatkan semua jawatan dalam satu pertanyaan, jika tidak, ia mungkin melambatkan laman web anda. Bagi mereka yang tidak mahu kod dari awal, terdapat repositori GitHub.
Menggunakan medan tersuai untuk mendapatkan jawatan berdasarkan keadaan tertentu boleh menjadi alat yang berkuasa untuk membangunkan ciri -ciri WordPress yang kompleks. Berikut adalah contoh pertanyaan meta di mana anda boleh mendapatkan beberapa arahan terperinci mengenai kosnya. Ringkasan: Metadata pos tidak dibina untuk penapisan, taksonomi adalah.
3 Nama medan tersuai sebagai parameter kedua, di mana ia hanya mengembalikan medan yang ditentukan.Jika anda menggunakan get_post_meta () pada jawatan beberapa kali (untuk pelbagai bidang tersuai) pada halaman atau permintaan, ketahui bahawa ini
tidak menanggung kos tambahan kerana ini dipanggil untuk kali pertama apabila berfungsi, semuanya Metadata pos akan di -cache.
Memasang dan mengeluarkan pelbagai plugin dan mengubah tema yang berbeza sepanjang kitaran hayat laman web akan sering mengisi pangkalan data anda dengan banyak data yang tidak diingini. Ia mungkin sepenuhnya untuk ditemui -apabila memeriksa mengapa laman web WordPress berjalan perlahan atau gagal dimuatkan kerana keletihan memori pelayan -pangkalan data telah berkembang menjadi beratus -ratus megabait atau lebih daripada gigabait, dan tidak ada yang dapat menjelaskannya. WP-options adalah di mana banyak data yatim sering ditinggalkan. Ini termasuk tetapi tidak terhad kepada pelbagai data sementara (artikel ini memberi amaran tentang amalan terbaik mengenai memadam data sementara dalam pemalam). Data sementara adalah satu bentuk cache, tetapi seperti mana -mana cache lain, ia boleh melakukan lebih banyak kemudaratan daripada yang baik jika digunakan dengan tidak betul. Jika persekitaran pelayan anda menyediakannya, WP-CLI mempunyai satu set arahan khusus untuk pengurusan data sementara, termasuk penghapusan. Jika tidak, terdapat beberapa plugin di perpustakaan plugin WordPress yang boleh mengeluarkan data sementara yang telah tamat tempoh, tetapi mereka memberikan kawalan yang kurang.
Jika memadam data sementara masih membuat pangkalan data kami kembung tanpa sebarang sebab praktikal, WP-Sweep adalah alat percuma yang sangat baik yang dapat melakukan pekerjaan membersihkan pangkalan data. Satu lagi perkara yang perlu dipertimbangkan ialah WP mengoptimumkan.
Sebelum melakukan apa -apa jenis pembersihan pangkalan data, sangat disyorkan bahawa anda menyandarkan pangkalan data anda!
Plugin yang sangat mudah untuk menganalisis keseluruhan kitaran hayat permintaan WordPress adalah objek debug. Ia menyediakan pemeriksaan semua data sementara, shortcode, kelas, gaya dan skrip, templat yang dimuatkan, pertanyaan pangkalan data dan cangkuk.
Pastikan persediaan yang berorientasikan prestasi yang munasabah-berfikir-memikirkan timbunan pelayan kami terlebih dahulu, menghapuskan kemungkinan kembung dari pemilihan topik dan plug-in dan widget overloads-kami harus cuba mengenal pasti kesesakan.
Untuk mendapatkan ujian dan bimbingan yang lebih luas untuk memperbaiki laman web, terdapat utiliti baris arahan kecil yang dipanggil WebCoach. Dalam persekitaran dengan NodeJS dan NPM dipasang (seperti Homestead bertambah baik), mudah dipasang:
<code>npm install webcoach -g</code>
Selepas memasang, kita dapat mendapatkan pandangan dan cadangan terperinci tentang cara memperbaiki semua aspek laman web, termasuk prestasi:
Cache boleh memainkan peranan penting apabila menguruskan laman web WordPress. Terdapat beberapa tahap dan kemungkinan cara untuk cache.
Page Cache
Jika anda boleh, kita harus terlebih dahulu cuba menguji penyelesaian peringkat pelayan, seperti cache Nginx atau varnis, atau sistem caching yang disediakan oleh penyedia hosting seperti Kinsta, SiteGround.
Jika ini tidak membantu seperti yang kami harapkan, kami mungkin ingin mempertimbangkan menggunakan plugin seperti cache super WP, cache terpantas WP atau cache W3 yang lebih baik pada GitHub. Semua ini dapat meningkatkan prestasi, tetapi biasanya memerlukan beberapa percubaan. Penyelesaian caching yang dikonfigurasikan secara tidak betul sebenarnya boleh menyakiti prestasi laman web. Sebagai contoh, W3TC - sekurang -kurangnya sebelum penambahbaikan - dianggap sebagai penyelesaian cache percuma terbaik yang berfungsi keajaiban ... apabila ia berfungsi. Apabila ia tidak berfungsi, ia mungkin mengambil laman web anda di luar talian.
roket WP dianggap sebagai penyelesaian caching maju yang paling dipuji.
Caching halaman boleh meningkatkan prestasi dan menyampaikan keseluruhan laman web dari RAM, tetapi sedar bahawa jika anda mempunyai laman web yang dinamik dengan keranjang belanja atau bergantung pada kuki atau hujung depan yang diperibadikan, ia boleh menyebabkan komplikasi. Ia boleh menyediakan satu pengguna dengan bahagian UI pengguna lain, jadi biasanya perlu diuji sebelum pergi ke pengeluaran. Ini amat sesuai untuk penyelesaian pada pelayan yang tidak dikendalikan, seperti caching halaman varnis atau cloudflare.
Caching Fragment adalah penyelesaian yang perlu dipertimbangkan apabila laman web yang dinamik, yang bergantung kepada cookie sukar untuk cache menggunakan kaedah halaman penuh, atau apabila kita cache Ajax permintaan. Berikut adalah pengenalan yang baik.
Cache objek bermaksud menyusun dan menyimpan semua pertanyaan pangkalan data dan objek PHP dalam ingatan. Sesetengah plugin cache cuba menguruskan backend cache objek untuk kami. Penggunaan backend biasanya APCU, Memcached, dan Redis. Mereka perlu dipasang pada pelayan.
Untuk menguji prestasi kod PHP dan cache objek kami dengan lebih mendalam, alat yang berharga (memerlukan akses shell dan memasang WP-CLI) adalah arahan profil. Kami boleh memasangnya menggunakan arahan berikut:
<code>npm install webcoach -g</code>
atau
<code>wp package install git@github.com:wp-cli/profile-command.git</code>
(bergantung pada situasi pemasangan, anda mungkin perlu menambah bendera-root.)
kita boleh menganalisis keseluruhan kitaran beban, atau masuk ke dalam cangkuk, fail dan kelas tertentu, masa pemuatan dan nisbah cache.
Cache-Control dan tamat header di sini. Plugin caching biasanya menguruskan cache penyemak imbas dan menetapkan tajuk. Technumero telah membuat panduan yang lebih mendalam.
Fail statikFail statik adalah imej, helaian gaya, kod JS, fon, fail media, dll. Kami harus memastikan kami memampatkannya dan kami menggunakan HTTP/2 untuk menyampaikan fail -fail ini jika boleh. Sekiranya tuan rumah kami tidak menyokong HTTP/2, atau berhijrah VPS kami yang tidak diurus ke HTTP/2 adalah di luar jangkauan kami, cara yang paling mudah adalah untuk mengintegrasikan CDN ke dalam timbunan kami. CDN menyediakan fail statik kami dari pusat data yang paling dekat dengan penonton kami. Ini mengurangkan latensi, sering bermaksud memanfaatkan infrastruktur mereka yang sangat ditala.
AutoOptimize adalah plugin yang dapat membantu memanipulasi aset statik kami dan mengurangkan bilangan permintaan.
Mengenai fail media, kita harus mempertimbangkan memampatkan/mengodkan video kami untuk mengurangkan saiz mereka dan menyediakannya melalui penyedia seperti YouTube untuk mengurangkan tekanan pada pelayan kami. Penyedia penyimpanan awan seperti Amazon S3 adalah satu lagi pilihan yang baik. Hosting video adalah di luar skop artikel ini, tetapi WPMudev telah menghasilkan panduan praktikal mengenai topik ini.
Mengenai imej, imej ini biasanya terlalu besar untuk web. Kadang -kadang satu -satunya penyelesaian yang boleh mendapatkan pelayan kami berfungsi dengan baik (yang boleh mengambil masa yang lama) adalah pemampatan batch melalui shell. ImageMagick pada Linux mempunyai alat penukar berguna yang membolehkan kami mengikat memampatkan imej kami. Contoh ini secara rekursif melakukan ini untuk semua JPG dalam folder, mengurangkan kualiti JPEG hingga 80%, bersama-sama dengan beberapa peningkatan kecil lain, dan mengubah saiz imej (ia harus ditakrifkan sendiri):
<code>npm install webcoach -g</code>
WP Bullet mempunyai dua panduan yang sangat baik untuk pemampatan batch fail JPG dan PNG.
Di samping itu, terdapat perkhidmatan imagen dan pemalam WordPress yang sepadan untuk mengurangkan saiz imej, pengoptimuman imej ewww, dan lain-lain ...
Lain -lain rawak yang lain
<code>wp package install git@github.com:wp-cli/profile-command.git</code>
di Apache:
<code>wp package install wp-cli/profile-command</code>
Plugin Seperti Keselamatan Ithemes, WPS Hide Login, dan lain -lain boleh membantu menyelesaikan masalah ini dan menukar URL halaman log masuk kami.
Jika anda berada di bawah serangan kekerasan dan tidak dilindungi oleh CDN atau tuan rumah yang diuruskan seperti Cloudflare, pertimbangkan untuk menggunakan firewall seperti Fail2Ban (anda harus memasang firewall sama ada anda sedang diserang atau tidak).
Kesimpulan
Saya harap penyusunan petua pengoptimuman WordPress ini boleh menjadi berguna. Memandangkan saiz laman web berkembang, teknik -teknik ini menjadi semakin sukar untuk digunakan secara retroaktif. Inilah sebabnya mengapa lebih baik untuk memulakan awal dan berusaha untuk mendapatkan yang terbaik: memohon seberapa banyak teknologi ini sebelum memulakan
, dan anda bukan sahaja akan mendapat permulaan yang lancar, tetapi juga yang tinggi dari hari ke hari Aplikasi Prestasi - Ini pastinya pengalaman yang sangat baik untuk semua pengguna baru. Pastikan anda menyemak panduan PWA SitePoint juga. Buat laman web WP anda PWA sebanyak mungkin dari hari pertama, yang akan membantu pengguna memasangnya di skrin utama peranti mereka, bersedia untuk akses berulang.
Soalan Lazim pada Pengoptimuman Prestasi WordPress
Plugin apa yang terbaik untuk mengoptimumkan prestasi WordPress?
Rangkaian Penghantaran Kandungan (CDN) dapat meningkatkan prestasi laman web WordPress dengan menyimpan salinan kandungan laman web di seluruh dunia. Apabila pengguna melawat laman web anda, CDN menyampaikan kandungan dari pelayan yang paling dekat dengan mereka, mengurangkan masa yang diperlukan untuk memuatkan kandungan. Ini dapat meningkatkan kelajuan laman web, terutama bagi pengguna yang jauh dari pelayan utama anda.
Mengoptimumkan pangkalan data WordPress dapat meningkatkan prestasi laman web dengan ketara. Ini boleh dicapai dengan kerap membersihkan pangkalan data, memadam data yang tidak perlu, dan mengoptimumkan jadual pangkalan data. Pemalam seperti WP-Mengoptimumkan boleh mengautomasikan proses ini, menjadikannya lebih mudah untuk mengekalkan pangkalan data yang bersih dan cekap.
Pengoptimuman imej dapat meningkatkan prestasi laman web WordPress dengan mengurangkan saiz imej tanpa menjejaskan kualitinya. Ini boleh dicapai dengan memampatkan imej, menggunakan format imej yang betul, dan menyesuaikan imej ke saiz yang betul. Plugin seperti Imagify boleh mengautomasikan proses ini, menjadikannya lebih mudah untuk mengoptimumkan imej.
Mengurangkan masa tindak balas pelayan dapat meningkatkan prestasi laman web WordPress dengan ketara. Ini boleh dicapai dengan mengoptimumkan konfigurasi pelayan, menggunakan penyedia hos berkualiti tinggi, dan melaksanakan penyelesaian caching. Di samping itu, mengurangkan bilangan permintaan yang dibuat oleh laman web kepada pelayan juga boleh meningkatkan masa tindak balas pelayan.
mengecut fail CSS dan JavaScript dapat meningkatkan prestasi laman web WordPress dengan mengurangkan saiz fail -fail ini. Proses ini melibatkan menghapuskan aksara yang tidak perlu, seperti ruang dan komen dari kod tanpa mengubah fungsinya. Plugin seperti Autoptimize boleh mengautomasikan proses ini, menjadikannya lebih mudah untuk mengecilkan fail.
Mengoptimumkan laman web WordPress untuk disesuaikan dengan peranti mudah alih dapat meningkatkan prestasi laman web anda dengan ketara pada peranti ini. Ini boleh dicapai dengan melaksanakan reka bentuk responsif, mengoptimumkan imej untuk menyesuaikan peranti mudah alih dan menggunakan tema mesra mudah alih. Di samping itu, plugin seperti WPTouch boleh membantu anda membuat versi mesra mudah alih laman web anda.
pemuatan malas dapat meningkatkan prestasi laman web WordPress dengan memuatkan imej dan kandungan lain hanya apabila dilihat pada skrin pengguna. Ini dapat mengurangkan masa pemuatan awal halaman dan meningkatkan kelajuan laman web. Plugin seperti Lazy Load oleh WP Rocket boleh mengautomasikan proses ini dan memudahkan untuk melaksanakan pemuatan malas di laman web anda.
Mampatan GZIP dapat meningkatkan prestasi laman web WordPress dengan mengurangkan saiz fail. Proses ini melibatkan memampatkan fail sebelum dihantar ke penyemak imbas pengguna, dengan itu mengurangkan jumlah data yang perlu dipindahkan. Ini dapat meningkatkan masa pemuatan laman web. Plugin seperti Check dan Dayakan Mampatan GZIP dapat mengautomasikan proses ini dan memudahkan untuk melaksanakan pemampatan GZIP di laman web anda.
Memantau prestasi laman web WordPress boleh membantu anda mengenal pasti sebarang isu yang mungkin melambatkan laman web anda. Ini boleh dilakukan menggunakan alat seperti Google Pagespeed Insights, Gtmetrix, dan Pingdom. Alat ini boleh memberi anda maklumat terperinci mengenai prestasi laman web, termasuk masa pemuatan, saiz halaman, dan bilangan permintaan.
Atas ialah kandungan terperinci Panduan Lengkap untuk Pengoptimuman Prestasi WordPress. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!