Optymalizacja wydajności strony internetowej opartej na systemie WordPress stanowi kluczowy element skutecznej strategii obecności w internecie. Przyspieszenie wczytywania witryny WordPress poprawia doświadczenia użytkowników i bezpośrednio przekłada się na lepszą widoczność w wyszukiwarkach oraz wyższe wskaźniki konwersji. Współczesne badania wskazują, że opóźnienie ładowania strony o zaledwie jedną sekundę może skutkować siedmioprocentowym spadkiem konwersji, podczas gdy BBC zaobserwowało, że dziesięć procent użytkowników opuszcza ich serwis za każdą dodatkową sekundę oczekiwania. Niniejszy artykuł przedstawia kompleksowe podejście do optymalizacji wydajności WordPressa, obejmując zarówno podstawowe techniki dostępne dla początkujących użytkowników, jak i zaawansowane metody wymagające głębszej wiedzy technicznej. Systematyczne wdrażanie opisanych strategii pozwala na znaczące przyspieszenie wczytywania strony WordPress, wzrost satysfakcji odwiedzających, poprawę pozycji w Google oraz zwiększenie liczby konwersji.
- Znaczenie szybkości ładowania strony WordPress dla sukcesu witryny
- Wykorzystanie mechanizmów cache i pamięci podręcznej jako fundament optymalizacji
- Optymalizacja obrazów i multimediów jako strategia redukcji rozmiaru strony
- Czyszczenie i optymalizacja bazy danych dla utrzymania optymalnej wydajności
- Minifikacja i optymalizacja kodu dla redukcji rozmiaru zasobów
- Wykorzystanie sieci CDN dla globalnej dystrybucji treści
- Optymalizacja hostingu i infrastruktury serwerowej
- Zarządzanie motywami i wtyczkami dla minimalizacji obciążenia systemu
Znaczenie szybkości ładowania strony WordPress dla sukcesu witryny
Szybkość ładowania strony w dzisiejszym cyfrowym świecie stanowi fundamentalny czynnik decydujący o sukcesie lub porażce witryny. Badania wiodących platform technologicznych dowodzą, że użytkownicy internetu mają coraz krótszą uwagę i wysokie oczekiwania dotyczące natychmiastowego dostępu do informacji. Pinterest odnotował piętnastoprocentowy wzrost rejestracji po skróceniu czasu ładowania o niemal czterdzieści procent, co jest wyraźnym dowodem na związek między wydajnością a wynikami biznesowymi. Wskaźniki konwersji mogą maleć nawet o dwadzieścia procent z każdą dodatkową sekundą opóźnienia, co szczególnie istotne jest dla sklepów internetowych oraz witryn komercyjnych.
Wpływ szybkości ładowania na doświadczenie użytkownika wykracza poza wskaźniki odrzuceń czy czas spędzony na stronie. Wolno ładująca się witryna WordPress wywołuje frustrację i skłania do przejścia do konkurencji. To kluczowe na urządzeniach mobilnych, które są dominującym kanałem dostępu do treści. Użytkownicy mobilni często korzystają z połączeń o ograniczonej przepustowości, co podkreśla konieczność optymalizacji wydajności witryny WordPress. Strona, która ładuje się sprawnie zarówno na komputerach, jak i telefonach, zapewnia spójne i pozytywne doświadczenie niezależnie od kontekstu.
Aspekt optymalizacji pod kątem wyszukiwarek stanowi kolejny kluczowy argument za inwestycją w przyspieszenie strony WordPress. Google potwierdziło, że szybkość ładowania jest jednym z czynników rankingowych. Algorytmy wyszukiwarki zwracają uwagę na istotne metryki, w tym Core Web Vitals (np. Largest Contentful Paint i Cumulative Layout Shift) oraz czas do pierwszego bajtu (TTFB). Witryny WordPress z lepszymi wynikami w tych metrykach mają większe szanse na wyższe pozycje, co przekłada się na większy ruch organiczny i widoczność marki. Optymalizacja wydajności to proces ciągły, wymagający monitorowania, testowania i ulepszeń.
Ekonomiczne konsekwencje wolnej witryny WordPress są dotkliwe: każda sekunda opóźnienia przekłada się na utracone przychody, niższą wartość koszyka i spadek lojalności klientów. W e‑commerce na WordPressie i WooCommerce utrzymanie wysokiej wydajności może być decydującym czynnikiem przewagi konkurencyjnej. Firmy inwestujące w optymalizację nie tylko zwiększają konwersje, ale też budują długoterminową wartość marki.
Aby szybko podsumować kluczowe korzyści, zwróć uwagę na najważniejsze efekty przyspieszenia witryny:
- wyższe pozycje SEO – lepsze wyniki w Google dzięki poprawie Core Web Vitals i krótszemu TTFB;
- więcej konwersji i przychodów – krótszy czas ładowania przekłada się na większą sprzedaż i mniejszy współczynnik odrzuceń;
- lepsze doświadczenie użytkownika (UX) – spójnie szybkie działanie na desktopie i urządzeniach mobilnych;
- niższe koszty infrastruktury – mniejsze obciążenie serwera, mniej zasobów potrzebnych do obsługi ruchu.
Wykorzystanie mechanizmów cache i pamięci podręcznej jako fundament optymalizacji
Cache to jeden z najefektywniejszych i najprostszych sposobów przyspieszenia WordPressa. Polega na przechowywaniu statycznych wersji dynamicznie generowanych stron, co zmniejsza obciążenie serwera i skraca czas dostarczenia treści. Standardowo każde żądanie wymaga zapytań do bazy danych, przetworzenia PHP i wygenerowania HTML w czasie rzeczywistym. Wtyczki cache przechowują gotowe wersje stron i serwują je natychmiast, bez ponownego wykonywania kosztownych operacji.
Wybór wtyczki cache zależy od typu cache’owania i specyfiki instalacji. WP Rocket, uznawany za rozwiązanie kompleksowe, automatycznie wdraża ok. 80% dobrych praktyk (cache stron, cache przeglądarki, kompresję GZIP), dając szybkie efekty bez skomplikowanej konfiguracji. Oferuje też cache preloading, lazy loading obrazów i optymalizację bazy danych.
W3 Total Cache oraz WP Super Cache oferują alternatywne podejścia. W3 Total Cache wyróżnia się rozbudowaną konfiguracją (cache przeglądarki, cache obiektów, obsługa CDN) i w niektórych scenariuszach osiąga lepsze czasy ładowania niż WP Rocket. WP Super Cache (rozwijany przez Automattic) to solidna darmowa opcja z szerokim wsparciem społeczności.
Konfiguracja wtyczek cache zwykle oferuje tryby „Simple” i „Expert”. Dla większości użytkowników zalecany jest start od trybu Simple i stopniowe testy ustawień zaawansowanych. Kluczowe jest ustawienie wykluczeń z cache dla stron dynamicznych, np. koszyka WooCommerce czy obszarów dla zalogowanych użytkowników, aby zachować pełną funkcjonalność.
Zaawansowane mechanizmy obejmują cache preloading (automatyczne generowanie plików cache po publikacji/aktualizacji) oraz garbage collection (usuwanie przestarzałych plików cache). Właściwie skonfigurowany cache przeglądarki, który instruuje przeglądarkę, co przechowywać lokalnie, dopełnia wielowarstwowy system cache’owania i zapewnia maksymalną szybkość przy minimalnym obciążeniu serwera.
Porównanie popularnych wtyczek cache:
| Wtyczka | Licencja | Kluczowe funkcje | Poziom trudności | Najlepiej dla |
|---|---|---|---|---|
| WP Rocket | Płatna | Cache stron, cache przeglądarki, GZIP, preloading, lazy loading, optymalizacja bazy | Niski | SMB i witryny wymagające szybkich efektów bez złożonej konfiguracji |
| W3 Total Cache | Darmowa/Płatna | Cache obiektów, CDN, minifikacja, database cache, page cache | Średni/Wysoki | Zaawansowane instalacje z indywidualnym tuningiem |
| WP Super Cache | Darmowa | Statyczne HTML, tryb Simple/Expert, preload, integracje | Niski | Proste witryny, blogi, projekty budżetowe |
Stosując cache, pamiętaj o poniższych zasadach konfiguracji:
- wykluczenia z cache – nie buforuj koszyka, checkoutu, panelu użytkownika i stron wymagających sesji;
- preloading – włącz generowanie cache po publikacji/aktualizacji, by unikać „zimnych” pierwszych wizyt;
- czyszczenie i harmonogram – ustaw garbage collection i okresowe purge, aby usuwać przestarzałe wpisy;
- cache przeglądarki – wydłuż TTL dla statycznych zasobów, skróć dla dynamicznych plików motywu i JS.
Optymalizacja obrazów i multimediów jako strategia redukcji rozmiaru strony
Obrazy to zwykle ponad połowa rozmiaru strony. Niezoptymalizowane grafiki o wysokiej rozdzielczości mogą powiększyć stronę o dziesiątki megabajtów i dramatycznie wydłużyć ładowanie, szczególnie na urządzeniach mobilnych. Skuteczna strategia obejmuje kompresję, skalowanie oraz formaty nowej generacji (WebP, AVIF), które oferują wysoką jakość przy mniejszym rozmiarze niż JPEG czy PNG.
Automatyzację zapewniają wtyczki. EWWW Image Optimizer oferuje automatyczne skalowanie, konwersję do WebP oraz kompresję „w locie” bez modyfikowania oryginałów, a także minifikację JavaScript i CSS. Plan Standard zaczyna się od 7 USD/miesiąc dla pojedynczej witryny, z wyższymi limitami w droższych planach.
Imagify oraz Optimole reprezentują alternatywne podejścia. Optimole optymalizuje obrazy w czasie rzeczywistym, generując warianty zależne od urządzenia i przeglądarki, dostarcza je przez globalną sieć CDN i stosuje lazy loading. Użytkownicy mobilni otrzymują mniejsze, przeskalowane wersje, a desktop – obrazy wyższej jakości.
ShortPixel Image Optimizer wspiera WebP i AVIF, oferując lepszą kompresję przy zachowaniu jakości, co pomaga w Google PageSpeed Insights i Core Web Vitals. Wtyczka korzysta z zewnętrznych serwerów do optymalizacji (mniejsze obciążenie hostingu), co jednak może rodzić obawy o prywatność przy materiałach wrażliwych za paywallem.
Lazy loading odracza pobieranie obrazów i wideo spoza aktualnego pola widzenia, co dramatycznie poprawia początkowy czas ładowania. Można wdrożyć go wtyczką lub kodem w functions.php; wiele wtyczek cache (np. WP Rocket) włącza go automatycznie. To szczególnie ważne w serwisach z dużą liczbą zdjęć, jak portfolia fotograficzne, blogi kulinarne czy sklepy internetowe.
Wideo najlepiej hostować na dedykowanych platformach (YouTube, Vimeo) i osadzać je w WordPressie. Przenosi to obciążenie na infrastrukturę dostawców wideo i przyspiesza stronę, a dodatkowo zapewnia zaawansowane funkcje playerów, monetyzację i większą widoczność treści.
Najpopularniejsze wtyczki do optymalizacji obrazów – szybkie porównanie:
| Wtyczka | Formaty | CDN | Lazy loading | Charakterystyka | Cena od |
|---|---|---|---|---|---|
| EWWW Image Optimizer | JPEG, PNG, WebP | Opcjonalnie | Tak | Optymalizacja „w locie”, skalowanie, opcje minifikacji CSS/JS | 7 USD/mies. |
| Optimole | JPEG, PNG, WebP | Tak (globalna sieć) | Tak | Dynamiczne dopasowanie do urządzenia, warianty obrazów, kompresja w czasie rzeczywistym | Plan darmowy / płatne |
| ShortPixel Image Optimizer | JPEG, PNG, WebP, AVIF | Opcjonalnie | Tak | Wysoka kompresja przy zachowaniu jakości, przetwarzanie na zewnętrznych serwerach | Plan darmowy / płatne |
Czyszczenie i optymalizacja bazy danych dla utrzymania optymalnej wydajności
Baza danych WordPress przechowuje treści, ustawienia i metadane. Z czasem rozrasta się o rewizje postów, spam komentarzy, przeterminowane transienty i osierocone metadane, co spowalnia zapytania. Regularne czyszczenie i optymalizacja tabel redukują dane do indeksowania i przyspieszają odpowiedzi serwera.
Rewizje postów szybko akumulują się podczas edycji. Choć są przydatne, nieograniczone przechowywanie obniża wydajność. Warto ograniczyć ich liczbę w wp-config.php lub użyć wtyczek, które automatycznie usuwają starsze rewizje zgodnie z regułami.
Komentarze spam i niepotwierdzone generują wpisy w tabelach i powiększają bazę, wydłużając zapytania. Zaplanowane czyszczenie w narzędziach takich jak WP Rocket czy Advanced Database Cleaner usuwa zbędne wpisy codziennie, tygodniowo lub miesięcznie.
Transienty i autoloaded options mają duży wpływ na wydajność. Transienty powinny wygasać, ale bywa inaczej. Opcje z autoload są ładowane przy każdym żądaniu. Zbyt wiele opcji autoload (np. powyżej ~800 KB) może wyraźnie spowolnić witrynę. Warto zidentyfikować i wyłączyć autoload dla niekrytycznych opcji.
Manualna optymalizacja przez phpMyAdmin daje pełną kontrolę. Należy zalogować się do panelu hostingu (np. cPanel), wejść do phpMyAdmin, przejść do zakładki Struktura, zaznaczyć tabele i wybrać opcję Optimize table. Zawsze wykonuj kopię zapasową. Dla wygody można użyć wtyczek z interfejsem graficznym, takich jak WP Rocket, Advanced Database Cleaner, WP‑Optimize, WP‑Sweep czy Perfmatters.
Dla szybkiego ograniczenia liczby rewizji możesz dodać do wp-config.php poniższą dyrektywę:
define('WP_POST_REVISIONS', 10);
Najważniejsze elementy, które warto regularnie czyścić, to:
- rewizje i autosave – ogranicz liczbę wersji i usuwaj stare wpisy, aby zmniejszyć rozmiar tabel;
- komentarze spam/sieroty – kasuj spam, kosz i niezatwierdzone komentarze, by przyspieszyć zapytania;
- transienty wygasłe – usuwaj przeterminowane klucze, które nie zostały zwolnione automatycznie;
- autoloaded options – redukuj ładunek autoload, wyłącz dla opcji niekrytycznych;
- osierocone metadane – porządkuj meta_post i meta_user po usuniętych treściach.
Minifikacja i optymalizacja kodu dla redukcji rozmiaru zasobów
Minifikacja usuwa zbędne znaki z plików CSS i JavaScript (komentarze, białe znaki, nowe linie), zmniejszając rozmiar i przyspieszając transfer. Typowo redukuje rozmiar o 20–30% bez utraty funkcjonalności. Google rekomenduje minifikację, a PageSpeed Insights flaguje nieminifikowane zasoby jako obszar do poprawy.
Minifikację można wdrożyć narzędziami online, w środowisku deweloperskim, na serwerze lub wtyczkami. Przykłady: Toptal (dawniej JavaScript Minifier) z API, CleanCSS.com dla CSS/JS. Dla zaawansowanych: UglifyJS dla Node.js, wtyczki do IDE (np. Visual Studio, Xcode) oraz moduły dla Nginx i Apache – jako element procesu wdrożeniowego.
WP Rocket oferuje minifikację CSS/JS, kompresję GZIP, cache i optymalizację dostarczania zasobów. Wystarczy włączyć opcje „Zminimalizuj pliki CSS/JavaScript” i zapisać, a następnie wyczyścić cache.
Autoptimize to popularna darmowa alternatywa, która optymalizuje kod JS i CSS, a także potrafi odroczyć ładowanie zasobów blokujących renderowanie, poprawiając First Contentful Paint i Largest Contentful Paint. Po zapisaniu ustawień warto opróżnić cache wtyczki.
Podczas optymalizacji zasobów front‑endu, trzymaj się poniższych wytycznych:
- łączenie plików selektywnie – rozważ bundle przy HTTP/1.x, przy HTTP/2/3 postaw na mniejsze, logiczne paczki;
- async/defer dla JS – oznacz niekrytyczne skrypty, aby nie blokowały renderowania;
- priorytety ładowania – odłóż analitykę, piksele i widgety zewnętrzne, by przyspieszyć LCP;
- krytyczny CSS – w razie potrzeby wstrzyknij niewielką porcję stylów above the fold, resztę ładuj asynchronicznie.
Wykorzystanie sieci CDN dla globalnej dystrybucji treści
CDN (Content Delivery Network) to rozproszona sieć serwerów na świecie, które hostują i dostarczają kopie treści statycznych (i czasem dynamicznych) użytkownikom z minimalnym opóźnieniem. CDN replikuje zasoby (obrazy, CSS, JS, wideo) na serwerach zwanych punktami obecności (PoP). Użytkownik jest kierowany do najbliższego geograficznie PoP, co skróca dystans przesyłu danych i redukuje opóźnienia. W 2024 roku CDN to standard dla witryn obsługujących globalną lub rozproszoną bazę użytkowników.
CDN przechowuje zasoby na rozproszonych serwerach i inteligentnie prowadzi żądania do optymalnego punktu w oparciu o lokalizację, obciążenie i dostępność. Użytkownik w Europie otrzymuje pliki z europejskiego PoP, a w Azji – z azjatyckiego. Bliskość geograficzna potrafi zredukować opóźnienia o setki milisekund, zapewniając szybkie, spójne doświadczenie niezależnie od odległości od serwera źródłowego.
Wpływ CDN na TTFB i czasy ładowania bywa dramatyczny. Testy Kinsta: bez CDN całkowity czas ładowania wynosił 1,45 s przy średnim TTFB ≈ 136 ms. Po włączeniu Kinsta CDN (Cloudflare) całkowity czas spadł do 788 ms, a średni TTFB do 37 ms – ponad 50% szybciej i blisko czterokrotne przyspieszenie TTFB. Test wykonano ze Sztokholmu, gdzie znajdował się PoP, co obrazuje korzyść z bliskości treści do użytkownika.
Integracja CDN zależy od dostawcy i hostingu. Wielu hostów oferuje wbudowaną integrację z Cloudflare, KeyCDN czy StackPath i prostą aktywację w panelu. Wtyczki cache (np. WP Rocket, W3 Total Cache) mają wsparcie dla popularnych CDN i automatycznie przepisują adresy zasobów na domenę CDN.
Cloudflare wyróżnia się bogatą funkcjonalnością i atrakcyjnym planem bezpłatnym. Oferuje automatyczną minifikację na serwerach brzegowych (CSS, JS, HTML), ochronę DDoS, Web Application Firewall i blokowanie złośliwego ruchu na poziomie sieci brzegowej. Dla większości małych i średnich witryn plan darmowy wystarczy; płatne plany zapewniają m.in. zaawansowaną analitykę i optymalizację obrazów na brzegu.
Przy konfiguracji CDN pamiętaj o regułach dotyczących cache i nieważnienia treści:
- TTL dla statyków – dla obrazów i bibliotek JS ustaw długie czasy życia (dni/tygodnie);
- krótszy TTL dla plików roboczych – arkusze stylów motywu i kluczowe skrypty aktualizuj częściej;
- purge/invalidation – czyść selektywnie cache zasobów lub całej witryny przy pilnych zmianach i hotfixach.
Optymalizacja hostingu i infrastruktury serwerowej
Wybór hostingu WordPress to najważniejsza decyzja wpływająca na bazową wydajność. Hosting współdzielony jest tani, ale zasoby CPU, RAM i I/O są dzielone z wieloma witrynami. Wraz ze wzrostem ruchu warto przejść wyżej: więcej CPU/RAM, SSD/NVMe dla szybszego I/O, mocniejsze procesory. Dla wymagających instalacji pomocna jest separacja usług (HTTP i MySQL) na wielu serwerach/VPS w tej samej lokalizacji.
Aktualizacja PHP do najnowszej wersji to prosty i skuteczny sposób na wzrost wydajności bez zmian w kodzie. Benchmarki Kinsta pokazują stałe zyski: dla WordPress 6.4.2 PHP 7.4 osiągał 149 rps, PHP 8.1 – 153 rps, PHP 8.2 – 158 rps, a PHP 8.3 – 169 rps (ponad 13% więcej niż 7.4). W WooCommerce wzrost z 48 rps (PHP 7.4) do 58 rps (PHP 8.3) przekłada się na ponad 20% poprawy.
Cache na poziomie serwera oraz mechanizmy jak Redis czy Memcached dodatkowo przyspieszają witryny o wysokim ruchu i złożonych zapytaniach. Object cache i database cache przechowują wyniki kosztownych operacji, ograniczając liczbę zapytań. W3 Total Cache obsługuje database caching, ale wymaga prawidłowej konfiguracji. Persistent object cache jest rekomendowany przy dużej liczbie opcji autoload.
Optymalizacja konfiguracji serwera WWW i bazy danych może dać kolejne zyski. Dla Nginx można dodać moduły do automatycznej minifikacji zasobów; w Apache podobny efekt da się uzyskać z mod_extfilter i odpowiednią biblioteką. Kompresja GZIP na poziomie serwera potrafi zmniejszyć rozmiar przesyłanych plików HTML, CSS i JS nawet o kilkadziesiąt procent. Wtyczki (np. WP‑Optimize) mogą włączyć GZIP, jeśli serwer nie jest skonfigurowany.
Skalowanie horyzontalne (dodawanie serwerów) jest strategią dla bardzo dużego ruchu. Load balancery rozdzielają obciążenie między wiele serwerów WWW, a HyperDB i bazy w chmurze pozwalają skalować warstwę danych. Dostępne są przewodniki i prezentacje z WordCamp o skalowaniu WordPressa w środowiskach chmury obliczeniowej. Rozwiązania te wymagają jednak wysokich kompetencji i zwykle opłacają się przy milionach odsłon miesięcznie.
Wpływ wersji PHP na wydajność – przegląd wyników:
| Wersja PHP | WordPress (rps) | WooCommerce (rps) |
|---|---|---|
| 7.4 | 149 | 48 |
| 8.1 | 153 | — |
| 8.2 | 158 | — |
| 8.3 | 169 | 58 |
Przy wyborze i konfiguracji hostingu zwróć uwagę na poniższe elementy:
- NVMe SSD i nowoczesne CPU – szybsze I/O i krótszy czas odpowiedzi serwera;
- PHP 8.2/8.3 – wyższe rps bez zmian w aplikacji;
- Redis/Memcached – trwały object cache dla zapytań i opcji autoload;
- HTTP/2 i HTTP/3 – lepsze wykorzystanie połączeń i mniejsza potrzeba łączenia plików;
- GZIP/Brotli – agresywna kompresja HTML, CSS i JS na poziomie serwera.
Zarządzanie motywami i wtyczkami dla minimalizacji obciążenia systemu
Motyw wpływa na bazową wydajność tak samo jak hosting. Lekkie, dobrze napisane motywy ładują mniej zasobów i działają szybciej. Testy popularnych motywów wskazują duże różnice: Hello Elementor, Ona i GeneratePress osiągają perfekcyjny wynik 100/100 w PageSpeed Insights (mobile) i czasy ładowania w Pingdom poniżej 500 ms.
Hello Elementor osiąga 100/100 w PageSpeed Insights i czas ładowania ok. 324 ms w teście Pingdom. To lekka baza dla kreatora Elementor, z minimalną liczbą stylów i funkcji. Ona (motyw Full Site Editing) także notuje 100/100 z speed index ≈ 2,7 s i czasem pełnego załadowania ~443 ms, nie ładując zbędnych skryptów.
GeneratePress to kolejny lekki motyw z wynikiem 100/100 w PageSpeed Insights (mobile) i oceną A (98) w Pingdom przy czasie ładowania ok. 470 ms.
Wydajność wybranych motywów – szybkie porównanie:
| Motyw | PageSpeed (mobile) | Pingdom – pełne załadowanie | Uwagi |
|---|---|---|---|
| Hello Elementor | 100/100 | ≈ 324 ms | Lekka baza pod Elementor, minimalny CSS/JS |
| Ona (FSE) | 100/100 | ≈ 443 ms | Niewielka liczba skryptów, speed index ≈ 2,7 s |
| GeneratePress | 100/100 | ≈ 470 ms | Elastyczny, lekki, wysoka ocena Pingdom A (98) |
Aby utrzymać motyw i wtyczki w ryzach, kieruj się tymi zasadami:
- minimalizm wtyczek – instaluj tylko niezbędne rozszerzenia i regularnie audytuj listę aktywnych;
- modułowość funkcji – wyłączaj zbędne moduły w pakietach „all‑in‑one”, aby ograniczyć ładowane skrypty;
- aktualizacje i testy – aktualizuj motyw/wtyczki i testuj wpływ na LCP/CLS po każdej zmianie;
- selektor ładowania – ładuj skrypty tylko tam, gdzie są potrzebne (np. tylko na stronie kontaktu dla formularza).

