Responsywna strona (RWD) – czym jest i jak ją zrobić?
Czy wiesz, że według Statcounter ponad 60% całego ruchu w sieci pochodzi z urządzeń mobilnych? Trudno sobie wyobrazić, aby właściciel strony internetowej nie dostosował jej do wymagań smartfonów i tabletów. Brak zoptymalizowanej pod urządzenia mobilne wersji witryny oznacza gorsze doświadczenie użytkownika, wyższy bounce rate i niższe pozycje w Google. Są na to dwie odpowiedzi: albo zbudujesz responsywną stronę internetową, albo przygotujesz odrębną wersję mobilną. W poniższym wpisie wyjaśnimy, czemu dziś standardem jest to pierwsze rozwiązanie i podpowiemy, jak zrobić responsywną stronę.
- Responsywna strona automatycznie dopasowuje układ, treści i grafiki do wielkości ekranu, dzięki czemu działa wygodnie na desktopie, tablecie oraz smartfonie.
- RWD jest dziś standardem – większość ruchu pochodzi z mobile, a Google przy indeksowaniu ocenia przede wszystkim mobilną wersję strony.
- Strona responsywna jest prostsza w utrzymaniu niż osobna wersja mobile, bo działa na tych samych plikach, treściach i kodzie.
- Dobrze wdrożone RWD nie spowolni strony, jeśli projekt uwzględni optymalizację obrazów, lazy loading, minifikację CSS i JS oraz atrybut srcset.
- Responsywność najlepiej jest przetestować na kilku typach urządzeń.
Co to responsywna strona internetowa?
Co to responsywna strona internetowa?
Strona responsywna to taka, która automatycznie dostosowuje się do rodzaju urządzenia i wielkości ekranu, na którym wyświetla ją użytkownik. Dzięki temu powinna być równie czytelna i funkcjonalna na komputerze stacjonarnym z 24-calowym monitorem oraz na małym, 5-calowym smartfonie.
Takie podejście do projektowania stron określa się jako RWD (Responsive Web Design). Opiera się ono na założeniu, że aby strona była wygodna w użytkowaniu na każdym urządzeniu, wcale nie trzeba przygotowywać oddzielnej wersji dla każdego z nich. Wystarczy zadbać o to, aby wszystkie pojedyncze elementy strony – tekst, grafiki itd. – dopasowywały swój rozmiar i układ do ekranu.
Dlatego budowa responsywnej strony nie byłaby możliwa bez tzw. media queries. To dość prosta technika w języku CSS, dzięki której da się stworzyć kilka zestawów reguł co do tego, jak mają być prezentowane elementy witryny. Można zdefiniować osobne style dla, na przykład, ekranów o szerokości poniżej 768px i dla stacjonarnych monitorów o szerokości min. 1024px. W trakcie wczytywania strony automatycznie wysyłane jest zapytanie (query) o rozdzielczość i orientację ekranu. W zależności od tego, jaka będzie odpowiedź, strona wyświetli się według innych reguł. Zawartość witryny zostaje taka sama, zmienia się tylko sposób jej prezentacji.
Mobilna wersja strony a responsywna strona www
Mobilna wersja strony a responsywna strona www
Mobilna wersja strony działa zupełnie inaczej. Korzysta z innych plików niż wersja desktopowa, posiada własną ścieżkę dostępu, strukturę w katalogu oraz subdomenę, np. m.orange.pl. Można zatem uznać ją za odrębną witrynę.
Kiedyś tworzenie mobilnych wersji stron internetowych było powszechne. Telefony posiadały słabsze podzespoły, a internet mobilny był o wiele wolniejszy. W takiej wersji strony internetowej nie znajdziesz wielu grafik, a nawet, bardzo często, wszystkich elementów i możliwości, które znajdują się na niej w wersji desktopowej.
Natomiast wersja responsywna to zazwyczaj dokładnie ta sama strona internetowa co na desktopie, ale przystosowana do wyświetlania treści na różnych ekranach urządzeń mobilnych. Co jeszcze różni strony responsywne od klasycznych wersji mobilnych?
Równorzędność treści i możliwości
Responsywna strona oferuje te same treści i możliwości niezależnie od tego, czy wyświetlana jest na smartfonie, czy komputerze. W przypadku mobile bywa różnie. Aby skrócić czas ładowania i zachować jak najbardziej przejrzysty interfejs, w wersjach mobilnych czasem rezygnuje się z niektórych elementów, które z perspektywy użytkownika mogą być mniej istotne. Z drugiej strony, developerzy z reguły starają się przenieść na mobile wszystkie możliwości „pełnej”, desktopowej witryny, nawet jeśli mają znaleźć się tam w okrojonej formie.
RWD vs. mobile a SEO
Co ciekawe, Google w procesie indeksowania stron analizuje w pierwszej kolejności nie desktopową odsłonę witryny, a mobilną. W skrócie wygląda to tak: roboty indeksujące „symulują” zachowanie użytkownika mobilnego i otwierają stronę w taki sposób, jakby robiły to z poziomu smartfona.
Responsywne strony internetowe mają tu pewną przewagę. Samo Google zaleca, aby stosować podejście RWD (Responsive Web Design) przy projektowaniu stron – i ma ku temu dwa powody:
- responsywne projektowanie stron internetowych sprzyja lepszej optymalizacji pod kątem wydajności, co potem przekłada się na wyniki Core Web Vitals – kluczowe dla pozycji w wynikach wyszukiwania;
- strony RWD są łatwiejsze do indeksowania, bo w każdej odsłonie mają te same treści i strukturę. Gdy Googlebot ma do przeanalizowania odrębne wersje, musi przecrawlować obie.
Utrzymanie strony internetowej
Responsywne strony są prostsze w utrzymaniu. Wystarczy spojrzeć, jak wygląda architektura tych projektów w porównaniu ze stronami z odrębną wersją mobilną.
Strona RWD w każdej swojej „odsłonie” działa na tych samych plikach. Gdy więc będziesz dodawać nowe treści, wystarczy raz zmodyfikować plik HTML. A jeśli zabierzesz się za optymalizację skryptów JS lub dodawanie nowych funkcji – wszystkie zmiany wdrożysz w tym samym kodzie strony. Większość mechanizmów, które nadają responsywność stron internetowych, znajduje się w oddzielnych arkuszach CSS… którymi na co dzień przy aktualizowaniu treści nie musisz się przejmować.
Gdy natomiast masz odrębną stronę mobilną, trzeba zarządzać nią równolegle do tej desktopowej, co nie tylko zwiększa nakład pracy, ale też utrudnia zachowanie spójności.
Cena
Tworzenie stron responsywnych samo w sobie jest dość wymagające. Taki projekt od samego początku powinien być opracowywany z myślą o wszystkich potencjalnych rozdzielczościach. Developerzy muszą więc mieć doświadczenie w pracy z elastycznymi układami stron i doskonale rozumieć Responsive Web Design od strony technicznej – projektowania layoutów i interfejsów pod użytkowników mobilnych czy tworzenia media queries w CSS. Czasem wersja mobilna naprawdę okazuje się łatwiejsza i tańsza w realizacji; zwłaszcza jeśli witryna nie wymaga zbyt zaawansowanych integracji.
Ale z każdą kolejną funkcją koszty budowy odrębnej wersji mobilnej będą rosnąć, i to z reguły szybciej niż koszty wdrożenia nowych możliwości w projekcie RWD. W długim terminie responsywna strona internetowa często jest bardziej opłacalna. Raz, że łatwiej ją rozbudowywać, a dwa – o czym pisaliśmy wyżej – nie wymaga utrzymywania jednocześnie dwóch wersji.
Szybkość ładowania strony
Podejściu RWD wciąż czasem wytyka się, że nie pozwala skrócić czasu ładowania stron do takiego poziomu, jak w przypadku typowych wersji mobilnych. Bo te faktycznie mogą z reguły pochwalić się dobrą wydajnością ze względu na to, że pisane są docelowo pod smartfony i tablety.
Dziś jednak różnice w szybkości między oboma podejściami są raczej mitem. Developerzy mają w swoim arsenale sporo narzędzi, które pozwalają zoptymalizować stronę responsywną na tyle dobrze, że końcowy użytkownik nie zauważy różnicy. Służą do tego m.in. minifikacja plików CSS i JS, tzw. lazy loading oraz optymalizacja wyświetlanych obrazów w HTML-u z atrybutem srcset.
Wykonywanie skomplikowanych zadań
Klasyczne wersje mobilne są zazwyczaj bardzo przejrzyste i proste w użyciu, ale dzieje się to kosztem braku niektórych opcji w porównaniu z wersją „pełną”. Responsywne strony zachowują te funkcje, jednak starają się dostosować je do możliwości mniejszego ekranu.
I tu czasem pojawia się problem. Bo jeśli witryna nie zostanie dobrze zoptymalizowana, dodatkowe elementy (tabele, złożone formularze, animacje) mogą stać się balastem, który nie dość, że spowolni witrynę, to jeszcze może zepsuć cały efekt wizualny. Dlatego tak ważne jest, aby responsywne strony internetowe projektować od początku z myślą o smartfonach – wtedy da się zachować wszystkie funkcje strony i utrzymać jej przejrzystość oraz wydajność.
Komentarz eksperta
Patrząc od strony SEO, wybór między RWD a osobną wersją mobilną nie powinien zaczynać się od technologii, tylko od jednolitości zawartości, wydajności i prostoty indeksacji. W praktyce dobrze zaprojektowana strona responsywna daje Google mniej powodów do błędnej interpretacji, a zespołowi mniej miejsc, w których może pojawić się problem.
Zalety responsywnego projektowania stron internetowych
Zalety responsywnego projektowania stron internetowych
Co sprawia, że responsywne strony są dziś dla wielu developerów nie tyle alternatywą dla odrębnych wersji mobilnych, ile po prostu standardem?
- Choć wymagają więcej pracy przy projektowaniu i programowaniu, responsywne strony internetowe pozwalają zachować wszystkie możliwości desktopowej wersji strony w niemal identycznej formie.
- Są stosunkowo łatwe w utrzymaniu – nie wymagają rozwijania jednocześnie dwóch wersji witryny.
- Nie odstają od zwykłych wersji na mobile pod względem wydajności… pod warunkiem, że są dobrze zaprojektowane.
- Bez problemu radzą sobie z ekranami o każdej rozdzielczości, jeśli siatka strony i style CSS zostaną prawidłowo zoptymalizowane.
- Google stoi po ich stronie. To, jak dziś wygląda proces indeksowania, sprzyja przede wszystkim stronom responsywnym.
Przykłady responsywnych stron internetowych
Przykłady responsywnych stron internetowych
Responsywne strony internetowe są wszędzie. Poniżej omówimy krótko dwa projekty, które dobrze pokazują, jak dzięki prostemu przeskalowaniu siatki strony, zmianie niektórych elementów graficznych oraz modyfikacji układu treści można dostosować stronę do warunków urządzeń mobilnych.
Na początek – Allegro, czyli jedna z najczęściej odwiedzanych polskich stron internetowych.
Źródło: allegro.pl
Co mogłoby pójść nie tak przy projektowaniu responsywnej witryny dla platformy e-commerce? Naprawdę sporo. Na ekranie trzeba zagospodarować m.in. przestrzeń dla banerów promocyjnych, menu z dziesiątkami kategorii produktowych, przyciski związane z samym profilem klienta (Koszyk, Ulubione, odnośnik do panelu klienta) i, oczywiście, wyszukiwarkę ofert. Projektantom udało się temu sprostać dzięki kilku decyzjom.
- Górny pasek nawigacji został „rozbity” na dwa. Na urządzeniach mobilnych najważniejsze przyciski dla procesu zakupowego (m.in. wspomniany Koszyk) znajdują się na dolnym pasku, który w trakcie poruszania się po stronie jest przyklejony do krawędzi ekranu. Tam też trafiła zakładka Kategorie.
- Na urządzeniach mobilnych można zobaczyć przeskalowane banery o identycznej treści i funkcji, ale różniące się nieco wizualnie.
- Warto spojrzeć na pasek wyszukiwania. Wraz ze zmniejszającą się rozdzielczością ekranu staje się coraz bardziej „minimalistyczny” – nawet hasło Szukaj na buttonie zmienia się w lupę.
Mimo tych drobnych zmian, na każdym ekranie interfejs oferuje dokładnie takie samo doświadczenie.
Ciekawymi przykładami są też responsywne strony internetowe portali informacyjnych. W ich przypadku dużym wyzwaniem jest przeniesienie hierarchii publikowanych treści na mniejszy ekran. My wybraliśmy witrynę Wired – amerykańskiego magazynu poświęconego technologii oraz jej wpływom na politykę i kulturę.
Źródło: wired.com
W każdym swoim obliczu strona ma bardzo typowy dla portali newsowych layout – raczej minimalistyczny, przypominający rozkład treści na stronach prasy papierowej, przyciągający uwagę czytelnika samymi nagłówkami i ilustrującymi artykuły zdjęciami. Co się zmienia na ekranach mobilnych?
- Po pierwsze, layout strony się zawęża. Na dużym monitorze i na tablecie zobaczysz klasyczny układ hierarchiczny, a na smartfonie – prosty grid z jedną kolumną;
- po drugie, górny pasek nawigacji jest stopniowo ukrywany, tak, by na smartfonach w całości trafić pod tzw. hamburger menu. Jedynym elementem, który pozostaje „na wierzchu”, jest przycisk Subscribe, czyli klasyczne call-to-action.
Oba te zabiegi na stronach responsywnych – nie tylko tych informacyjnych – możesz spotkać bardzo często.
Jak stworzyć responsywną stronę?
Jak stworzyć responsywną stronę?
Tworzenie responsywnych stron wymaga odmiennego podejścia niż na przykład w przypadku aplikacji mobile-only. Tutaj od samego startu warto myśleć o stronie w kontekście każdego ekranu, na jakim może się pojawić – i tego 6-calowego, i tego desktopowego. Na czym konkretnie trzeba się skupić?
Breakpointy, czyli kiedy strona ma reagować na zmiany rozdzielczości
Breakpointy w podejściu RWD to konkretne rozdzielczości poniżej/powyżej których elementy strony powinny zmienić swój sposób prezentacji. Wykorzystuje się je przy definiowaniu zakresów media queries w arkuszu CSS.
Już na samym początku prac nad responsywną stroną warto określić, pod jakie zakresy rozdzielczości chcesz zoptymalizować witrynę. Czy layout ma przechodzić z układu dwu- lub trójkolumnowego na uproszczony, z jedną kolumną już przy szerokości 990px, czy dopiero przy 768px? Od jakiej rozdzielczości strona ma wyświetlać się według desktopowych „reguł” w CSS? Do takich kwestii można sprowadzić wytyczanie breakpointów.
Najczęściej wyznacza się kilka ogólnych „punktów przejścia”, które mają odpowiadać szerokości: smartfonów w poziomie i w pionie, tabletów – również w obu orientacjach – oraz ekranów komputerów.
Przykładowa definicja breakpointów w CSS może wyglądać tak:
/* Mobile (domyślnie) */ body { font-size: 16px; } /* Tablet */ @media (min-width: 768px) { body { font-size: 18px; } } /* Desktop */ @media (min-width: 1024px) { body { font-size: 20px; } }Układ treści i interfejsu strony
Czyli dwie kwestie, które zawsze są kluczowe przy projektowaniu, ale gdy chcesz zadbać o responsywność strony, stają się też bardziej skomplikowane.
Najważniejszym wyzwaniem jest to, aby tak zdefiniować zachowanie poszczególnych elementów strony przy zmianach rozdzielczości, by nawet na mniejszym ekranie utrzymać w ryzach strukturę interfejsu i hierarchię informacji. Nad tym również pracuje się w CSS-ie, głównie przy pomocy systemów Grid oraz Flexbox.
Przykładowo, tak może wyglądać prosty układ responsywny w podejściu mobile-first:
/* Mobile first */ .container { display: flex; flex-direction: column; } /* Tablet */ @media (min-width: 768px) { .container { flex-direction: row; } } /* Desktop */ @media (min-width: 1024px) { .container { max-width: 1200px; margin: 0 auto; } }Optymalizacja elementów graficznych
Innym problemem do rozwiązania jest sposób skalowania się obrazów. Najprościej można nimi manipulować przy pomocy CSS-a, definiując inną rozdzielczość wyświetlania dla każdego breakpointu. Wtedy jednak przeglądarka – niezależnie, z jakiego urządzenia korzysta użytkownik – musi pobrać z serwera grafikę w pełnym rozmiarze i dopiero potem może ją przeskalować.
Dlatego o wiele lepszym wyborem jest przygotowanie kilku wersji tego samego obrazu, tak aby przeglądarka mogła „wybrać”, która z nich będzie optymalna dla rozdzielczości urządzenia. To akurat zadanie do wykonania w pliku HTML, przy pomocy atrybutu srcset.
Typografia
Przy tworzeniu strony responsywnej trzeba zadbać także o skalowanie samych czcionek. Na szczęście nie jest to trudne – znowu można wykorzystać do tego media queries w arkuszu CSS. Warto tylko pamiętać, że znaczenie ma każdy szczegół, w tym rozmiar czcionki, odstępy między literami i wierszami, a także formatowanie całych akapitów tekstu. Projektowanie typografii dla strony i dostosowywanie jej do różnych rozdzielczości może potrwać wiele tygodni.
Szybka checklista RWD
Aby zebrać to w całość, dodajemy krótką checklistę, co trzeba zrobić przy projektowaniu responsywnej witryny:
- Określ osobno breakpointy dla ekranów smartfonów, tabletów i komputerów.
- Zdefiniuj media queries w CSS-ie dla każdego zakresu rozdzielczości.
- Zaprojektuj w CSS-ie układ treści tak, aby zachowywał hierarchię informacji na każdym ekranie – na podstawie modelu Grid lub Flexbox.
- Przygotuj każdą grafikę w kilku rozdzielczościach i dopasuj je do różnych wielkości ekranów przy pomocy atrybutu srcset w HTML.
- Dostosuj rozmiary czcionek, interlinię i odstępy między literami osobno dla każdego breakpointu.
- Na koniec, przetestuj stronę na różnych urządzeniach.
Narzędzia do testowania RWD
Narzędzia do testowania RWD
Ostatniego punktu nie można pominąć – projektując interfejs pod kilka różnych rozdzielczości jednocześnie, bardzo łatwo o błędy. Z jakich narzędzi najczęściej korzystają developerzy i projektanci?
Do testów wizualnych:
- Chrome DevTools – najprostsze narzędzie, bo wbudowane w przeglądarkę Chrome. Można w nim symulować działanie strony na kilkudziesięciu różnych urządzeniach mobilnych i w obu orientacjach ekranu . Co najważniejsze, zmiany w kodzie CSS można nanosić od razu i na żywo sprawdzać ich efekty;
- Responsive Viewer – rozszerzenie do Chrome’a, które pozwala wyświetlić stronę jednocześnie w kilku rozdzielczościach naraz. Bardzo dobrze działa w połączeniu z DevTools i przydaje się w pracy z breakpointami;
- BrowserStack – płatna platforma, ale o wiele bardziej zaawansowana. Obecnie jest standardem w największych firmach IT. Pozwala przetestować stronę na niemal dowolnym urządzeniu, na każdej przeglądarce oraz w precyzyjnie zdefiniowanych przez siebie warunkach, ale przede wszystkim – i to właśnie jest główny plus – cały proces da się zautomatyzować dzięki integracji z narzędziami typu Selenium czy Cypress.
Do testów wydajności i SEO:
- PageSpeed Insights – darmowe, ale bardzo przydatne narzędzie od Google, które analizuje obie wersje strony (desktopową i mobilną) pod kątem wskaźników Core Web Vitals, ale też dostępności oraz optymalizacji pod roboty wyszukiwarki. W raporcie wskazuje nawet konkretne elementy do poprawy w kodzie strony;
- Lighthouse – niemal identyczne narzędzie, dostępne jako rozszerzenie do Chrome’a. Różnica polega na tym, że Lighthouse działa jedynie lokalnie, na Twoim własnym urządzeniu – da się więc przy jego pomocy przetestować stronę, która jeszcze nie jest dostępna publicznie, tylko np. na stagingu;
- GTmetrix – bardzo popularna, choć płatna aplikacja do mierzenia wydajności. Ogromną zaletą jest fakt, że pozwala wybrać konkretne urządzenie spośród kilkudziesięciu modeli smartfonów i tabletów, na którym testowana będzie strona, jego lokalizację oraz jakość połączenia z internetem; w narzędziach od Google takich możliwości niestety nie ma.
Podsumowanie
Podsumowanie
Tworzenie responsywnych stron internetowych to obecnie standard, do którego powinien dążyć każdy, komu zależy na wysokich pozycjach w wynikach wyszukiwania. Takie witryny zapewniają wysokiej jakości user experience i są promowane przez Google. Jeśli zatem myślisz o zbudowaniu dobrego serwisu internetowego, pomyśl o wersji mobilnej już na etapie projektowania.