FEO w Joomla!, czyli jak przyspieszyć swoją stronę



Podobne dokumenty
Kompresja stron internetowych

W3 Total Cache. Skuteczne przyśpieszanie WordPressa. Bartosz Romanowski

Przedmowa...9. Wprowadzenie...11

PERFORMANCE W JOOMLA! JAK SPRAWIĆ ABY STRONA DZIAŁAŁA SZYBCIEJ?

WYMAGANIA EDUKACYJNE. Witryny i Aplikacje Internetowe klasa I

Widżety KIWIPortal. tworzenie umieszczanie na stronach internetowych opcje zaawansowane. Autor: Damian Rebuś Data: Wersja: 1.

Ksi¹ ka Wydajne witryny internetowe. Przyspieszanie dzia³ania serwisów WWW to

Aplikacje Internetowe

Najlepsze programy do optymalizacji Windows

Front-end: solidne podstawy. Wszystko, co warto wiedzieć o HTML, CSS, JavaScript i Bootstrap.

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne

ANIMACJE W CSS3. Czyli po co płacić podatek o Javy Script i JQuery

Tworzenie Stron Internetowych. odcinek 5

Szczegółowy opis zamówienia:

Instrukcja instalacji PHP-Hypercachera Refresher Standard oraz PHP-Hypercachera Refresher GZIP na Twojej witrynie

HTML, CSS i JavaScript / Laura Lemay, Rafe Colburn, Jennifer Kyrnin. Gliwice, cop Spis treści

Moduł 2 Użytkowanie komputerów i zarządzanie plikami wymaga od kandydata znajomości obsługi komputera osobistego.

Aplikacje WWW - laboratorium

Webowy generator wykresów wykorzystujący program gnuplot

Pomoc dla systemu WordPress

Dwie perspektywy responsive web design: user experience i front-end developer

I. Dlaczego standardy kodowania mailingów są istotne?

weblsp Wybór przeglądarki i jej ustawienia Instrukcja ADH-Soft sp. z o.o., ul. 17 Stycznia 74, Warszawa

KATEGORIA OBSZAR WIEDZY NR ZADANIA Podstawowe informacje i czynności

Web Performance Optimisation - szybsze strony internetowe

Jak przeglądać publikacje w formacie DjVu?

CSS + HTML. Front end publikacji internetowej. Cięcie grafiki i CSS Ćwiczenia z CSS Typografia CSS image sprites

Instalacja i konfiguracja serwera IIS z FTP

ATSOFTWARE DMS. Elektroniczna archiwizacja

Wyświetlanie publikacji w formacie DjVu. Wyświetlanie publikacji w Bałtyckiej Bibliotece Cyfrowej można realizować na 3 sposoby:

Wymagania edukacyjne: Statyczne witryny internetowe (na podstawie programu nr )

Języki i narzędzia programowania III. Łukasz Kamiński Wykład II

Przygotowanie do nowoczesnego programowania po stronie przeglądarki. (HTML5, CSS3, JS, wzorce, architektura, narzędzia)

Zakres treści Czas. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści

Witryny i aplikacje internetowe

AJAX. Wykonał: Marcin Ziółkowski, AGH Kraków, AiR rok 5.

Szczegóły związane z wymaganiami odnośnie SLA znajdują się w dokumentacji funkcjonalnej znajdującej się w załączniku nr 10 do SIWZ.

Referat Pracy Dyplomowej

Aplikacje Internetowe

Tomasz Grześ. Systemy zarządzania treścią, cz. II

AKTYWNY SAMORZĄD. Instrukcja użytkownika.

czyli jak porządkować swoje dane

Comarch isklep24 Ulotka v. 5.1

Pierwsza strona internetowa

REFERAT O PRACY DYPLOMOWEJ

Tomasz Greszata - Koszalin

WIELOWARSTWOWY CACHE. Na przykładzie serwisu GOG.com. Maciej Włodarkiewicz

Moduł 2 Użytkowanie komputerów

POZYCJONOWANIE STRON PORADY

Tworzenie własnych map dla UI-View

Problemy techniczne. Jak umieszczać pliki na serwerze FTP?

ZAKŁADOWY: ZŁ WPŁACONY KRS REGON: NIP

Po zakończeniu rozważań na temat World Wide Web, poznaniu zasad organizacji witryn WWW, przeczytaniu kilkudziesięciu stron i poznaniu wielu nowych

Jak posługiwać się edytorem treści

CMS- kontakty (mapa)

Serwer druku w Windows Server

PLATFORMA ACTIVE FORMS. Kreator Formularzy Internetowych ze wsparciem dla RWD

Środowisko publikacyjne oparte na XML-u. Szymon Zioło 1 maja 2004

elektroniczna Platforma Usług Administracji Publicznej

Sigplus. Galeria w Joomla

A. Instalacja serwera www

1 90 min. Aplikacje WWW Harmonogram spotkań, semestr zimowy (studia stacjonarne)

Aplikacja Dodatkowe zakładki Shoper Appstore REALIZACJA

Generatory pomocy multimedialnych

E.14.1 Tworzenie stron internetowych / Krzysztof T. Czarkowski, Ilona Nowosad. Warszawa, Spis treści

Spis treści. Spis treści Wstęp Instalacja nazwa.pl Instalacja Home.pl Edycja grafiki strony logo...

Bootstrap. Tworzenie serwisów Web 2.0. dr inż. Robert Perliński

nie trzeba pobierać wszystkich plików z serwera na stację roboczą. Teraz można pobierać tylko te

Konfiguracja szablonu i wystawienie pierwszej aukcji allegro

PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, O STRUKTURZE PRZEDMIOTOWEJ

Co nowego w. wersji 12?

Instrukcja przygotowania pliku do deponowania

KATEGORIA OBSZAR WIEDZY

SYSTEMY ZARZĄDZANIA TREŚCIĄ WORDPRESS

Formatowanie. Formatowanie to proces tworzący na dysku struktury niezbędne do zapisu i odczytu danych.

Kroki dwa. do najlepszych pozycji w Google

Jak zainstalować szablon allegro?

I. Informacje ogólne. Jednym z takich systemów jest Mambo.

CMS - Joomla. Autor: Cyryl Sochacki Mail: cyryllo@task.gda.pl WWW:

Stawiamy pierwsze kroki

Informatyka kl. 1. Semestr I

Wydział Ekonomiczno-Informatyczny w Wilnie. 1. Podstawy programowania strukturalnego (C) 2. Wstęp do programowania obiektowego

Windows Commander (WinCmd)

KONFIGURACJA INTERFEJSU SIECIOWEGO

Wymogi prawne dotyczące BIP CMS. Zasady funkcjonowania serwisu

Agenda. Wstęp Zmiany Co nowego dla web developerów? Nowości we front-end developingu Czego spodziewać się może końcowy użytkownik?

MIGRATE OS TO SSD. Przewodnik

Instrukcja przygotowania pliku do deponowania

Komponent Formularz. Rys. 1. Strona programu Joomla - Rys. 2. Instalacja komponentu

Interfejs Web Konfiguracja przeglądarki

INSTRUKCJA INSTALACJI I KONFIGURACJI APLIKACJI WEBSOFT SITE ANALYZER 2.7.1

Patryk Jar Meet.js, Gdańsk 11 marca 2013 r. MODULARNY JAVASCRIPT

Budowa aplikacji ASP.NET współpracującej z bazą dany do przeprowadzania ankiet internetowych

System archiwizacji i konserwacji baz danych MS SQL

Przewodnik po Notowaniach Statica mdm 4

Kurier DPD dla Subiekt GT

EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE W ZAWODZIE Rok 2017 CZĘŚĆ PRAKTYCZNA

Zmiana logo. Dziękujemy za wybór naszych rozwiązań. apjoo od Apláuz. Wspólnie przebrniemy przez proces konfiguracji strony www i wstawiania treści.

Transkrypt:

FEO w Joomla!, czyli jak przyspieszyć swoją stronę Dominik Kucharski Lead Front-end Developer w CloudAccess.net email: dom@cloudaccess.net prywatny blog: blog.mino.pl twitter: @minopl

PLAN PREZENTACJI Przyczyny oraz zalety stosowania optymalizacji Dlaczego optymalizacja jest taka fajna? :-) Przydatne narzędzia Wprowadzenie do optymalizacji stron WWW

PLAN PREZENTACJI I część optymalizacji - zmniejszanie wielkości strony II część optymalizacji - zmniejszanie ilości żądań do serwera III część optymalizacji - przydatne porady

PRZYCZYNY ORAZ ZALETY STOSOWANIA użytkownicy częściej zostają na stronie, co przekłada się na zysk oszczędność transferu wyższe pozycje w wyszukiwarkach

DLACZEGO OPTYMALIZACJA JEST TAKA FAJNA? Małym nakładem pracy możemy uzyskać świetne efekty

PRZYDATNE NARZĘDZIA - YSLOW

PRZYDATNE NARZĘDZIA - YSLOW Ocena punktowa strony i podpowiedzi

PRZYDATNE NARZĘDZIA - YSLOW Szczegółowe przedstawienie elementów strony WWW

PRZYDATNE NARZĘDZIA - YSLOW Wykresy kołowe z procentowym rozkładem elementów

PRZYDATNE NARZĘDZIA - STRONA WEBPAGETEST.ORG

PRZYDATNE NARZĘDZIA - ZAKŁADKA NETWORK W CHROME WEB INSPECTOR

WPROWADZENIE DO OPTYMALIZACJI STRON WWW - ZASADA 80/20 Średnio 80% czasu wczytywania strony przeznaczone jest na frontend.

WPROWADZENIE DO OPTYMALIZACJI STRON Większość zasad optymalizacji opiera się na prostych wnioskach: 1.Mniejszy plik kopiuje się szybciej niż większy 2.Duży plik kopiuje się szybciej niż wiele mniejszych

I CZĘŚĆ OPTYMALIZACJI - ZMNIEJSZANIE WIELKOŚCI STRONY

BEZSTRATNA KOMPRESJA OBRAZÓW Dobre narzędzia do kompresji: Dla Mac OS: ImageOptim CodeKit Dla Windows: PNGGauntlet

BEZSTRATNA KOMPRESJA OBRAZÓW - JOOMLA! Skompresuj wszystkie pliki w katalogach: /templates/twój_szablon/images/ /images/

BEZSTRATNA KOMPRESJA OBRAZÓW - JOOMLA!

KOMPRESJA GZIP Kompresja gzip zmniejsza przesyłane pliki nawet o 70% 100 75 50 25 0 1 - bez gzip 2 - po kompresji

KOMPRESJA GZIP - ZASADA DZIAŁANIA

KOMPRESJA GZIP - ZASADA DZIAŁANIA

KOMPRESJA GZIP - IMPLEMENTACJA W JOOMLA! 1.Ściągamy HTML5 Boilerplate z html5boilerplate.com 2.Kopiujemy z pliku.htacces część kodu odpowiedzialną za kompresję gzip do pliku.htaccess w Joomla! (domyślnie to htaccess.txt)

KOMPRESJA GZIP - IMPLEMENTACJA W JOOMLA!

ZMNIEJSZANIE OBJĘTOŚCI KODU JAVASCRIPT I CSS Kompresja kodu polega na usunięciu zbędnych znaków z kodu (spacje, tabulacje, przejścia do nowej linii). Najlepsze efekty daje kombinacja kompresji gzip wraz ze zmniejszeniem objętości kodu.

ZMNIEJSZANIE OBJĘTOŚCI KODU W JOOMLA! Opcje we frameworku wykorzystanym do stworzenia szablonu (Warp, Gantry itd.) Osobne rozszerzenie dla Joomla!: JCH Optimize jbetolo JS CSS Control RokBooster

ZMNIEJSZANIE OBJĘTOŚCI KODU W JOOMLA! - JCH

II CZĘŚĆ OPTYMALIZACJI - ZMNIEJSZANIE ILOŚCI ŻĄDAŃ DO SERWERA

ZMNIEJSZANIE ILOŚCI ŻĄDAŃ DO SERWERA

ŁĄCZENIE PLIKÓW JAVASCRIPT ORAZ CSS JCH Optimize

CSS SPRITES CSS Sprites to technika zapisywania wielu elementów graficznych strony w jednym pliku i wyświetlanie przez manipulacje parametrami background-position. Przykładowy kod: #logo { background: url(/images/sprite.png) 0-100px norepeat; }

CSS SPRITES - PRZYKŁAD

CSS SPRITES W JOOMLA! JCH Optimize

OSADZANIE OBRAZÓW Osadzanie obrazów polega na wykorzystaniu kodu w formacie base64 zamiast standardowego pliku graficznego. background:"url(data:image/png;base64,ivborw0kggoaaaansuheugaaaaeaaaazcaiaaab/ 8tMoAAAACXBIWXMAABv9AAAb/QGX0Qc2AAAAMUlEQVR42kWLuREAIAzDdN6JRZiE/YuIgnCpLH+sfYJGeKqRGtZY31dno3T/ t/r/matrmdvknuhcuwaaaabjru5erkjggg==)"repeatbx;

III CZĘŚĆ OPTYMALIZACJI - PRZYDATNE PORADY

UŻYWANIE NAGŁÓWKA EXPIRES ORAZ USUNIĘCIE ETAG Nagłówek Expires informuje przeglądarkę internetową jak długo może trzymać element strony na dysku twardym komputera i wykorzystywać go, zamiast pobierać go z serwera. ETag jest mechanizmem do weryfikacji buforowanych elementów strony. ETag niestety jest zawodny, dlatego lepiej go wyłączyć i polegać tylko na Expires

EXPIRES I ETAG W PRAKTYCE Wystarczy ponownie skopiować odpowiedni kod z pliku.htaccess z HTML5 Boilerplate do pliku.htaccess w Joomla! Kod dla Expires zaczyna się od: # ---------------------------------------------------------------------- # Expires headers (for better cache control) # ---------------------------------------------------------------------- Kod dla ETag zaczyna się od: # ---------------------------------------------------------------------- # ETag removal # ----------------------------------------------------------------------

EXPIRES I ETAG W PRAKTYCE

UMIESZCZANIE SKRYPTÓW NA KOŃCU DOKUMENTU Podczas wczytywania przez przeglądarkę plików JavaScript zatrzymywane jest pobieranie innych plików z serwera, przez co strona ładuje się wyraźnie wolniej.

UMIESZCZANIE SKRYPTÓW NA KOŃCU DOKUMENTU Skrypt na końcu Skrypt w środku

UMIESZCZANIE SKRYPTÓW NA KOŃCU DOKUMENTU JCH Optimize

USUWANIE NIEPOTRZEBNYCH I ZDUBLOWANYCH PLIKÓW W zależności od projektu część wczytywanych przez Joomla! plików może nam się nie przydać. Gdy strona korzysta z podstawowych możliwości Mootools możemy usunąć plik mootools-more.js (227KB). Czasami możemy polegać tylko na jquery i całkowicie usunąć Mootools.

USUWANIE NIEPOTRZEBNYCH I ZDUBLOWANYCH PLIKÓW Idealnym rozszerzeniem do tego celu jest InterEXT.

UMIESZCZANIE ARKUSZY STYLÓW NA POCZĄTKU DOMUMENTU Przeglądarka nie formatuje wyglądu strony do czasu, aż ściągnie wszystkie załączone pliki CSS. Jeśli plik został załączony na końcu dokumentu przeglądarka w trakcie ładowania pokaże niesformatowaną treść strony.

CONTENT DELIVERY NETWORK Content Delivery Network jest zbiorem serwerów WWW umieszczonych w wielu lokalizacjach, których celem jest efektywaniejsze dostarczanie treści użytkownikowi.

CONTENT DELIVERY NETWORK Przykład sieci firmy MaxCDN

CONTENT DELIVERY NETWORK Integracja CDN z Joomla! jest bardzo prosta dzięki rozszerzeniu CDN for Joomla! Wystarczy wykupić usługę CDN i wypełnić kilka pól w rozszerzeniu Joomla!

CONTENT DELIVERY NETWORK Część konfiguracji pluginu

PODZIAŁ PLIKÓW POMIĘDZY KILKA SERWRÓW Podział plików pomiędzy kilka serwerów pozwala przeglądarce na jednoczesne pobieranie wiekszej ilości plików.

PODZIAŁ PLIKÓW POMIĘDZY KILKA SERWRÓW Według badań przeprowadzonych przez Yahoo najlepsza ilość serwerów to 2 do 4. Większa ilość sprawia opóźnienia związane ze zbyt dużą ilością zapytań do serwerów DNS.

PODSUMOWANIE Jeśli chcemy uzyskać bardzo dobre rezultaty przy małym nakładzie pracy (maksymalnie kilka godzin): kompresujemy obrazy włączamy gzip, włączamy nagłówki Expires i wyłączamy ETag kopiując część pliku.htaccess do Joomla! za pomocą rozszerzenia Joomla! włączamy kompresję plików JavaScript i CSS

PODSUMOWANIE Jeśli mamy większe ambicje polecam próby z resztą zaprezentowanych porad ze szczególnym naciskiem na zmniejszenie ilości żądań.

PODSUMOWANIE Materiały: Książka Wydajne witryny internetowe. Przyspieszenie działania serwisów WWW, Steve Saunders stevesaunders.com - blog guru optymalizacji zoompf.com/blog webperformancetoday.com

PYTANIA?

GORĄCO DZIĘKUJĘ ZA UWAGĘ :-)