Korzystam ze statystyk Google PageSpeed, aby spróbować poprawić wydajność mojej witryny i do tej pory okazało się, że jest ona niezwykle skuteczna. Rzeczy takie jak odraczanie skryptów działały pięknie, ponieważ miałem już wewnętrzną wersję jQuery, .ready()
aby odraczać skrypty do pełnego załadowania strony, wszystko, co musiałem zrobić, to wstawić tę konkretną funkcję i przenieść pełne skrypty na koniec strony. To działało świetnie.
Ale teraz widzę jedną pozostałą żółtą kropkę na liście kontrolnej: „Eliminacja kodu CSS blokującego renderowanie w części strony widocznej na ekranie”.
Sposób, w jaki skonfigurowany jest mój CSS, polega na tym, że ma jeden globalny _.css
plik zawierający style, które dotyczą ogólnie struktury strony lub są używane w więcej niż jednym lub dwóch miejscach w witrynie. Większość stron ma wówczas powiązany plik CSS (na przykład party.php
ma party.css
) zawierający style specyficzne dla tej konkretnej strony. Wszystkie pliki CSS są buforowane na czas nieokreślony, ponieważ dodaję je /t=FILEMTIME
do nazw plików (a później usuwam je za pomocą .htaccess), aby zagwarantować, że pliki zostaną zaktualizowane, gdy zostaną zmienione.
W każdym razie Google zaleca wstawianie stylów krytycznych potrzebnych do wyświetlania treści widocznych na ekranie. Problem w tym, że ... cóż, spójrz na ten zrzut ekranu: http://prntscr.com/1qt49e
Jak widać ... CAŁA zawartość jest widoczna na ekranie! Ludzie nienawidzą przewijania, szczególnie w grach, które wymagają ładowania wielu stron. Tak więc zaprojektowałem witrynę tak, aby mieściła się na jednym ekranie (zakładając wystarczająco dobrą rozdzielczość). Oznacza to, że ... WSZYSTKIE style mają zastosowanie do treści widocznych na ekranie! Więc ... czy jest jakieś rozwiązanie? A może utknąłem z żółtym znakiem na prawie idealnym wyniku?