, MEMAHAMI DAN OPTIMASI WEB
  • bungaganyong

    Cougar

  • Lions

    Lions

  • Snowalker

    Snowalker

  • Howling

    Howling

  • Sunbathing

    Sunbathing

Diberdayakan oleh Blogger.

Render javascript yang Memblockir


Apa yang dimaksud render yang memblokir?
  • Render artinya loading, jadi sesuatu yang memblokir render maksudnya bahwa javascript yang menghalangi halaman dari loading cepat. 
Catatan: Artikel ini adalah tentang hal yang membuat blokir javascript, tidak menjadikan memblokir css (yang merupakan hal yang sama sekali berbeda). cara mengeliminasi css pemblokir render.

Javascript yang memblokir loading/render

Google merekomendasikan 1 untuk menghapus atau menunda javascript yang mengganggu dalam loading konten paruh atas halaman web Anda. Google merekomendasikan 1 untuk dihapus atau menunda javascript yang mengganggu konten paruh atas pada halaman web anda.                                                                                
above and below the fold

Praktik ini telah lama digunakan oleh orang-orang yang menjadi pagespeed, tetapi baru bagi sebagian besar webmaster dan desainer yang sedikit dapat membingungkan, dan bahkan  mungkin tampak mustahil untuk dilakukan. Hal ini tidak hanya mungkin tapi juga diperlukan untuk menjadi warga negara web yang baik dan bahkan jika Anda tidak peduli tentang pengguna melalui koneksi yang lambat,  berarti anda peduli tentang peringkat  di Google. Peringkat Anda di Google akan beresiko jika tidak mengoptimalkan web Anda. Secara khusus, jika Google melihat bahwa halaman web anda tidak memuat dengan baik diperangkat tertentu (ponsel, ipad,  dll) mereka tidak akan menyertakan anda dalam hasil karena Google tidak ingin mengirim pengguna untuk halaman yang lambat atau halaman yang menyebabkan pengguna terlalu lama menunggu konten dimuat.   

Bagaimana untuk mengenali javascript yang  memblokir render

Anda perlu tahu apa halaman anda sedang loading. Ada beberapa cara untuk mengatasi hal ini. Saran saya anda harus lihat apa halaman anda sedang memuat dengan menggunakan alat Pagespeed tool  untuk mereview isu-isu yang ada pada halaman anda secara spesifik file-file yang berlaku dalam perenderan, dapat menggunakan alat
Google pagespeed insights tool. Alat ini akan menceritakan dwngan tepat tetntang file-file yang memblokir halaman Anda.

Cara menghapus javascript yang memblokir render

Pelakunya paling umum adalah javasrip, dan contoh yang benar-benar hebat untuk ini adalah jQuery yang merupakan file javascript yang digunakan pada sebagian besar halaman web. Hal ini sangat mungkin anda menggunakanya ( mengetahui alat). File javascript ini agak besar, sebenarnya mungkin itu sangat baik menjadi file terbesar pada halaman web anda yang sedang loading untuk membuat halaman anda. jQuery adalah file javasceipt populer,yang sering digunakan untuk melakukan hal-hal yang sangat kecij, seperti fade in atau gambar yang keluar misalnya. Tidak biasanya ada alasan untuk  memuat jQuery sebelum anda memuat halaman web anda namun sebagian besar dari halaman  melakukannya. Jika anda menggunakan jQuery untuk merender di paruh bawah maka tidak ada alasan untuk memuatnya sebelum di perlukan.Jika anda  memuat sebelumnya, maka anda tidak mengikuti pedoman Page speed ini dan anda membuat pengguna menunggu.
Untuk memperbaiki ini anda harua mengubah mana panggilan untuk yang jQuery lakukan. Hal ini dilakukan  dalam html halaman web anda. Cara yang sering website saat memanggil jQuery adalah pada dokumen jead seperti yang ditunjukan dibawah ini. 
.
<head>
<meta name=description content="description here."/>
<title>title here</title>
<style>
styles here
</style>
<script src="jquery.js">
</script>
</head>
Atas flip berarti apa yang pengguna melihat pada layar. Layar dekstop atau apapun, layar ponsel, ipad,komputer dekstop atau apapun yang pengguna lihat halaman web anda. 

Panggilan untuk jQuery (file agak besar) dibuat dan harus di-download oleh browser sebelum hal lain ditampilkan pada halaman. Ini buruk. Ini benar-benar benar-benar buruk jika hal yang Anda gunakan jQuery bahkan tidak diperlukan untuk konten paruh atas seperti yang ditunjukkan pada gambar di atas.

Sebuah parsial sering digunakan untuk solusi parsial 

Sering panggilan untuk jQuery akan dihapus dari dokumen head dan pindah ke tempat lain di bagian bawah halaman, karena tidak diperlukan sampai saat itu. Sayangnya hal ini tidak cukup.
<!-- the things you don't need jquery for (most of your page) is here -->
<script src="jquery.js">
</script>
<!-- the thing you need jQuery for is here -->

Solusi Nyata 

Untuk menghapus javascript dari jalur render akan ditunda sampai setelah beban halaman. 

Untuk mengikuti arahan ini anda perlu tahu baik, apa halaman anda memuat dan mengapa memuatnya

Apa pun yang memanggil (call page web anda ,biaya pengguna anda lebih banyak waktu menunggu mereka. Jika Anda tidak tahu apa yang meminta halaman web anda perbuat, Anda harus mulai mengetahui. JQuery adalah contoh yang baik karena sangat umum dan seperti file besar (sekitar 100kb). Skenario umum semua adalah bahwa halaman web kecil yang hanya 10kb memanggil file besar seperti jQuery (yang 10 kali lebih besar dari halaman web itu sendiri) untuk melakukan beberapa tugas biasa seperti fade dalam beberapa kata di halaman. Anda mungkin berpikir "hey kelihatan keren!" ketika Anda melihatnya, tetapi apakah itu cukup tenang untuk membuat pengguna anda menunggu 10 kali lebih banyak waktu untuk melihat halaman anda? efek yang sama persis bisa terjadi dengan css atau javascript yang lebih kecil. Menggunakan jQuery sebagai contoh, tapi bukan berarti itu jelek. Hal yang sama bisa dikatakan bahkan javascript  biasa seperti Google analystic, atau javascript pihak ketiga yang menunjukan widget sosial atau bahkan tombol-tombol facebook, Twitter, yang banyak disukai orang.       

Mengetahui apa yang halaman Anda gunakan? dan keputusan apa yang layak membuat pengunjung anda menunggu.

Cara Menunda Loading Jvascript

Bagaimana Cara menunda loading javascript?

Benar-benar menunda javascript berarti pemuatan atau parsing javascript itu hanya dimulai setelah isi halaman telah dimuat (Berarti itu tidak akan mempengaruhi PageSpeed ​​atau jalur render kritis).

  1. Menggunakan "onload" event kita memanggil sebuah external javascript.
  2. External javascript tidak akan loading sebelum konten sudah dimuat.
  3. Kemudian External javascript akan berjalan dan mengisi halaman.
webpage and javascript file

Penjelasan

Menunda javascript adalah salah satu masalah di web yang dapat membuat Anda sakit kepala yang mencoba menemukan solusinya.   


Banyak orang mengatakan "hanya menggunakan defer" atau "hanya menggunakan async" atau yang lain mengatakan "hanya menempatkan javascript di bawah halaman" namun tidak satupun dari mereka memecahkan masalah sebenarnya yang memungkinkan  halaman web sepenuhnya memuat dan kemudian (dan kemudian hanya) memuat javascript eksternal. Mereka juga akan membuat masa lalu bagi anda  dengan " defer  loading javascript". Peringatan yang anda dapatkan dari Google speedpage. Solusi ini akan.

Script untuk memanggil file javascript eksternal.  

Kode ini ditempatkan di html sebelum kode </body> untuk menyoroti file javascript eksternal. 
   
<script type="text/javascript">
function downloadJSAtOnload() {
var element = document.createElement("script");
element.src = "defer.js";
document.body.appendChild(element);
}
if (window.addEventListener)
window.addEventListener("load", downloadJSAtOnload, false);
else if (window.attachEvent)
window.attachEvent("onload", downloadJSAtOnload);
else window.onload = downloadJSAtOnload;
</script>

Apa yang bekerja disini? 

Kode ini mengatakan tunggu dokumen selesai memuat kemudian  memuat file javascript "defer.js".

Intruksi sepesifiknya:

1. Copy kode diatas.
2. Paste code ke HTML Anda sebelum  </body> tag (dekat file HTML bagian bawah).
3. Ganti "defer.js" Dengan nama file javascript eksternal milik Anda.
4. Pastikan path ke file Anda dengan benar.
Contoh:
jika Anda hanya menempatkan "defer.js", maka file "defer.js" harus dalam folder yang sama dengan file HTML Anda.

Apa yang dapat Anda gunakan kode ini (dan apa yang tidak bisa) 

Kode ini tidak akan memuat file javascript eksternal secara spesifik hingga dikonten lengkap termuat. Oleh sebab itu, tidak harus menempatkan setiap javascript disana, yang diperlukan untuk memuat halaman dengan benar. Anda harus memisahkan javascript menjadi dua kelompok, satu kelompok js yang perlu memuat dan js yang melakukan hal-hal setelah beban halaman (seperti mencari peristiwa klik). Javascript yang bisa menunggu sampai setelah beban halaman harus masuk  ke dalam satu file eksternal call yang di atas. 
Sebagai contoh: Pada halaman ini file yang digunakan untuk menunda google analystic viglink, dan google manambah lencana tambahan di footer. Tidak ada alasan untuk memuat file-file ini untuk membuka halaman awal karena tidak satupun dari mereka yang di perlukan untuk memuat konten paruh atas. Anda mungkin memiliki jenis yang sama dari apa yang ada pada halaman web anda. Halaman anda itu bagaimana, dan Apakah anda membuat pengguna menunggu untuk memuat halaman web anda sebelum menunjukkan konten?    


Mengapa metode lain tidak bisa bekerja?
Metode membuat inline, menempatkan secript dihalaman bawah, menggunakan "defer" atau menggunakan "async" semua tidak mencapai tujuan dengan membiarkan beban halaman pertama kemudian memuat JS dan mereka pasti tidak bekerja secara universal dari lintas browser.    

Ada apa dengan itu semua?

Itu penting karena Google menilai kecepatan halaman sebagai faktor peringkat dan  karena pengguna ingin halaman web loading cepat. Hal ini penting juga untuk seo mobile Anda. Google mengukur halaman sebuah web dari speedfrom pada saat itu disebut, ketika webpage awalnya dimuat. Berarti kita memprioritaskan untuk sebuah acara tentang kecepatan halaman web ketika diklik. Bahwa penilaian Google pada awal buka halaman anda (dan jangan lupa pengguna menunggu saat membuka awal webpage untuk memuat). Google secara aktif mempromosikan dan merekomendasikan juga memprioritaskan konten paruh atas sehingga mendapatkan sumber (js, css, gambar, dll) dari jalur render kritis yang diusahakan betul. Jika itu membuat bahagia, dan itu membuat google bahagia, mungkin harus melakukanya.   panduan optimasi seluler.          

Point Dari Kunci
Prioritas besar harus ditempatkan pada pemberian konten ke pengguna sesegera mungkin. Kami belum melakukan itu dengan cara kita memperlakukan javascript kami. Seorang pengguna tidak perlu menunggu untuk melihat konten mereka karena beberapa script yang cenderung melakukan sesuatu untuk di bawah konten berlipat-lipat. Tidak peduli seberapa dingin footer Anda, benar-benar ada alasan bagi pengguna yang mungkin tidak pernah meggulir ke bawah untuk footer Anda agar memuat javascript yang membuat footer Anda keren.


Anda bisa menggunakan javascript usage tool untuk mengetes sejauh mana javascript anda bekerja di halaman web.

Menggunakan web.config 404 Untuk Pesan Error http kustom pada IIS 7.5

File web.confiq memungkinkan Anda untuk membuat halaman error http kustom untuk situs web Anda. Kesalahan kustom dapat diatur arau 
diganti secara luas  direktori by direktori pafa situs Sementara beberapa bagian web.confiq mengharuskan direktori diatur sebagai aplikasi, ini bukan salah satu dari mereka. Sebuah web.cinfiq yang sederhana dengan bagian httpErrors dapat ditempatkan dalam direktori apapun, dan direktori TIDAK perlu ditetapkan sebagai aplikasi. 

Apa Kesalahan HTTP?
Error HTTP dikembalikan kepada klien ketika sesuatu berjalan salah pada server. Kesalahan kode status dikembalikan jika file  yang diminta tidak ditemukan (404), halaman web (500), dan karena masalah sementara seperti koneksi database gagal (500). Kesalahan yang paling umum adalah 404(file tidak ditemukan) dan 500 (kesalaha aplikasi) dan 500 (aplikasi). 

404 dan 500 kesalahan biasanya digunakan untuk memberikan pesan ramah kepada pemhguna Anda. 

404 dan 500 kesalahan juga bisa mengarahkan pengguna ke default  (atau) halaman, dan kadang-kadang digunakan untuk memberitahu administrator situs web dari masalah pada situs web. Jika Anda ingin mengkonfigurasi  kesalahan kustom untuk situs Anda, silahkan ikuti petunjuk pada halaman ini. 
400 Kesalahan ( permintaan buruk) 
401 Kesalahan (tidak sah)
403 Kesalahan (dilarang)
404 Kesalahan (tidak ditemukan)
500 Kesalahan (server error internal)   

Bagaimana itu bekerja?
Contih kustom http error. Komen-komen berada dalam <!-- --> dan tidak dibutuhkan.


required.
  • Capture and return specific error types
    <httpErrors>
           <remove statusCode="401" subStatusCode="-1" />
           <remove statusCode="403" subStatusCode="-1" />      
           <remove statusCode="404" subStatusCode="-1" />                
           <remove statusCode="500" subStatusCode="-1" />
              <!-- full url when responsemode is Redirect -->
           <error statusCode="401" path="http://foo.com/default.htm" responseMode="Redirect" />
              <!-- local relative path when responsemode is ExecuteURL -->
           <error statusCode="403" path="/errors/403.htm" responseMode="ExecuteURL" />
           <error statusCode="404" path="/somedir/oops404.htm" responseMode="ExecuteURL" />                
           <error statusCode="500" path="/somedir/500.asp" responseMode="ExecuteURL" />
    </httpErrors>
    

Using Custom Errors
  • Use a text editor to create a file named web.config
  • Save the web.config file with the appropriate content
  • Place the web.config file in the directory that you wish to modify

Detailed web.config content
  • If there isn't an existing web.config in the directory, your new web.config should look something like this
    <?xml version="1.0"?>
    <configuration>
       <system.webServer>
          <httpErrors>
            <remove statusCode="401" subStatusCode="-1" />
            <remove statusCode="403" subStatusCode="-1" />      
            <remove statusCode="404" subStatusCode="-1" />                
            <remove statusCode="500" subStatusCode="-1" />
              <!-- full url when responsemode is Redirect -->
            <error statusCode="401" path="http://foo.com/default.htm" responseMode="Redirect" />
              <!-- local relative path when responsemode is ExecuteURL -->
            <error statusCode="403" path="/errors/403.htm" responseMode="ExecuteURL" />
            <error statusCode="404" path="/somedir/oops404.htm" responseMode="ExecuteURL" />                
            <error statusCode="500" path="/somedir/500.asp" responseMode="ExecuteURL" />
          </httpErrors>
          <modules runAllManagedModulesForAllRequests="true"/>
       </system.webServer>
    </configuration>
    
  • Jika ada sebuah web.confiq tanpa suatu seksi webSeIf there is an existing web config, without a <system.webServer> section... Your new web.config should look like this
    <?xml version="1.0"?>
    <configuration>
       <system.web>
         .. existing text ..
         .. existing text ..
       </system.web>
       <system.webServer>
          <httpErrors>
            <remove statusCode="401" subStatusCode="-1" />
            <remove statusCode="403" subStatusCode="-1" />      
            <remove statusCode="404" subStatusCode="-1" />                
            <remove statusCode="500" subStatusCode="-1" />
              <!-- full url when responsemode is Redirect -->
            <error statusCode="401" path="http://foo.com/default.htm" responseMode="Redirect" />
              <!-- local relative path when responsemode is ExecuteURL -->
            <error statusCode="403" path="/errors/403.htm" responseMode="ExecuteURL" />
            <error statusCode="404" path="/somedir/oops404.htm" responseMode="ExecuteURL" />                
            <error statusCode="500" path="/somedir/500.asp" responseMode="ExecuteURL" />
          </httpErrors>
          <modules runAllManagedModulesForAllRequests="true"/>
       </system.webServer>
    </configuration>
    
  • Jika ada web.confiq Anda  yang sudah mempunyai sebuah seksi <system web>, tinggal tambahkan ini: 
    <?xml version="1.0"?>
    <configuration>
       <system.web>
         .. existing text ..
         .. existing text ..
       </system.web>
       <system.webServer>
          <httpErrors>
            <remove statusCode="401" subStatusCode="-1" />
            <remove statusCode="403" subStatusCode="-1" />      
            <remove statusCode="404" subStatusCode="-1" />                
            <remove statusCode="500" subStatusCode="-1" />
              <!-- full url when responsemode is Redirect -->
            <error statusCode="401" path="http://foo.com/default.htm" responseMode="Redirect" />
              <!-- local relative path when responsemode is ExecuteURL -->
            <error statusCode="403" path="/errors/403.htm" responseMode="ExecuteURL" />
            <error statusCode="404" path="/somedir/oops404.htm" responseMode="ExecuteURL" />                
            <error statusCode="500" path="/somedir/500.asp" responseMode="ExecuteURL" />
          </httpErrors>
          <modules runAllManagedModulesForAllRequests="true"/>
       </system.webServer>
    </configuration>
    


Cara Optimalkan CSS Delivery

Apa Maksud CSS delivery?

  • Cara di mana CSS digunakan untuk membuat sebuah halaman web
  • Menggunakan file external css, internal css itu memblokir atau sebuah kombinasi dari keduanya. 
CSS bisa digunakan beberapa cara untuk halaman web dan masih bekerja. Karena ada banyak cara untuk menggunakannya terdapat banyak setup CSS yang berbeda. Tidak peduli bagaimana mengatur pada halaman web. CSS Anda harus membantu halaman web Anda membuat lebih cepat bukan memperlambat mereka. 

Satu contoh dari sebuah "optimized CSS delivery"

css files and html
Menyetel Css yang ideal akan tampak seperti berikut: 
  • Tidak lebih dari satu external CSS stylesheet dengan ukuran sehat (kurang dari 75k atau setara)
  • Inline CSS kecil kedalam HTML menggunakan tag style untuk halaman paruh atas.
  • Jangan menggunakan @import call  CSS
  • Jangan ada CSS dalam HTML hal-hal seperti div atau h1 ada dalam elemen css.
Alasan dari setup CSS ini akan menjadi ideal dengan meminimize render(loading) css yang pemblokir  cara mengeliminasi css pemblokir render css. dan halaman akan loading sangat cepat. Jika Anda familiar dengan perbedaan style dari css delivery, kemudian anda dapat menggunakan alat 
css delivery tool untuk mendapatkan sebuah penjelasan bagaimana halaman web atau blogspit menggunakan css.Jiika anda kurang famuliar, jangan panik,ikuti saja postingan blog ini If you are not familiar, don't panic, dan dibawah sebagian penjelasan untuk meringankan kepanikan...

File-file External CSS 

Adalah jalan utama bagi file-file css merupakan jalan yang digunakan oleh halaman web dan sangat mungkin  cara css sedang digunakan. Di bagian head html  ada suatu yang sedang muat terlihat,  seperti ini...  
<link rel="stylesheet" type="text/css" href="http://yoursite.com/main.css" media="screen" title="style (screen)" />
panggilan file CSS Anda disebut eksternal karena petunjuk CSS dalam sebuah file 55arate sep6tree dari HTML Anda. Memiliki file CSS eksternal adalah cara de facto untuk menangani CSS dan memiliki keuntungan dari CSS Anda yang sedang di-cache (ingat) oleh web browser. Di mana masalah yang datang adalah jika Anda memiliki beberapa file-file ini. Sayangnya, hal ini sering terjadi di Wordpress dan jenis-jenis tema. 

Jika Anda mempunyai lebih dari satu file css harus di gabungkan menjadi satu file.

css files
Bila Anda memiliki beberapa file CSS eksternal browser harus men-download masing-masing sebelum dapat menampilkan halaman Anda. Hal ini menyebabkan banyak roundtrips untuk mendapatkan setiap file CSS yang menghasilkan halaman web Anda menjadi lambat untuk memuat. Hal ini dapat dengan mudah diubah dengan menggabungkan semua file CSS ke dalam satu file. 
  • mengajukan. Untuk melihat berapa banyak eksternal CSS file halaman web Anda menggunakan kunjungi di sini
  • untuk mendapatkan petunjuk tentang cara untuk menggabungkan file CSS eksternal kunjungi di sini 

Inline CSS

css files

Inline css adalah  petunjuk css yang disertakan dalam dokumen HTML sendiri. Keuntungan dengan metode ini adalah bahwa tidak ada tambahan file (eksternal) yang harus mengambil sebelum website ini ditampilkan. Keuntungan ini hanya satu kenyataan bagi petunjuk css kecil. Jika file css anda besar itu bukanlah metode yang baik untuk anda. Style inline yang dicapai dengan menempatkan petunjuk dalam  tag style seperti yang ditujukan di bawah ini:  
<style>
CSS goes here
</style>
Inlined CSS kecil benar-benar cara yang dapat mempercepat loading halaman website Anda.

JanganMenggunakan @import dalam file call CSS anda..

@ import of css files

Metode @import yaitu dimana file-file css eksternal di panggil menggunakan command @import, lebih baik membuat link langsung sebagaimana yang sudah di bicarakan diatas. Metode ini menyebabkan file css atau file called lebih lambat untuk memuat satu waktu dalam penggunaan metode ini. Dalam kode tampak seperti ini:

@import url("style.css")
Call-call ini benar membuat sakit dalam kecepatan halaman web dan banyak desainer masih menggunakan cara ini untuk.mengeceknya
  • Lihat halaman web anda menggunakan @import call css apa tidak.di sini
  • Untuk mempelajari tentang metode @import di sini

Jangan Inline elemen-elemen atribut dalam HTML.

in element css

Hal ini sangat umum untuk menempatkan gaya dalam elemen HTML, pada kenyataannya, saya cenderung untuk melakukan hal ini sepanjang waktu. Google PageSpeed ​​pedoman "Optimalkan pengiriman CSS" mengatakan bahwa kita tidak harus melakukan ini lagi. Dikatakan bahwa ini akan menyebabkan browser untuk merespon lebih lambat dan bahwa itu tidak akan menjadi bijaksana untuk memiliki gaya seperti dalam kode kami karena untuk melakukannya adalah melawan Kebijakan Content. Keamanan W3 yang merupakan protokol keamanan yang akan memblokir setiap tingkat elemen gaya secara default. Gaya ini terlihat seperti ini ...

Kebijakan Pengaman Konten  

<p style="float:left;"> or <div style="color:#fff;">
Saya memiliki banyak kode saya, dan saya harus melakukan banyak pekerjaan untuk menyingkirkan mereka semua. Untuk melihat apakah halaman web Anda memiliki jenis CSS pergi si sini                                                                                       Para Desainer web

Cara menggunakan css pada halaman web sangat ditentukan oleh desainer, bukan pemilik situs web. Jadi seorang desainer membuat indah, baik command pada kode css dan yang telah menempatkanya dalam beberapa file yang berbeda untuk penjelasan. Mereka berpikir, dengan prestasinya, "saya telah melakukan pekerjaan yang indah dan menakjubkan". Ini adalah apa yang mereka  ajarkan.  Sayangnya praktek ini dan lainya berakhir membunuh performa halaman web. Jika css dalam beberapa file, ada beberapa permintaan dibuat sebelum halaman dapat ditampilkan pada browser, memperlambat pageload dan sangat memberatka beban halaman mobile. Semua css harus hanya dalam satu file untuk kinerja terbaik web. Sebagai realisasi untuk mendapatkan ini diluar sana, Anda akan melihat bahwa web desainer akan mulai membuat kode yang membantu pengguna mereka  dapat bekerja secepat mungkin,  namun untuk saat ini..Anda mungkin memiliki css yang menyakitkan dari website Anda. mobile page loads

Penutup

Seperti yang Anda lihat ada banyak cara menggunakan css pada halaman web, tapi  intinya adalah  bahawa kita perlu untuk membersihlan kode dan menggunakan pengiriman css yang direkomendasikan untuk memastikan halaman kami memuat secepatn yang mereka bisa.  Rekomendasi tersebut:         Menggabungkan eksternal stylesheet inline css kecil css dalam style tag No @import called untuk css yang mana  appropriateNo css dalam soal HTML seperti  div atau h1s ( dalam  elemen css).  

Rekomendasi:
  • Gabungkan css external stylesheet 
  • Inline css kecil pada tag style.
  • Jangan ada @import panggilan untuk css mana yang tepat
  • Tidak ada css dalam HTML hal-hal seperti div   atau h1 dalam CSS  HTML