webownia

Przypadkowe ukrywanie treści na stronie

Dodano: 20/02/2014autor

Pisanie skryptów w języku JavaScript daje sporo możliwości urozmaicenia strony internetowej. Jedną z takich możliwości jest wczytywanie poszczególnych elementów bez konieczności przeładowania strony. Funkcjonalność ta wdarła się przebojem do wszelakich witryn i zadomowiła się tam na dobre.

Jakie korzyści?

Przede wszystkim efekt. Dobrze przygotowana strona, której wczytywanie poszczególnych elementów nie wymaga przeładowania całej witryny, wygląda bardzo fajnie. Często też działa zdecydowanie sprawniej, bowiem nie wymaga odświeżenia wszystkich grafik i tekstów. Jeżeli dodatkowo zaprojektujemy do tego jakiś efektowny loader to rezultat może być naprawdę przyjemny.

W rozbudowanych serwisach atutem może być oszczędność miejsca. W ramach jednego bloku mamy możliwość zaprezentowania wielu różnych treści. Przykładowo: zamieszczona na stronie tabela z jakimś rankingiem, może mieć zmieniane parametry za pomocą JavaScript. W jednej tabeli możemy zatem zawrzeć kilka rankingów. Bez zastosowania tej funkcjonalności musielibyśmy stworzyć albo wiele tabel, albo jedną, mocno rozbudowaną.

Jakie zagrożenia?

Wczytywanie treści bez przeładowania strony rodzi pewne niebezpieczeństwa. Nie chodzi mi tutaj o kwestie związane z samym językiem JavaScript, którego obsługa może zostać wyłączona w przeglądarce, przez co użytkownik może nie mieć dostępu do części serwisu. Wiadomo bowiem, że użytkownicy, którzy świadomi wyłączają obsługę JavaScript będą wiedzieli, kiedy obsługa tego języka jest konieczna a kiedy nie. Oczywiście dobrze jest przygotować witrynę tak, aby działała prawidłowo zarówno z włączonym JavaScriptem jak i bez niego. Nie jest to jednak sprawa priorytetowa. Dla nas ważniejsza będzie optymalizacja. Bardzo często jest bowiem tak, że ukryta treść za pomocą JavaScriptu nie jest widoczna w kodzie źródłowym strony, a więc nie jest również widoczna dla robotów sieciowych, które indeksują naszą witrynę. Trzeba na to zwrócić uwagę, zwłaszcza, jeżeli ukrywana treść jest treścią wartościową z punktu widzenia optymalizacji.

Ostatnio od klienta dostałem przykład strony, na której miałbym oprzeć projekt dla niego. Na tej właśnie stronie wszystko poza stroną główną było wczytywane za pomocą JavaScript. Z punktu widzenia robotów sieciowych strona wyglądała jakby miała tylko jedną podstronę, cała reszta była niewidoczna. Dla użytkowników strona prezentowała łącznie 5 podstron. Trochę szkoda tej treści, która przecież mogła przyczynić się do osiągnięcia lepszych pozycji w wyszukiwarkach.

Korzystać czy nie?

Wykorzystywanie takich możliwości jest jak najbardziej wskazane. Należy to jednak robić z rozwagą i przede wszystkim z umiarem. Warto z pewnością wczytywać w ten sposób te elementy, które wymagają sporych obliczeń po stronie serwera, a które nie muszą być dostępne dla wszystkich. Prowadziłem kiedyś na jednej ze stron konkurs, w których wyniki były obliczanie automatycznie, codziennie, na podstawie dość skomplikowanych statystyk. Wyliczenia prezentowane wszystkim odwiedzającym stronę mocno obciążyłby serwer. W tym wypadku wykorzystanie JavaScriptu do wczytania tylko i wyłącznie wyników konkursu w danym bloku na stronie było uzasadnione. Nie jest to bowiem informacja dla wszystkich, a jedynie dla tych, którzy w konkursie brali udział. Na kilkaset odwiedzin danej podstrony, tylko kilkadziesiąt było zainteresowanych obejrzeniem wyników. W efekcie tylko kilkadziesiąt użytkowników wywołało skomplikowany skrypt obliczeniowy. Oczywiście zastosowań może być dużo więcej. Zawsze należy pamiętać o tym, żeby użycie tej funkcjonalności miało głębszy sens.

Zobacz wpisy w podobnym temacie