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



Podobne dokumenty
Kompresja stron internetowych

Dzięki arkuszom zewnętrznym uzyskujemy centralne sterowanie wyglądem serwisu. Zewnętrzny arkusz stylów to plik tekstowy z rozszerzeniem css.

Bezbolesny wstęp do CSS

Web Performance Optimisation - szybsze strony internetowe


Kaskadowe arkusze stylów cz. 2

LABORATORIUM 3 WSTĘP DO SIECI TELEINFORMATYCZNYCH CSS CECHY WYBRANYCH SELEKTORÓW

Danuta ROZPŁOCH-NOWAKOWSKA Strona Moduł 4. Przykład 1. Przykład 2. HTML 4.01 Transitional).

Z CSS3 szybciej i przyjemniej

CSS pozwala przypisać poszczególnym elementom na. grubość, rozmiar czcionki, kolor tła, odległości między

Projektowanie aplikacji internetowych. CSS w akcji

I. Wstawianie rysunków

Krok 1: Stylizowanie plakatu

Krótki przegląd własności języka CSS

Przykładowe pytania CSS

Sass Rewolucja w CSS +

LESS - CSS dla leniwych

TECHNOLOGIE SIECI WEB

Alfabetyczna lista stylów

Szablony. Wersja 7.6

Zdefiniowane style mogą określać układ treści na stronie i sposób jej formatowania np. kolor czcionki, pogrubienia, tło tabel, rysunków itp.

Laboratorium 1: Szablon strony w HTML5

CSS - layout strony internetowej

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

SterBox. Przygotowanie Strony Użytkownika

Dokument hipertekstowy

PORADNIK KODOWANIA: CSS

p { color: yellow; font-weight:bold; }

Tworzenie stron internetowych w kodzie HTML Cz 5

2. Prezentacja wizualna

Ćwiczenie 9 - CSS i wstawianie CSS

PROGRAMOWANIE. WNPiD UAM, Programowanie, inż. Piotr Jabłoński

Prezentacja dokumentów XML

Uwaga w niektórych przeglądarkach różnice mogą być niewidoczne zależy to od przeglądarki i ew. od jej ustawień.

Responsywne strony WWW

Dokument hipertekstowy

STRONY INTERNETOWE mgr inż. Adrian Zapała

Systemy internetowe Wykład 2 CSS

CSS. Kaskadowe Arkusze Stylów

Prezentacja dokumentów XML

Wprowadzenie do Internetu zajęcia 3

Kaskadowe arkusze stylów

Oczywiście występują także znaczniki, bez ich odpowiednika kończącego, np. <BR>

Nazwa implementacji: CSS i box model. Autor: Opis implementacji: Poznajemy podstawy CSS oraz dowiadujemy się o rozmieszczaniu elementów na stronie.

za pomocą: definiujemy:

KASKADOWE ARKUSZE STYLÓW CSS (ang. Cascading Style Sheets)

Jeśli dodamy jakieś parametry stylów dla poszczególnych DIV-ów, np.: <div style="float: left">pierwsza treść, zdjęcie, tabele lub cokolwiek </div>

Informatyka MPDI 3 semestr

Przykład integracji kalkulatora mbank RATY na platformie IAI

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

Tworzenie stylów w HTML

Języki programowania wysokiego poziomu CSS

Podstawy pozycjonowania CSS

Załącznik Nr 2 do Uchwały Nr XXIX/181/2014 Rady Gminy Bojszowy z dnia 17 stycznia 2014 r.

Zaawansowane projektowanie stron w CSS

Technologia CSS w aplikacjach pocztowych

Wykład 2 CSS. Michał Drabik

Tworzenie Stron Internetowych. odcinek 8

Technologie internetowe

Tworzenie stron internetowych z wykorzystaniem HTML5, JavaScript, CSS3 i jquery. Łukasz Bartczuk

CSS jest is an skrótem od Cascading Style Sheets (Kaskadowe Arkusze Stylów).

Arkusze stylów CSS Cascading Style Sheets

HTML. HTML(ang. HyperTextMarkupLanguage, pol. hipertekstowy język znaczników) język wykorzystywany do tworzenia stron internetowych

PROJEKTOWANIE STRON WWW

Technika pracy nad układem strony

Box model: Content. Content - obszar zawartości określany jest za pomocą deklaracji wysokości i szerokości.

Ćwiczenia laboratoryjne nr 8 Podstawy języka XML.

Podstawy HTML i styli CSS. selektor {właściwość1: wartość1; właściwość2: wartość2}

Układy witryn internetowych

Budowa aplikacji wielowarstwowych. Zastosowanie Kaskadowych arkuszy stylów (CSS)

Optymalizacja logo strony. Krok po kroku... Spis treści

Defilada - przykład wykorzystujący animowane modele Copperlicht. Andrzej P.Urbański Politechnika Poznańska

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

Tło CSS 3. Gabriela Panuś

kaskadowe arkusze stylów

HTML5 - informacje. Źródło. Struktura. Elementy. Atrybuty SVG.

plansoft.org Zmiany w Plansoft.org

Załącznik nr 2 do uchwały Nr XXII/ 141 /2013 Rady Gminy Bojszowy z dnia r. <?xml version="1.0" encoding="utf-8"?>

Specyfikacja techniczna dot. mailingów HTML

Wykorzystano fragmenty wykładu Krystyny Dziubich GRAFIKA WEKTOROWA. Aplikacje i Usługi Internetowe KASK ETI Politechnika Gdańska.

CSS. Kaskadowe arkusze stylów CSS

Można też ściągnąć np. z:

Przegląd technologii

CSS - style kaskadowe. Cascadind Style Sheets

Kaskadowe arkusze stylów (CSS)

Drukarka laserowa monochromatyczna Xerox Phaser 3052 V_NI drukowanie sieciowe Wi-Fi / LAN

Można też ściągnąć np. z:

Zastosowanie kaskadowych arkuszy stylów (CSS - Cascading Style Sheets) w technologii JavaServer Faces

WYKŁAD 2 KASKADOWE ARKUSZE STYLÓW CSS CZĘŚĆ 1

Wordpress: Joomla! Drupal.

Sierpień 2015 rozwiązanie plik: index.htlm

Tajemniczy List. Wstęp HTML & CSS

CSS (kaskadowe arkusze stylów) to narzędzie do formatowania dokumentu. Obecna wersja to CSS 2.1

WYMAGANIA EDUKACYJNE. Witryny i Aplikacje Internetowe klasa I

Projektowanie stron WWW

Norton Sec.3.0 STD PL CARD 1U 1Dvc 1Y Model : Norton Sec.3.0 STD PL CARD 1U 1Dvc 1Y ram sp. j.

PROGRAMOWANIE. WNPiD UAM, Programowanie, inż. Piotr Jabłoński

APLIKACJE INTERNETOWE 3 CSS - W Y G L Ą D S T R O N Y I N T E R N E T O W E J

D:\Program Files\Temp\Deklaracja o wysokości opłaty za gospodarowanie odpadami komunalnymi-3.xml 6 maja :16

Transkrypt:

PERFORMANCE W JOOMLA! JAK SPRAWIĆ ABY STRONA DZIAŁAŁA SZYBCIEJ? Piotr Nalepa Joomla Day Polska 2014

BLOGER I WEBDEVELOPER Kilka słów o mnie SPORTOWIEC AMATOR 2

Perfomance + Joomla =? 3

Google PageSpeed Narzędzie do analizowania wydajności strony internetowej w celu jej optymalizacji i przyspieszenia ładowania. ur1.pl/pagespeed 4

WebPageTest Darmowe narzędzie do testowania szybkości ładowania strony z wielu lokacji na całym świecie, w różnych przeglądarkach. Przedstawia informacje o prędkości ładowania strony, blokadzie dostępności do treści na stronie. Przedstawia również informacje o możliwych usprawnieniach dla strony. www.webpagetest.org 5

Grunt.js Javascriptowy menedżer zadań, oparty o node.js, służący do automatyzacji pracy webdevelopera. www.gruntjs.com 6

Strona którą optymalizowałem 7

Przed wynik w PageSpeed 8

Przed analiza ogólna 9

Przed pliki CSS 10

Przed pliki JS 11

Przed obrazki 12

Przed kod HTML 13

Gotowi? 14

Optymalizacja CSS #1 Gdy korzystamy z frameworków CSS, typu Bootstrap czy Foundation, usuńmy zbędne reguły CSS. 15

Optymalizacja CSS #2 Zredukujmy specificity selektorów CSS dzięki stosowaniu wybranej metodologii pisania kodu CSS: OOCSS, BEM, AMCSS, itp., itd. 16

Optymalizacja CSS #3 Optymalizujmy animacje CSS - Composite. Właściwości CSS, które można bezpiecznie animować: Położenie transform: translate(x, y); Skalowanie transform: scale(n); Obracanie transform: rotate(deg); Przezroczystość opacity: 0 1 Aby włączyć wspomaganie GPU dopisujemy: translate3d(0, 0, 0) 17

Optymalizacja CSS #4 Optymalizujmy animacje CSS - Layout. Właściwości CSS, które bardzo źle wpływają na wydajność: width, height, padding, margin, display, border-width, border, top, position, font-size, float, text-align, overflow-y, font-weight, overflow, left, font-family, line-height, vertical-align, right, clear, white-space, bottom, min-height, itd. 18

Optymalizacja CSS #5 Optymalizujmy animacje CSS - Paint. Właściwości CSS, które źle wpływają na wydajność: color, border-style, visibility, background, text-decoration, backgroundimage, background-position, background-repeat, outline-color, outline, outline-style, border-radius, outline-width, box-shadow, background-size, itd. 19

Optymalizacja CSS #6 Optymalizujmy animacje CSS. Pełna lista właściwości CSS i ich wpływ na animacje: ur1.pl/cssanimacje 20

Optymalizacja JS #1 Łączenie wielu plików JS w jeden plik 21

Optymalizacja JS #2 Wykorzystanie asynchronicznych modułów JS (AMD) 22

Optymalizacja JS #3 Łączenie wielu niezbędnych plików JS w jeden, a pozostałych w drugi plik JS i ładowanie drugiego pliku po załadowaniu strony. 23

Minifikacja plików CSS i JS Zmniejszenie wagi plików, Zmniejszenie opóźnienia ładowania plików, Obfuskacja plików JS za pomocą Uglify2 lub Google Closure. 24

Optymalizacja obrazków Zmniejszenie rozmiarów obrazka, Optymalizowanie jakości obrazka, Obrazki jako sprite y, Ładowanie obrazków pod Retinę (na żądanie), Logo strony jako SVG lub Base64. 25

Redukowanie wielkości pliku HTML Minifikowanie kodu HTML, Usunięcie zbędnych klas, komentarzy, Usunięcie stylów CSS wewnątrz HTML. 26

Optymalizacja ładowania czcionek Ładowanie wybranych liter z Google Fonts: <link href="http://fonts.googleapis.com/css? family=alegreya+sans:300,700&text=joomladaytm" rel="stylesheet" type="text/css"> 27

Optymalizacja ładowania czcionek Przed: Po: 28

Optymalizacja ładowania czcionek Jedno żądanie, wiele czcionek z Google Fonts <link href="http://fonts.googleapis.com/css? family=roboto Alegreya+Sans" rel="stylesheet"> 29

Optymalizacja ładowania czcionek Wykorzystanie localstorage jako systemu cache dla czcionek 30

Po wynik w PageSpeed 31

Po Analiza ogólna 32

Critical render path #1 Kod HTML i pliki (JS, CSS) wymagane aby wyświetlić początkowy widok strony. 33

Critical render path #2 Zastanów się, jakie elementy są potrzebne, aby wyświetlić widoczny (zaraz po załadowaniu) kawałek strony? 34

Critical render path #3 Oprócz kodu HTML potrzebujemy: Logo strony, Główny obrazek artykułu, Ikony menu, Style CSS. 35

Critical render path #4 Możemy dodać po załadowaniu strony: Kod JS Google AnalyXcs, Kod JS sieci społecznościowych, Pozostałe obrazki, Pozostałe pliki CSS i JS. 36

Critical render path #5 Po optymalizacji: Niezbędną część kodu CSS wstawiono do kodu HTML (25kB ze 104kB ogółem), Przekonwertowanie logo strony do SVG lub ciągu znaków Base64, Zoptymalizowano wymagane obrazki, Doładowywanie pozostałych obrazków, Doładowywanie pozostałego kodu JS i CSS. 37

Ale po co to robić ręcznie? 38

Rozszerzenia Joomla! Mootools Enabler/Disabler, JCH Optimize, Content Optimizer. 39

Po użyciu rozszerzeń Joomla! wynik w PageSpeed 40

Analiza ogólna po użyciu rozszerzeń Joomla! 41

Podsumowanie Mniejszy plik = szybsze ładowanie strony (nie zawsze!) Liczy się też czas odpowiedzi z serwera. Najlepsze wyniki osiągniesz, jeśli ręcznie zoptymalizujesz stronę. Optymalizuj z głową! 42

Pytania? 43

Dziękuję za uwagę! J blog.piotrnalepa.pl ur1.pl/fanpage @sunpietro 44