Saya sedang membangun situs Drupal 7. Ini adalah beberapa modul yang saya gunakan: Adaptivetheme (tema), Panel Tampilan dan Konten, Panel, panel Mini, Panel di mana-mana, Manajer halaman, Superfish untuk menu, Addthis, Dipilih (tarik turun).
Untuk meningkatkan kinerja situs saya dan berurusan dengan file CSS dan JS saya menggunakan modul Advagg .
Saat menjalankan tes Pagespeed dari Google saya mendapatkan kesalahan berikut sebagai "Harus Diperbaiki":
Hilangkan JavaScript pemblokiran render dan CSS dalam konten di atas-
halaman Anda memiliki 6 sumber skrip pemblokiran dan 8 pemblokiran sumber daya CSS. Ini menyebabkan keterlambatan dalam merender halaman Anda.
Tak satu pun dari konten di atas-lipat pada halaman Anda dapat dirender tanpa menunggu sumber daya berikut dimuat. Coba tunda atau muat secara tidak sinkron sumber daya pemblokiran, atau sebariskan bagian penting dari sumber daya tersebut secara langsung dalam HTML.
Ini adalah info yang disediakan Google:
Apakah ada cara saya dapat mengubah pengaturan modul Advagg atau inti Drupal, dan menyelesaikan masalah ini?
Apakah ada cara lain untuk mencapai tujuan ini?
Pembaruan - setelah menerapkan perubahan sesuai dengan jawaban mikeytown2 saya mendapat pesan berikut pada tes Pagespeed Google:
Hilangkan render JavaScript dan CSS pemblokiran render dalam konten di atas-
halaman Anda memiliki 6 sumber skrip pemblokiran dan 4 memblokir sumber daya CSS. Ini menyebabkan keterlambatan dalam merender halaman Anda.
Tak satu pun dari konten di atas-lipat pada halaman Anda dapat dirender tanpa menunggu sumber daya berikut dimuat. Coba tunda atau muat secara tidak sinkron sumber daya pemblokiran, atau sebariskan bagian penting dari sumber daya tersebut secara langsung dalam HTML.
sumber
async
yang tidak didukung oleh peramban lama. Misalnya, agregasi Drupal default menyertakan<link>
tag untuk semua css Anda. Jika situs Anda CSS atau JS terlalu rumit, Anda akan selalu mengalami masalah ini. Jika Anda membangun situs dengan benar, Anda dapat mengumpulkan file dengan aman. Tanpa info tentang dependensi file, detail pertanyaan terlalu luas - modul tidak akan pernah bisa memperbaiki masalahnya; ini semua tentang bagaimana CSS dan JS ditulis dan urutan inklusi dan kompleksitasnya. dia tidak pernah mengatakan dia ingin non-blocking, anggapanmu itulah yang dia inginkan.Jawaban:
The README memiliki panduan tentang cara untuk melakukan ini dengan menggunakan arus 7.x-2,31 + versi AdvAgg . Lihat juga halaman wiki ini pada grup berperforma tinggi . Sebagian besar situs dapat mencapai skor 100/100 sempurna https://developers.google.com/speed/pagespeed/insights/ . Petunjuk tentang cara mencapainya untuk instalasi baru AdvAgg di bawah ini.
Pastikan untuk memeriksa situs setelah setiap bagian untuk memastikan perubahan tidak mengacaukan situs Anda. Perubahan di bawah AdvAgg Modifier biasanya yang paling bermasalah tetapi mereka menawarkan peningkatan terbesar.
Agregasi CSS / JS Tingkat LanjutPergi ke
admin/config/development/performance/advagg
Instal AdvAgg Compress Javascript jika tidak diaktifkan dan pergi ke
admin/config/development/performance/advagg/js-compress
Instal AdvAgg Async Font Loader jika tidak diaktifkan dan buka
admin/config/development/performance/advagg/font
Instal AdvAgg Bundler jika tidak diaktifkan dan buka
admin/config/development/performance/advagg/bundler
Pengaturan HTTP / 2.0
Pengaturan HTTP / 1.1 (default)
25 bundel vs 2 dan 5 ada hubungannya dengan caching browser. Semakin banyak file sama dengan peluang yang lebih baik dari browser untuk memiliki kombo itu dalam cache, tetapi lebih banyak file berarti lebih banyak koneksi dibuat dan dibuka di HTTP 1.1. Gunakan 2 untuk CSS karena nomor ini tidak menunggu koneksi baru; JS adalah 5 karena sebagian besar browser memiliki batas koneksi konkuren 6. Jumlah bundel ini diambil setelah banyak tes. Di HTTP 2.0 ada satu koneksi streaming dan penalti untuk beberapa file CSS dan JS hampir tidak ada; dengan demikian mengoptimalkan cache browser adalah pilihan terbaik; dengan demikian 25 harus digunakan untuk CSS dan JS saat melayani HTTP / 2.0.
AdvAgg PindahInstal AdvAgg Relocate jika tidak diaktifkan dan buka
admin/config/development/performance/advagg/relocate
Instal AdvAgg Modifier jika tidak diaktifkan dan pergi ke
admin/config/development/performance/advagg/mod
Buka https://www.sitelocity.com/critical-path-css-generator dan masukan sebanyak mungkin laman landas yang diperlukan untuk css kritis; 10 besar biasanya merupakan awal yang baik. Jika Anda memiliki Google Analytics, ini akan menunjukkan kepada Anda bagaimana menemukan halaman landing utama Anda https://developers.google.com/analytics/devguides/reporting/core/v3/common-queries#top-landing-pages atau untuk Piwik https: //piwik.org/faq/how-to/faq_160/ . Jika Anda tidak tahu halaman apa yang harus dimulai dengan beranda situs Anda. Anda juga dapat menggunakan ini untuk menghasilkan css https://chrome.google.com/webstore/detail/critical-style-snapshot/gkoeffcejdhhojognlonafnijfkcepob?hl=id
Contoh nama file dan jalur di bawah ini adalah untuk tema "bootstrap"; mereka semua mulai dengan
sites/all/themes/bootstrap/critical-css/
; dalam tema Anda buatcritical-css/
direktori. Direktori selanjutnya didasarkan pada pengguna;anonymous/
,,all/
atauauthenticated/
dapat digunakan.Direktori berikutnya dapat
urls/
atautype/
. Melihaturls/
; depan adalah kasus khusus untuk halaman depan, semua jalur lain menggunakan current_path () sebagai direktori dan nama file yang.css
ditambahkan ke bagian akhir; Lihat https://api.drupal.org/api/drupal/includes%21path.inc/function/current_path/7.xMelihat
type/
ini adalah kasus khusus untuk jenis simpul. Gunakan nama mesin dan tambahkan.css
sampai akhir. Node apa pun dari jenis ini kemudian akan menerapkan dan css file kritis ini. Di bawah ini adalah beberapa contoh yang menunjukkan cara kerjanya.lokasi file contoh yang valid untuk halaman "depan":
sites/all/themes/bootstrap/critical-css/anonymous/urls/front.css
contoh lokasi file yang valid untuk halaman "node / 1" current_path ():
sites/all/themes/bootstrap/critical-css/anonymous/urls/node/1.css
lokasi file contoh yang valid untuk tipe simpul "halaman":
sites/all/themes/bootstrap/critical-css/anonymous/type/page.css
Jika Anda ingin semacam cara otomatis untuk menghasilkan file-file css ini, fourkitchens memiliki artikel yang bagus tentang cara mengaturnya: https://fourword.fourkitchens.com/article/use-grunt-and-advagg-inline-critical-css -drupal-7-theme
sumber
advagg/mod
halaman DAN / ATAU Anda belum memindahkan Semua JS ke footer. Juga jika saya bisa melihat halaman sumber lengkap yang umumnya membantu dengan rekomendasi (cukup tautkan ke situs Anda).Anda tidak akan pernah mendapatkan skor yang benar-benar tinggi dengan modul drupal prebuilt, satu-satunya cara untuk mencapai ini adalah dengan menghadiri dan dengan cermat menganalisis setiap saran yang dibuat oleh alat kecepatan google , menangani masing-masing secara mandiri.
Beberapa hal yang saya lakukan untuk mencapai 95 di situs berita yang sangat aktif , bahwa pada saat saya menulis ini, skor lebih baik daripada nytimes (Sekarang tidak):
sumber