Kroki 1-2: typ projektu i interakcje
React kiedy warto użyć oceniaj jako decyzję techniczną, nie jako wybór modnej biblioteki. React, Vite i Google Search Central prowadzą do jednego praktycznego wniosku: najpierw policz ekrany, stan aplikacji i wymagania renderowania, a dopiero potem wybieraj stack. Lighthouse sprawdza między innymi 4 główne obszary jakości strony: Performance, Accessibility, Best Practices i SEO (źródło: Chrome for Developers, 2025).
„Parafraza: dla nowej aplikacji lub strony z Reactem dokumentacja React.dev zaleca start od frameworka, gdy projekt potrzebuje routingu, pobierania danych lub renderowania po stronie serwera.” React.dev, Creating a React App, 2026
Jak zacząć ocenę Reacta?
Zacznij od jednego zdania operacyjnego: kto używa projektu, co robi i jak często wraca. Inaczej oceniasz wizytówkę hydraulika z 6 podstronami, inaczej panel klienta z fakturami, a jeszcze inaczej konfigurator komputera z 40 zależnymi opcjami.
- Użytkownik końcowy – określ, czy jest to klient z Google, zalogowany użytkownik, redaktor WordPressa, administrator SaaS czy pracownik firmy.
- Główna czynność – zapisz, czy użytkownik czyta treść, filtruje produkty, wypełnia formularz, edytuje dane, kupuje usługę czy wraca do panelu kilka razy dziennie.
- Częstotliwość użycia – strona odwiedzana raz z wyszukiwarki ma inne wymagania niż aplikacja webowa otwierana codziennie przez 30 konsultantów.
- Właściciel treści – jeśli nietechniczny redaktor ma sam zmieniać teksty, WordPress albo headless CMS może być ważniejszy niż komponenty UI.
- Źródło danych – projekt oparty na REST API, logowaniu i rolach użytkownika szybciej uzasadnia React niż statyczny landing page.
Jak policzyć widoki, stany i interakcje użytkownika?
Stan aplikacji to każda informacja, która zmienia interfejs bez przeładowania strony: aktywny filtr, zawartość koszyka, wynik walidacji, wybrana rola, otwarty modal, status zapisu lub dane pobrane z API. Z mojej praktyki przy wdrożeniach frontendowych wynika, że problemy zaczynają się nie od pierwszego przycisku, ale od piątego miejsca, w którym ten sam stan trzeba utrzymać spójnie.
- Policz widoki, czyli osobne ekrany typu lista produktów, karta produktu, koszyk, logowanie, profil użytkownika i panel administracyjny.
- Policz formularze, ponieważ formularz z walidacją e-maila, numeru telefonu, zgód RODO i wysyłką do API ma większy koszt niż zwykły formularz kontaktowy.
- Policz filtry, sortowania i paginację, bo tabela z 500 rekordami, 8 filtrami i zapisem ustawień w URL zwykle pasuje do Reacta.
- Policz komponenty powtarzalne, takie jak karta produktu, alert, modal, zakładki, selektor daty, toast i tabela wyników.
- Policz role użytkowników, ponieważ inne menu dla administratora, klienta i redaktora zwiększa liczbę warunków w interfejsie.
- Policz integracje, na przykład płatności Stripe, Google Maps, REST API, WebSocket, logowanie OAuth lub panel WordPress REST API.
Czy mały projekt potrzebuje Reacta?
Mały projekt zwykle nie potrzebuje Reacta, jeśli ma 1-2 proste interakcje: rozwijane menu, galerię zdjęć albo formularz kontaktowy. Gdy pojawia się kilkanaście powtarzalnych komponentów, współdzielony stan aplikacji i dane z API, React zaczyna skracać pracę zamiast ją wydłużać. Dla podstaw definicji zobacz też React kiedy warto użyć – co oznacza.
- Strona firmowa z 5 podstronami, blogiem i formularzem kontaktowym zwykle lepiej działa jako WordPress, Astro albo statyczny HTML.
- Panel klienta z logowaniem, historią zamówień i edycją danych zwykle uzasadnia React, Vue albo Next.js.
- Sklep z prostym katalogiem może działać na WooCommerce, ale konfigurator z ceną liczoną na żywo częściej korzysta z komponentów UI.
- Aplikacja SaaS z tabelami, rolami, wykresami i zapisanym stanem filtrów jest typowym kandydatem na Reacta.
Kroki 3-4: SEO, wydajność i alternatywy
React SEO to sposób renderowania treści Reacta tak, aby użytkownik i robot wyszukiwarki dostali sensowny HTML, poprawne linki oraz stabilny status HTTP. Najważniejsze atrybuty to obecność treści w pierwszej odpowiedzi HTML, obsługa metadanych i kontrola indeksowania. Google Search Central opisuje przetwarzanie JavaScript w 3 fazach: crawling, rendering i indexing (źródło: Google Search Central, 2025).
„Parafraza: Google może renderować JavaScript, ale renderowanie po stronie serwera lub pre-rendering nadal pomaga użytkownikom i crawlerom, a nie wszystkie boty uruchamiają JavaScript.” Google Search Central, JavaScript SEO basics, 2025
Czy React jest dobry pod SEO?
React może być dobry pod SEO, ale nie w każdej konfiguracji. Czyste SPA, które wysyła prawie pusty HTML i dopiero po JavaScript pobiera treść, zwiększa ryzyko opóźnionej indeksacji, pustych snippetów i błędów przy udostępnianiu linków. Dla stron, które mają rankować w Google, sprawdź renderowany HTML w Google Search Console i wynik w narzędziu typu Lighthouse.
- Jeśli najważniejsze podstrony mają rankować, treść nagłówków, akapitów i linków powinna być dostępna w HTML bez czekania na niestabilne API.
- Jeśli projekt ma 200 artykułów poradnikowych, CMS z dobrym renderowaniem będzie prostszy niż ręczne budowanie bloga w czystym React SPA.
- Jeśli aplikacja działa po zalogowaniu, SEO zwykle ma mniejsze znaczenie, bo Google nie indeksuje prywatnego panelu użytkownika.
- Jeśli metadane zmieniają się per podstrona, potrzebujesz kontroli tytułu, opisu, canonical i danych Article, FAQPage albo BreadcrumbList.
- Jeśli widzisz pusty div root w źródle strony, sprawdź SSR, SSG, Next.js albo Astro, zanim opublikujesz publiczny serwis treściowy.
Czym różni się SPA, SSR i SSG?
| Model | Co dostaje przeglądarka | Kiedy używać | Ryzyko |
|---|---|---|---|
| SPA | Początkowo mało HTML, logika i widoki ładowane przez JavaScript. | Panel po zalogowaniu, dashboard, narzędzie wewnętrzne, aplikacja webowa. | Słabe React SEO, jeśli publiczna treść pojawia się dopiero po renderowaniu klienta. |
| SSR | HTML generowany na serwerze dla żądanej trasy. | Sklep, SaaS z publicznymi landingami, strony wymagające szybkiego pierwszego renderu. | Większe wymagania hostingu, cache i monitoringu błędów po stronie serwera. |
| SSG | Gotowe pliki HTML wygenerowane w czasie builda. | Blog, dokumentacja, baza wiedzy, strona usługowa z rzadkimi zmianami. | Trzeba przebudować projekt po zmianie treści albo podłączyć webhook z CMS. |
Kiedy lepszy jest WordPress, Astro albo zwykły JavaScript?
WordPress wygrywa, gdy redaktor ma sam publikować treści, dodawać zdjęcia i poprawiać meta opisy. Astro wygrywa przy szybkich stronach treściowych z wyspami interaktywności. Zwykły JavaScript wygrywa przy drobnych funkcjach, które nie potrzebują całego systemu komponentów.
- WordPress jest rozsądny dla bloga, poradnika i strony firmowej, gdzie panel edycji treści jest ważniejszy niż zaawansowany stan aplikacji.
- Astro jest dobrym wyborem dla serwisu SEO, który ma dużo statycznej treści i tylko kilka interaktywnych elementów Reacta.
- Vanilla JS wystarczy do menu mobilnego, prostego kalkulatora, galerii, rozwijanego FAQ i walidacji jednego formularza.
- Vue może być alternatywą, gdy zespół zna jego składnię i chce podobny model komponentów z inną ergonomią.
- Next.js ma sens, gdy potrzebujesz Reacta, ale jednocześnie wymagasz SSR, SSG, routingu, metadanych i integracji backendowej.
- React bez frameworka ma sens głównie dla panelu, prototypu, widgetu osadzanego albo aplikacji, w której SEO nie jest krytyczne.
Jak porównać warianty w tabeli decyzyjnej?
Tabela decyzyjna to prosty zapis kryteriów, który chroni projekt przed wyborem technologii na podstawie preferencji jednej osoby. Charakteryzuje się mierzalnymi punktami, jawnymi progami i krótkim uzasadnieniem. Dla wyboru technologii frontend wpisz czas wdrożenia, edycję treści, hosting, prędkość, koszt utrzymania i kompetencje zespołu.
Jakie kryteria wpisać do arkusza decyzji?
- Czas wdrożenia – podaj realny termin, na przykład 2 dni dla statycznej strony, 7 dni dla WordPressa albo 14 dni dla panelu React.
- Edycja treści – wpisz, czy redaktor ma panel CMS, pliki Markdown, formularz administracyjny czy dostęp tylko przez developera.
- Hosting – zaznacz, czy wystarczy zwykły hosting statyczny, serwer PHP, Node.js, Docker, serverless albo CDN.
- SEO – sprawdź, czy treść ma być widoczna w HTML, czy projekt działa głównie za logowaniem.
- Interakcje – policz komponenty UI, formularze, filtry, modale, tabele, koszyk i stan użytkownika.
- Bezpieczeństwo – zapisz, gdzie trzymane są tokeny, czy frontend nie zawiera sekretów i kto robi aktualizacje npm.
- Utrzymanie – określ osobę odpowiedzialną za deploy, monitoring, poprawki po aktualizacjach i test produkcyjnego builda.
Jak wygląda przykład dla strony firmowej, panelu i konfiguratora?
| Projekt | Liczba widoków | Stan aplikacji | Treść SEO | Rekomendacja |
|---|---|---|---|---|
| Strona firmowa serwisu komputerowego | 5-8 podstron | Menu, formularz, mapa kontaktu. | Bardzo ważna, bo ruch przychodzi z Google. | WordPress, Astro albo HTML plus prosty JS. |
| Panel klienta do zgłoszeń IT | 8-15 ekranów | Logowanie, statusy, tabela zgłoszeń, komentarze. | Mało ważna, bo panel jest prywatny. | React przez Vite lub Next.js. |
| Konfigurator PC | 3-6 ekranów | Zależności CPU, płyty głównej, RAM, zasilacza i ceny. | Ważna dla landingów, średnia dla samego konfiguratora. | Hybryda: strona SEO w CMS, konfigurator jako React. |
Next.js czy React bez frameworka?
Next.js to praktyczna odpowiedź, gdy pytanie brzmi nie tylko „czy React”, ale też „jak renderować, routować i publikować stronę”. React bez frameworka przez Vite jest prostszy do prototypu i panelu, ale wymaga decyzji o routingu, pobieraniu danych i strukturze projektu.
- Wybierz Next.js, jeśli publiczne strony mają mieć SSR lub SSG, metadane per URL i kontrolę nad odpowiedziami HTTP.
- Wybierz React przez Vite, jeśli budujesz narzędzie za logowaniem, widget, panel lub prototyp React z ograniczonym SEO.
- Wybierz CMS, jeśli 80 procent pracy to publikowanie treści, aktualizacja grafik i obsługa redakcyjna.
- Wybierz hybrydę, jeśli strona sprzedażowa ma rankować, a tylko wybrany moduł wymaga dynamicznych komponentów.
Krok 5: prototyp React przez Vite
Prototyp React przez Vite to minimalny projekt techniczny, który sprawdza ryzyko na jednym prawdziwym widoku, jednym formularzu, jednej liście i jednym pobraniu danych. Nie przepisuj całego projektu przed decyzją. Celem jest test ścieżki: lokalne uruchomienie, komponenty UI, stan aplikacji, integracja API, build produkcyjny i pomiar jakości.
„Parafraza: Vite składa się z serwera developerskiego z szybkim HMR oraz komendy build, która przygotowuje zoptymalizowane zasoby statyczne do produkcji.” Vite.dev, Getting Started, 2026
Jak uruchomić projekt przez Vite i sprawdzić build?
- Sprawdź Node.js poleceniem node -v, bo aktualna dokumentacja Vite 8 wymaga Node.js 20.19+ albo 22.12+.
- Utwórz projekt poleceniem npm create vite@latest i wybierz szablon React lub React TypeScript.
- Wejdź do katalogu projektu poleceniem cd nazwa-projektu, aby komendy npm działały na właściwym pliku package.json.
- Zainstaluj zależności poleceniem npm install, a po instalacji sprawdź, czy nie pojawiły się błędy sieci lub blokady antywirusa.
- Uruchom lokalny serwer poleceniem npm run dev i otwórz adres localhost pokazany w terminalu, zwykle port 5173.
- Zbuduj projekt poleceniem npm run build i sprawdź, czy katalog dist powstaje bez błędów TypeScript, importów i ścieżek do assetów.
Szczegółową ścieżkę możesz rozpisać osobno w instrukcji jak uruchomić projekt React w Vite.
Jak przetestować komponent, formularz i pobieranie danych?
Nie testuj prototypu na sztucznej liście todo, jeśli docelowy projekt ma obsługiwać zgłoszenia serwisowe, produkty albo rezerwacje. Weź 20-50 realnych rekordów z CSV, API testowego albo zanonimizowanej bazy.
- Komponent listy powinien renderować prawdziwe nazwy, długie opisy, brakujące zdjęcia i rekordy z polskimi znakami.
- Formularz powinien walidować e-mail, telefon, wymagane zgody, puste pola i błąd API zwracany statusem 400 lub 500.
- Pobieranie danych powinno pokazać 3 stany: ładowanie, sukces i błąd, bo użytkownik musi widzieć, co dzieje się po kliknięciu.
- Stan aplikacji powinien przetrwać typowe akcje, takie jak zmiana filtra, otwarcie modala i powrót do poprzedniego widoku.
- Konsola przeglądarki powinna być czysta po odświeżeniu strony, wysłaniu formularza i przejściu przez główną ścieżkę użytkownika.
Jakie wyniki prototypu są ostrzeżeniem?
- Performance w Lighthouse poniżej 80 dla prostego widoku oznacza, że trzeba sprawdzić obrazy, bundle, fonty i niepotrzebne biblioteki.
- Główny plik JavaScript powyżej 250-300 kB po kompresji gzip jest ostrzeżeniem dla małej strony treściowej.
- Błędy w konsoli po zwykłym odświeżeniu wskazują na problem z routingiem, importami, CORS albo obsługą stanu początkowego.
- Build produkcyjny, który wymaga ręcznych poprawek ścieżek, sugeruje bałagan w konfiguracji base URL, assetów albo hostingu.
- Formularz, który gubi wpisane dane po błędzie API, jest ryzykiem UX i może powodować realne straty leadów.
- Wynik SEO w Lighthouse sprawdź razem z renderowanym HTML, zgodnie z instrukcją Lighthouse – jak sprawdzić szybkość strony.
Kroki 6-7: utrzymanie i decyzja
Koszt utrzymania aplikacji React to suma aktualizacji zależności, testów builda, napraw błędów, monitoringu i dokumentacji wdrożenia. Charakteryzuje się stałym kosztem miesięcznym, zależnością od npm oraz koniecznością kontroli bezpieczeństwa. Ten koszt jest niski w zespole frontendowym, ale wysoki w firmie, w której po wdrożeniu nikt nie zna Node.js, Vite ani procesu deploy.
„Parafraza: raport npm audit wskazuje znane podatności w zależnościach projektu oraz poziom ich ważności, a część problemów wymaga ręcznej analizy zamiast automatycznego fix.” npm Docs, About audit reports, 2026
Jak ocenić koszt utrzymania Reacta?
- Repozytorium Git musi mieć jasną gałąź produkcyjną, historię zmian i opis procesu wydania.
- Instrukcja uruchomienia musi zawierać wersję Node.js, komendy npm install, npm run dev, npm run build i miejsce konfiguracji zmiennych środowiskowych.
- Aktualizacje npm trzeba robić cyklicznie, bo stare zależności frontendowe mogą zawierać znane podatności.
- Test builda powinien działać przed każdym deployem, nawet jeśli projekt nie ma jeszcze pełnego zestawu testów jednostkowych.
- Monitoring błędów powinien łapać wyjątki JavaScript, błędy API, białe ekrany i problemy po aktualizacji przeglądarki.
- Dokumentacja komponentów powinna opisywać główne widoki, źródła danych i miejsca, których nie wolno zmieniać bez testów.
Co sprawdzić przed startem produkcyjnym?
- Uruchom npm run build na czystym środowisku, aby wykryć zależności działające tylko na komputerze developera.
- Uruchom lokalny podgląd produkcyjny, na przykład npm run preview, aby sprawdzić routing i assety z katalogu dist.
- Sprawdź, czy w kodzie frontendu nie ma sekretów API, prywatnych tokenów, haseł ani kluczy administracyjnych.
- Przetestuj błędy sieciowe, ponieważ odcięcie API powinno pokazać komunikat, a nie pusty ekran.
- Przetestuj odświeżenie adresu podstrony, bo źle skonfigurowany hosting SPA często zwraca 404 po wejściu bezpośrednio w URL.
- Wykonaj audyt zależności i przeczytaj wyniki zgodnie z instrukcją npm audit – co oznaczają podatności.
Jak zabezpieczyć frontend przed typowymi błędami?
Frontend nie jest miejscem na sekrety. Zmienna zaczynająca się od VITE_ trafia do kodu wysyłanego do przeglądarki, więc nadaje się na publiczny adres API, ale nie na prywatny klucz dostępu. OWASP Top 10 2021 wskazuje podatne i przestarzałe komponenty oraz integralność łańcucha dostaw jako realne obszary ryzyka dla aplikacji webowych (źródło: OWASP, 2021).
- Klucze prywatne trzymaj po stronie backendu, ponieważ użytkownik może podejrzeć kod JavaScript w DevTools.
- Waliduj dane na serwerze, ponieważ walidacja Reacta poprawia UX, ale nie chroni API przed ręcznie wysłanym żądaniem.
- Ustaw Content Security Policy na produkcji, jeśli aplikacja obsługuje dane użytkowników albo treści z zewnętrznych źródeł.
- Nie instaluj losowych paczek npm do jednej funkcji, jeśli tę samą operację da się zrobić kilkoma liniami bez zależności.
- Zapisuj wersje zależności w package-lock.json, aby build lokalny i produkcyjny korzystały z tego samego drzewa pakietów.
Jak podjąć decyzję końcową i zapisać ją bez sporu po 3 miesiącach?
Decyzja końcowa to krótki dokument techniczny, który łączy wynik checklisty React, prototyp React, wymagania SEO i odpowiedzialność za utrzymanie. Najważniejsze atrybuty to jednoznaczna rekomendacja, uzasadnienie oraz lista warunków brzegowych. Taki zapis zmniejsza liczbę sporów, gdy po kwartale pojawi się pytanie, dlaczego projekt nie powstał w WordPressie, Vue albo Next.js.
Kiedy użyć Reacta?
- Użyj Reacta, gdy projekt ma wiele komponentów UI, które współdzielą stan aplikacji i muszą reagować bez przeładowania strony.
- Użyj Reacta, gdy panel po zalogowaniu zawiera tabele, filtry, modale, edycję danych i integrację z REST API.
- Użyj Reacta, gdy konfigurator produktu wymaga natychmiastowego przeliczania ceny, dostępności i kompatybilności opcji.
- Użyj Reacta, gdy zespół zna JavaScript, npm, Git i potrafi utrzymać build produkcyjny przez kolejne miesiące.
- Użyj Reacta jako modułu w hybrydzie, gdy tylko fragment strony potrzebuje intensywnej interakcji.
Kiedy użyć Next.js?
- Użyj Next.js, gdy potrzebujesz Reacta oraz publicznych podstron SEO z SSR, SSG, metadanymi i routingiem po stronie frameworka.
- Użyj Next.js, gdy landing page, blog, dokumentacja i panel użytkownika mają żyć w jednym spójnym projekcie React.
- Użyj Next.js, gdy hosting obsługuje Node.js, serverless albo statyczny export zgodny z wymaganiami projektu.
- Użyj Next.js, gdy chcesz ograniczyć liczbę własnych decyzji o routingu, renderowaniu i strukturze aplikacji.
Kiedy zostać przy CMS albo zrobić hybrydę?
- Zostań przy CMS, gdy redaktor publikuje 10-30 wpisów miesięcznie i musi sam zmieniać treść bez deploya.
- Zostań przy WordPressie, gdy głównym celem jest SEO, kategorie, media, autorzy, komentarze i szybka praca redakcji.
- Zrób hybrydę, gdy treści publiczne obsługuje CMS, a kalkulator, konfigurator albo panel klienta działa jako osobny moduł React.
- Zostań przy prostym JS, gdy projekt ma tylko menu mobilne, galerię, walidację formularza i kilka przełączników.
- Wybierz Astro, gdy potrzebujesz bardzo szybkiej strony treściowej i pojedynczych interaktywnych wysp Reacta.
Jak wygląda finalny zapis decyzji?
Dobry zapis mieści się w 10-15 liniach. Przykład: „Wybieramy React przez Vite dla panelu klienta, ponieważ projekt ma 12 widoków, 6 formularzy, 4 role użytkowników, filtrowane tabele i prywatne dane z API. Publiczne landing page zostają w WordPressie, bo wymagają edycji redakcyjnej i SEO. Warunek startu: repozytorium Git, npm run build w CI, brak sekretów w frontendzie, monitoring błędów i instrukcja deploy”.
- Rekomendacja powinna wskazywać jedną technologię główną oraz ewentualną hybrydę dla treści publicznych.
- Uzasadnienie powinno podawać liczby: widoki, formularze, komponenty, role, integracje i wymagania SEO.
- Ryzyka powinny obejmować utrzymanie npm, hosting, SEO czystego SPA, kompetencje zespołu i koszt przyszłych zmian.
- Warunki produkcyjne powinny zawierać build, audyt zależności, monitoring, kopię konfiguracji i opis procedury rollbacku.
- Data decyzji i właściciel techniczny powinny być zapisane w README, notatce projektowej albo issue w repozytorium.
Najczęściej zadawane pytania
Jak najprościej sprawdzić, czy warto użyć Reacta?
Policz widoki, interakcje i elementy zależne od stanu użytkownika. Jeśli projekt to głównie statyczna treść, React zwykle nie jest potrzebny. Jeśli pojawiają się tabele, filtry, role, formularze i API, wykonaj mały prototyp React przez Vite.
Czy prototyp Reacta musi być kompletny?
Nie, prototyp nie powinien być kompletnym projektem. Wystarczy jeden reprezentatywny widok z formularzem, listą i pobraniem danych. Celem jest sprawdzenie ryzyka technicznego, a nie budowa gotowego produktu przed decyzją.
Czy React wymaga Node.js na serwerze?
Nie zawsze. Aplikację React można zbudować do plików statycznych i hostować na zwykłym hostingu statycznym lub CDN. Node.js jest potrzebny lokalnie do narzędzi developerskich, a SSR lub Next.js mogą wymagać bardziej zaawansowanego hostingu.
Ile pytań z checklisty powinno wskazywać na React?
Nie ma twardej normy, ale większość odpowiedzi powinna dotyczyć dynamicznych danych, komponentów i interakcji. Jeśli dominują treści, SEO i praca redaktora, CMS będzie prostszy. Jeśli dominują stany aplikacji, React jest technicznie uzasadniony.
Co jest największym kosztem Reacta po wdrożeniu?
Najczęściej jest to utrzymanie zależności, testowanie buildów i debugowanie zmian w interfejsie. Dodatkowym kosztem jest konieczność pilnowania bezpieczeństwa npm oraz zgodności z hostingiem. Dlatego decyzję trzeba opierać na potrzebach projektu, nie na popularności biblioteki.
Czy React jest dobrym wyborem dla strony SEO?
React może być dobrym wyborem dla strony SEO, jeśli używasz SSR, SSG, Next.js albo innego sposobu dostarczenia treści w HTML. Czyste SPA jest ryzykowne dla publicznych treści, jeśli robot widzi pustą strukturę przed wykonaniem JavaScript. Przy serwisach poradnikowych często prostszy jest WordPress, Astro albo hybryda.
Źródła i literatura
Jakie źródła zostały użyte?
- React.dev, Creating a React App, dokumentacja React 19, https://react.dev/learn/creating-a-react-app, dostęp 2026.
- Vite.dev, Getting Started, dokumentacja Vite 8, https://vite.dev/guide/, dostęp 2026.
- Google Search Central, JavaScript SEO basics, https://developers.google.com/search/docs/crawling-indexing/javascript/javascript-seo-basics, aktualizacja 2025.
- Chrome for Developers, Introduction to Lighthouse, https://developer.chrome.com/docs/lighthouse/overview, aktualizacja 2025.
- npm Docs, About audit reports oraz npm audit, https://docs.npmjs.com/about-audit-reports, dostęp 2026.
Jak używać źródeł przy własnym projekcie?
- Dokumentację React.dev traktuj jako punkt odniesienia dla architektury komponentów, frameworków i decyzji Next.js czy React przez Vite.
- Dokumentację Vite.dev sprawdzaj przed startem, bo wymagania wersji Node.js i komendy build mogą zmieniać się między dużymi wersjami.
- Google Search Central stosuj przy publicznych stronach SEO, szczególnie gdy projekt opiera się na JavaScript i renderowaniu klienta.
- Lighthouse traktuj jako narzędzie diagnostyczne, a nie wyrok, bo wynik zależy od hostingu, urządzenia testowego, obrazów, fontów i sieci.
- npm audit czytaj ręcznie przy podatnościach high i critical, ponieważ automatyczne npm audit fix może zmienić wersje zależności i zepsuć build.

