Jakie są typowe optymalizacje w celu zmniejszenia rozmiaru strony HTML lub XHTML? Niektóre, które przychodzą na myśl, to:
- usuwanie komentarzy,
- usuwanie obcych białych znaków,
- przenoszenie powtarzalnych stylów wbudowanych do arkusza stylów CSS,
- itp.
Jakie są inne? Która oferta daje największe zyski lub może być wykonywana automatycznie przez narzędzie lub moduł?
optimization
html
performance
xhtml
page-size
Chris W. Rea
źródło
źródło
optimization
w temacie i pytaniu!Odpowiedzi:
Google nakreślił i wyjaśnił ich rekomendacje, by jak najlepiej zminimalizować ładowność . Obejmują one następujące techniki:
Te sugestie są częścią ich projektu open-source Firefox / Firebug o nazwie Page Speed . Podobne do wtyczki YSlow firmy Yahoo ! . Rzeczywisty dodatek Page Speed sprawdzi, czy istnieje wiele więcej optymalizacji, niż ta lista szczegółowo wyjaśnia. Przedstawiono również instrukcje dotyczące używania szybkości strony.
Najlepsze praktyki Yahoo! W zakresie przyspieszania witryny określają podobny zestaw najlepszych praktyk:
(Lista Yahoo! Ma długość ~ 35 elementów, nie trzeba cytować jej w całości.)
Zarówno YSlow (link do obrazu), jak i Szybkość strony (link do obrazu) pozwolą ci uruchomić testy na twoich stronach, sugerując rzeczy, które możesz zrobić i pokazując, co z ich rekomendacji jest już zaimplementowane.
źródło
Ktoś powie, że znaczniki powinny być skompresowane przez Gzip, więc równie dobrze mogę być tym.
Oto obszerne wyjaśnienie, czym jest Gzip wraz z linkami, jak skonfigurować go w Apache i IIS .
Artykuł na WebReference stwierdza, że znajdziesz następujące wzrost wydajności podczas korzystania z mod_gzip moduł Apache.
źródło
mod_gzip
było dla Apache 1.3, który osiągnął już koniec życia (nie jest już obsługiwany - oczywiście nadal działa). Odpowiednikiem serii Apache 2 jestmod_deflate
.Prawdopodobnie nie jest tego warte.
Mam grał usuwając spacje w HTML trochę, i piła tylko 10% zniżki w rozmiarze ładowności po gzipping.
(tak, to mówi CSS, ale te same podstawowe zasady dotyczą również HTML)
Problemem jest,
źródło
ok, mały: zachowaj nazwy i atrybuty znaczników pisane małymi literami i spójne (tak na marginesie, jako standardowy mandat). Zwiększa współczynnik kompresji o procent lub dwa.
źródło
Jeśli jesteś witryną o bardzo dużej objętości, możesz rozważyć użycie super krótkiego identyfikatora encji i nazw klas, ponieważ zmniejszają one zarówno rozmiar strony HTML, jak i stronę CSS używaną do jej stylowania.
Uważaj również na zbyt ustrukturyzowaną kompozycję witryny; łatwo jest dodawać sekcje div i span, gdy nie są one naprawdę potrzebne. Możesz także rozważyć strategie, takie jak stronicowanie dla dużych zestawów wyników i podobnych wyników.
W rzeczywistości te optymalizacje mają wyjątkowo ograniczony zwrot (a dla strategii stronicowania potencjalne wady SEO) są tego warte w przypadku witryn, które nie należą do tej samej kategorii ruchu co Google. Postępuj zgodnie z zaleceniami jessegavin, aby włączyć kompresję GZip / Deflate i gotowe.
źródło
Połącz wspólne css, obrazy i javascripts w jeden plik. Nie zmniejsza to rozmiaru pliku, ale zmniejszy liczbę żądań HTTP. W przypadku mniejszych plików obciążenie http znacznie przewyższa czas pobierania. Łatwo jest napisać skrypt łączący pliki css i javascript, dzięki czemu można łatwiej nimi zarządzać podczas programowania, ale wdrażać je w jednym pliku.
Więcej informacji na temat łączenia zdjęć można znaleźć na stronie http://css-tricks.com/css-sprites .
Sprawdź także Kompilator zamknięcia od Google. Nie korzystałem z niego, ale twierdzi, że pobieranie javascript i szybsze uruchamianie.
źródło
Jak powiedzieli inni, największą korzyścią jest gzipping.
Upewnij się, że używasz odpowiednich elementów HTML. Zamiast tego
<div class="page-title">Hello World</div>
użyj<h1>Hello World</h1>
.I oczywiste: nie używaj tabel do układania! Użyj prostego systemu siatki, takiego jak 960.gs (lub stwórz własną lekką wersję). Może być duża różnica między rozmiarem HTML, szczególnie w przypadku zagnieżdżonych tabel. Porównać:
i
źródło
Jeśli korzystasz z witryny ASP.NET, uważaj na ViewState . Może generować bardzo duże ukryte pola na stronie, przeciążając je często, gdy nie jest to konieczne (już zdarzyło mi się, że ViewState jest cięższy niż reszta strony).
Jest to szczególnie prawdziwe, jeśli używasz AJAX, ponieważ ViewState będzie wysyłany tam iz powrotem przy każdym żądaniu, spowalniając twoją stronę internetową i zwiększając natężenie ruchu.
Rozwiązanie znajduje się jednak w kodzie .net .
źródło
Istnieje wiele bezpłatnych narzędzi do analizy i optymalizacji wydajności sieci . Możesz skompilować własną dużą listę kontrolną na podstawie generowanych raportów.
Oto kilka sparafrazowanych punktów z oceny wydajności Zoompf -
źródło
Często pomijaną strategią jest usunięcie całego niepotrzebnego kodu HTML ze strony.
W przypadku każdego projektu musisz zdecydować, którą z tych strategii zastosować, na podstawie używanej wersji (X) HTML i sposobu użytkowania witryny.
(Najwyraźniej nie mogę opublikować więcej niż jednego hiperłącza na odpowiedź, ponieważ jestem nowym użytkownikiem, więc te adresy URL będą musiały zostać skopiowane i wklejone ... Mam nadzieję, że to koszerne).
meiert.com/en/blog/20080601/optional-tags-in-html-4/
code.google.com/speed/articles/optimizing-html.html
meiert.com/en/blog/20090218/performance-and-rfc-2396/
Dzięki tagom takim jak <br> możesz po prostu pominąć ukośnik używany w składni XHTML (<br />), chyba że faktycznie potrzebujesz XHTML.
Oto kilka przykładów małych struktur dokumentów HTML:
meiert.com/en/blog/20080429/best-html-template/
html5doctor.com/html-5-boilerplates/
źródło
Inni to powiedzieli, ale po prostu nie włożyli wystarczającego sensu do domu: gzipowanie.
Wszystkie inne poprawki, które możesz wprowadzić w HTML, wymagają większego wysiłku / konserwacji i prawie nie mają żadnego efektu w porównaniu do zwykłego gzipowania i zapominania. Po prostu nie są warte czasu, chyba że jesteś Google. Nie jesteś Google.
(Jak wspomnieli inni, im bardziej spójny jest Twój HTML, tym większy efekt będzie miał gzipping, ponieważ - zgodnie z moim ograniczonym rozumieniem - gzipping szuka identycznych ciągów w twoim pliku i zastępuje każdą powtarzaną instancję małym kodem odnoszącym się do oryginalne. Więc praktyki autorskie, takie jak utrzymywanie atrybutów w tej samej kolejności i utrzymywanie tej samej obudowy, mogą pomóc programowi gzipping wykonać swoją pracę).
Aha - a jeśli w pewnym momencie procesu kompilacji / udostępniania automatycznie minimalizujesz kod HTML, nie wymaga to dużo wysiłku / konserwacji. Niektóre minimalizatory HTML są wymienione tutaj:
/programming/728260/html-minification
źródło