[{"categories":null,"content":"Sendy to jedno z tych narzędzi, które nie próbują być kolejną rozbudowaną platformą marketing automation \u0026ldquo;dla każdego\u0026rdquo;. Jego główna obietnica jest prosta: wysyłaj newslettery dużo taniej, korzystając z własnej instalacji i infrastruktury Amazon SES.\nDla wielu firm, twórców internetowych i właścicieli serwisów SaaS może to być bardzo atrakcyjna alternatywa dla Mailchimpa, MailerLite, Brevo czy innych narzędzi rozliczanych miesięcznie za liczbę kontaktów.\nNie jest to jednak rozwiązanie idealne dla każdego. Sendy wymaga większej samodzielności technicznej, konfiguracji serwera oraz konta AWS. W zamian daje niskie koszty, dużą kontrolę nad danymi i brak typowego abonamentu za samą aplikację.\nCzym jest Sendy? Sendy to self-hosted email newsletter platform, czyli aplikacja do wysyłania newsletterów instalowana na własnym hostingu lub serwerze. W przeciwieństwie do typowych narzędzi SaaS, takich jak Mailchimp czy MailerLite, Sendy nie działa jako gotowa usługa w chmurze, do której po prostu się logujesz. To oprogramowanie, które instalujesz samodzielnie na swoim serwerze.\nNajważniejszą cechą Sendy jest integracja z Amazon SES, czyli usługą Amazon Simple Email Service. To właśnie przez Amazon SES wysyłane są wiadomości e-mail, dzięki czemu koszt pojedynczej wysyłki jest bardzo niski. Sendy pełni tu rolę panelu do zarządzania listami odbiorców, kampaniami, segmentami, raportami i formularzami zapisu.\nW praktyce oznacza to, że Sendy jest bardziej \u0026ldquo;własnym systemem newsletterowym\u0026rdquo; niż klasyczną platformą email marketingową. Daje dużą kontrolę, ale wymaga też większej odpowiedzialności.\nJak działa Sendy? Działanie Sendy można opisać w kilku krokach. Najpierw kupujesz licencję, następnie pobierasz pliki aplikacji i instalujesz je na swoim hostingu lub serwerze. Potem tworzysz bazę danych, konfigurujesz połączenie z Amazon SES i ustawiasz domenę nadawcy.\nPo poprawnej konfiguracji możesz tworzyć listy mailingowe, dodawać formularze zapisu na stronę, importować subskrybentów, przygotowywać kampanie i wysyłać newslettery. Sendy obsługuje również wypisy z listy, odbicia, skargi spamowe i podstawowe raporty po wysyłce.\nTo rozwiązanie wymaga więc więcej pracy na starcie niż typowe narzędzia SaaS. Z drugiej strony po poprawnej konfiguracji może działać bardzo tanio i stabilnie przez długi czas.\nNajwiększa zaleta Sendy - koszt wysyłki Najmocniejszym argumentem za Sendy są koszty. W typowych narzędziach newsletterowych płaci się miesięczny abonament zależny od liczby kontaktów, liczby wysyłek lub pakietu funkcji. Im większa baza subskrybentów, tym wyższy koszt.\nW Sendy model wygląda inaczej. Płacisz raz za licencję, a następnie ponosisz koszt faktycznej wysyłki przez Amazon SES. Przy większych listach mailingowych różnica może być ogromna.\nJeżeli masz kilka tysięcy kontaktów, oszczędności mogą być zauważalne. Jeżeli masz kilkadziesiąt tysięcy subskrybentów i regularnie wysyłasz kampanie, Sendy może być wielokrotnie tańszy niż popularne platformy email marketingowe.\nTo szczególnie ważne dla blogów, portali, SaaS-ów, sklepów internetowych, firm technologicznych i agencji, które mają dużą bazę odbiorców, ale nie potrzebują bardzo zaawansowanej automatyzacji marketingowej.\nFunkcje Sendy Sendy oferuje większość funkcji potrzebnych do klasycznej wysyłki newsletterów. Nie jest to kombajn marketing automation, ale do regularnej komunikacji e-mailowej ma wszystko, czego zazwyczaj potrzeba.\nDo najważniejszych funkcji Sendy należą:\ntworzenie i wysyłanie kampanii newsletterowych, zarządzanie wieloma listami subskrybentów, segmentacja odbiorców, obsługa pól własnych, import i eksport kontaktów, formularze zapisu, edytor wiadomości e-mail, obsługa HTML, raporty otwarć i kliknięć, obsługa odbić, skarg i wypisów, autorespondery, webhooki, obsługa wielu marek lub klientów w jednej instalacji. Na plus wypada to, że Sendy pozwala zarządzać wieloma projektami w ramach jednej instalacji. Funkcja \u0026ldquo;brands\u0026rdquo; przydaje się, gdy prowadzisz kilka serwisów, kilka produktów albo obsługujesz klientów jako agencja.\nKażda marka może mieć własne listy, kampanie, formularze i ustawienia. Dzięki temu Sendy może działać nie tylko jako narzędzie dla jednej firmy, ale też jako zaplecze newsletterowe dla kilku projektów.\nEdytor wiadomości Sendy pozwala przygotowywać wiadomości w edytorze wizualnym, a także pracować bezpośrednio na kodzie HTML. To dobre rozwiązanie dla osób, które chcą mieć kontrolę nad wyglądem newslettera.\nNie należy jednak oczekiwać tak rozbudowanego edytora jak w największych platformach SaaS. MailerLite, Brevo czy Mailchimp oferują zwykle wygodniejsze kreatory, więcej gotowych szablonów i bardziej dopracowany onboarding dla osób nietechnicznych.\nSendy jest pod tym względem bardziej surowy. Dla osoby technicznej nie będzie to problem. Dla marketera bez wsparcia dewelopera może to być pewne ograniczenie.\nRaporty i statystyki Po wysyłce kampanii Sendy pokazuje podstawowe statystyki, takie jak otwarcia, kliknięcia, odbicia, skargi i wypisy. Można sprawdzić, jak odbiorcy reagują na kampanię i które linki były najczęściej klikane.\nRaporty są wystarczające do klasycznego newslettera. Jeżeli jednak ktoś potrzebuje bardzo rozbudowanej analityki, zaawansowanego śledzenia lejków sprzedażowych, scoringu leadów albo pełnej integracji z CRM, Sendy może okazać się zbyt prosty.\nTo narzędzie najlepiej sprawdza się wtedy, gdy głównym celem jest skuteczna i tania wysyłka wiadomości, a nie budowanie skomplikowanych procesów marketing automation.\nAutorespondery i automatyzacja Sendy obsługuje autorespondery, czyli automatyczne sekwencje wiadomości wysyłane po zapisie na listę. Można dzięki temu przygotować prostą serię powitalną, kurs e-mailowy, cykl edukacyjny lub zestaw wiadomości wprowadzających użytkownika w produkt.\nTo przydatna funkcja, ale nie należy jej mylić z pełną automatyzacją marketingową znaną z większych systemów. Sendy nie jest narzędziem klasy HubSpot, ActiveCampaign czy Mautic. Nie oferuje tak rozbudowanych scenariuszy, warunków, punktacji użytkowników i integracji sprzedażowych.\nJeżeli potrzebujesz prostych autoresponderów, Sendy wystarczy. Jeżeli potrzebujesz zaawansowanych ścieżek automatyzacji, warto rozejrzeć się za innym rozwiązaniem.\nObsługa odbić, skarg i wypisów W email marketingu sama wysyłka to tylko część pracy. Równie ważna jest higiena listy mailingowej. Sendy automatycznie obsługuje odbicia, skargi spamowe i wypisy z listy.\nTo bardzo ważne, ponieważ wysyłanie wiadomości do nieistniejących adresów albo do osób, które oznaczają wiadomości jako spam, negatywnie wpływa na reputację nadawcy. A reputacja nadawcy ma bezpośredni wpływ na dostarczalność e-maili.\nSendy nie rozwiązuje wszystkich problemów związanych z dostarczalnością, ale zapewnia podstawowe mechanizmy, które są konieczne przy regularnej wysyłce newsletterów.\nDla kogo Sendy będzie dobrym wyborem? Sendy będzie dobrym wyborem dla osób i firm, które chcą ograniczyć koszty email marketingu i nie boją się własnej instalacji.\nTo narzędzie szczególnie dobrze sprawdzi się dla:\nblogerów z większą bazą subskrybentów, właścicieli serwisów SaaS, małych firm technologicznych, agencji obsługujących newslettery klientów, portali internetowych, sklepów internetowych, twórców kursów i produktów cyfrowych, osób technicznych, które chcą mieć kontrolę nad narzędziem. Sendy ma największy sens wtedy, gdy lista mailingowa jest już na tyle duża, że abonamenty w popularnych narzędziach zaczynają być odczuwalnym kosztem.\nDla kogo Sendy nie będzie dobrym wyborem? Sendy nie będzie dobrym wyborem dla osób, które oczekują rozwiązania całkowicie bezobsługowego. Jeżeli chcesz założyć konto, wybrać szablon, wkleić treść i wysłać newsletter bez żadnej konfiguracji technicznej, wygodniejsze będą klasyczne platformy SaaS.\nSendy może też nie sprawdzić się w firmach, które nie mają nikogo technicznego do obsługi serwera, aktualizacji, kopii zapasowych, DNS-ów i konfiguracji AWS.\nTo nie jest narzędzie dla każdego marketera. To raczej narzędzie dla osób, które akceptują kompromis: mniej wygody w zamian za dużo niższe koszty.\nZalety Sendy Największą zaletą Sendy jest niski koszt działania. Jednorazowa opłata za aplikację i tania wysyłka przez Amazon SES sprawiają, że narzędzie może być bardzo ekonomiczne przy większych wolumenach.\nDrugą zaletą jest kontrola nad danymi. Baza subskrybentów znajduje się w Twojej instalacji, na Twoim hostingu lub serwerze. Dla części firm to ważny argument, szczególnie gdy chcą ograniczyć liczbę zewnętrznych platform przechowujących dane użytkowników.\nTrzecią zaletą jest prostota. Sendy skupia się na wysyłce newsletterów, listach, segmentach, raportach i podstawowej automatyzacji. Dzięki temu nie jest przeładowany funkcjami, których wiele małych firm i tak nie używa.\nCzwartym plusem jest możliwość obsługi wielu marek lub klientów w ramach jednej instalacji. Dla agencji, freelancerów i właścicieli kilku projektów może to być bardzo praktyczne.\nWady Sendy Największa wada Sendy wynika z tego samego miejsca co największa zaleta: self-hostingu. Oszczędzasz na abonamencie, ale płacisz czasem, wiedzą techniczną i odpowiedzialnością za utrzymanie.\nDrugim minusem jest konieczność konfiguracji Amazon SES. Dla osoby technicznej nie jest to duży problem, ale dla początkującego użytkownika AWS może być barierą. Trzeba poprawnie skonfigurować domenę, uwierzytelnienie nadawcy, limity wysyłki i dostęp produkcyjny do SES.\nTrzeci minus to mniejszy komfort niż w nowoczesnych platformach SaaS. Narzędzia takie jak MailerLite, Brevo czy ConvertKit są zwykle bardziej dopracowane pod kątem onboardingu, gotowych szablonów, automatyzacji i pracy zespołowej. Sendy wygrywa kosztem, ale nie zawsze wygodą.\nCzwarty minus to zależność od własnej infrastruktury. Przy źle dobranym hostingu, problemach z cronem, bazą danych lub konfiguracją serwera można napotkać problemy, których w klasycznym SaaS-ie użytkownik zwykle nie widzi.\nSendy a alternatywy Najbliższą alternatywą dla Sendy jest Listmonk, czyli darmowe narzędzie open source do newsletterów, które również można zainstalować na własnym serwerze. Listmonk jest nowoczesny i elastyczny, ale może wymagać jeszcze większej samodzielności technicznej.\nInną alternatywą jest Mautic. To dużo bardziej rozbudowany system marketing automation, ale również cięższy w konfiguracji i utrzymaniu. Mautic ma sens wtedy, gdy potrzebujesz zaawansowanych scenariuszy automatyzacji, a nie tylko taniej wysyłki newslettera.\nDla osób, które nie chcą niczego instalować i utrzymywać, lepszym wyborem będą narzędzia typu MailerLite, Brevo, Mailchimp, ConvertKit czy GetResponse. Są droższe, ale wygodniejsze i bardziej przyjazne dla osób nietechnicznych.\nCzy warto korzystać z Sendy? Tak, ale pod konkretnym warunkiem. Sendy ma sens wtedy, gdy zależy Ci na niskich kosztach i masz zaplecze techniczne do utrzymania własnej instalacji.\nTo bardzo dobre narzędzie dla osób, które wiedzą, czym jest hosting, baza danych, DNS, SPF, DKIM, DMARC i Amazon SES. W takim scenariuszu Sendy może być jednym z najbardziej opłacalnych sposobów prowadzenia newslettera.\nJeżeli jednak oczekujesz maksymalnej wygody, gotowych automatyzacji, pięknego interfejsu, wsparcia \u0026ldquo;od ręki\u0026rdquo; i braku obowiązków technicznych, lepiej wybrać klasyczne narzędzie SaaS. Będzie droższe, ale oszczędzi czas i nerwy.\nOcena końcowa Sendy to świetne narzędzie dla świadomych użytkowników technicznych. Nie jest najbardziej efektowne, nie jest najbardziej nowoczesne i nie jest najbardziej bezobsługowe. Ale robi bardzo dobrze jedną rzecz: pozwala tanio wysyłać newslettery na dużą skalę.\nNajwiększa siła Sendy to ekonomia. Największa słabość to konieczność samodzielnego utrzymania. Dlatego moja ocena brzmi: bardzo dobre narzędzie dla technicznych właścicieli projektów, agencji i firm z większą bazą mailingową, ale średni wybór dla początkujących marketerów szukających prostego rozwiązania \u0026ldquo;kliknij i wyślij\u0026rdquo;.\nOcena: 4/5\nSendy warto rozważyć, jeśli koszty newslettera zaczynają rosnąć, a Ty nie boisz się własnego hostingu i konfiguracji Amazon SES. Jeżeli natomiast zależy Ci przede wszystkim na wygodzie i pełnej obsłudze po stronie dostawcy, lepiej dopłacić do klasycznej platformy email marketingowej.\n","permalink":"https://ping.pl/blog/posts/sendy-recenzja-narzedzia-do-taniej-wysylki-newsletterow/","tags":null,"title":"Sendy - recenzja narzędzia do taniej wysyłki newsletterów"},{"categories":null,"content":"Tworząc stronę internetową, możemy korzystać z coraz bardziej rozbudowanych możliwości HTML, CSS i JavaScript. Nie każda funkcja jest jednak obsługiwana przez wszystkie przeglądarki oraz ich starsze wersje. Rozwiązanie, które działa poprawnie w najnowszym Chrome, może nie działać w Safari, Firefoxie albo przeglądarce zainstalowanej na starszym telefonie.\nWłaśnie w takich sytuacjach przydaje się Can I Use - popularne narzędzie pozwalające szybko sprawdzić zgodność technologii internetowych z poszczególnymi przeglądarkami.\nCo to jest Can I Use? Can I Use to internetowa baza informacji o obsłudze technologii webowych przez przeglądarki. Narzędzie przedstawia dane w postaci czytelnych tabel, w których można sprawdzić, od jakiej wersji przeglądarki działa określona funkcja HTML, właściwość CSS, interfejs JavaScript lub inne API dostępne na platformie internetowej.\nW bazie znajdują się między innymi informacje dotyczące:\nelementów i atrybutów HTML, właściwości, selektorów i funkcji CSS, funkcji języka JavaScript, interfejsów Web API, formatów obrazów, dźwięku i filmów, technologii związanych z bezpieczeństwem, funkcji dostępnych na urządzeniach mobilnych. Nazwa narzędzia pochodzi od pytania, które regularnie zadają sobie programiści: \u0026ldquo;Czy mogę już użyć tej funkcji w swoim projekcie?\u0026rdquo;.\nDo czego służy Can I Use? Podstawowym zadaniem Can I Use jest sprawdzenie, czy konkretna technologia będzie działać w przeglądarkach używanych przez odbiorców strony.\nZałóżmy, że podczas tworzenia arkusza stylów chcemy zastosować selektor CSS :has(). Po wyszukaniu go w Can I Use otrzymamy tabelę pokazującą, które wersje Chrome, Edge, Firefox, Safari oraz przeglądarek mobilnych go obsługują.\nNa tej podstawie możemy zdecydować, czy:\nwykorzystać funkcję bez dodatkowych zabezpieczeń, przygotować prostsze rozwiązanie dla starszych przeglądarek, zastosować mechanizm stopniowego ulepszania strony, skorzystać z polyfilla, całkowicie zrezygnować z funkcji w danym projekcie. Can I Use nie służy więc wyłącznie do sprawdzania, czy dana technologia \u0026ldquo;działa\u0026rdquo;. Pomaga również ocenić, jak duża część użytkowników będzie mogła z niej skorzystać.\nJak czytać tabele w Can I Use? Po wyszukaniu wybranej funkcji zobaczymy tabelę podzieloną na przeglądarki i ich wersje. Poszczególne komórki mają różne kolory.\nKolor zielony oznacza pełną obsługę funkcji.\nKolor czerwony oznacza brak obsługi.\nKolor żółtozielony informuje o obsłudze częściowej.\nKolor szary oznacza, że poziom obsługi nie został potwierdzony.\nNajwięcej uwagi warto poświęcić obsłudze częściowej. Może ona oznaczać, że funkcja działa dopiero po włączeniu dodatkowej flagi, wymaga prefiksu, nie obsługuje wszystkich wariantów albo zawiera błędy charakterystyczne dla danej przeglądarki.\nPod tabelą często znajdują się dodatkowe informacje:\nprzypisy dotyczące konkretnych wersji, opis ograniczeń, znane problemy, odnośniki do dokumentacji i specyfikacji, informacje o prefiksach, materiały umożliwiające dalszą weryfikację. Dlatego nie należy poprzestawać wyłącznie na sprawdzeniu koloru komórki. W przypadku ważnej funkcji warto przeczytać również przypisy i sekcję ze znanymi problemami.\nNajważniejsze funkcje Can I Use Wyszukiwarka technologii\nNajczęściej używaną funkcją serwisu jest wyszukiwarka. Można w niej wpisywać nazwy technologii, właściwości oraz fragmenty składni. Wyniki mogą pochodzić z głównej bazy Can I Use, danych zgodności MDN oraz szerszego katalogu funkcji platformy internetowej.\nTabele zgodności przeglądarek\nKażda funkcja otrzymuje tabelę obejmującą przeglądarki komputerowe i mobilne. Można w niej sprawdzić zarówno aktualne, jak i starsze wersje programów.\nCan I Use uwzględnia między innymi Chrome, Edge, Firefox, Safari, Operę, przeglądarki mobilne oraz przeglądarki instalowane przez producentów telefonów.\nGlobalny poziom obsługi\nSerwis pokazuje procentowy udział użytkowników, których przeglądarki obsługują daną funkcję. Dzięki temu można spojrzeć na kompatybilność nie tylko przez pryzmat numerów wersji, ale również rzeczywistej popularności poszczególnych przeglądarek.\nFunkcja może nie działać w kilku starszych wersjach, lecz mimo to być dostępna dla zdecydowanej większości użytkowników. W innym przypadku brak obsługi jednej ważnej przeglądarki mobilnej może mieć istotny wpływ na cały projekt.\nPoniżej przykład - poziom obsługi technologii grid w przeglądarkach (im wyższy słupek, tym więcej użytkowników posiada daną przeglądarkę)\nRegionalne dane o wykorzystaniu przeglądarek\nPopularność przeglądarek różni się w zależności od kraju i regionu. Can I Use pozwala zmienić źródło statystyk, dzięki czemu można ocenić obsługę funkcji dla użytkowników z konkretnego obszaru geograficznego.\nMa to znaczenie szczególnie wtedy, gdy strona jest przeznaczona dla odbiorców z jednego państwa, a globalne statystyki nie odzwierciedlają struktury jej ruchu.\nWłasne statystyki użytkowników\nJeszcze lepsze rezultaty daje wykorzystanie danych pochodzących z własnej strony. Can I Use umożliwia pracę ze statystykami przeglądarek używanych przez rzeczywistych odwiedzających.\nMoże się okazać, że globalnie dana funkcja ma bardzo dobrą obsługę, ale w konkretnym serwisie znaczna część użytkowników korzysta ze starszych urządzeń. Może być również odwrotnie - użytkownicy strony mogą mieć na tyle aktualne przeglądarki, że utrzymywanie kosztownej zgodności ze starymi wersjami nie jest już uzasadnione.\nWłasny zestaw obsługiwanych przeglądarek\nW ustawieniach można określić, które wersje przeglądarek mają być widoczne w tabelach. Reguły mogą być oparte na składni znanej z narzędzia Browserslist.\nZamiast analizować wszystkie dostępne wersje, zespół może skoncentrować się na własnej polityce kompatybilności, na przykład:\ndwóch ostatnich wersjach najważniejszych przeglądarek, przeglądarkach mających określony udział w rynku, wersjach wydanych po wskazanej dacie, konkretnych przeglądarkach używanych przez klientów firmy. Porównywanie przeglądarek\nCan I Use pozwala również porównywać możliwości wybranych przeglądarek. Funkcja może być pomocna przy ustalaniu, która z nich zapewnia najszerszą obsługę technologii istotnych dla danego projektu.\nDane dostępne dla innych narzędzi\nBaza Can I Use jest wykorzystywana również przez narzędzia programistyczne. Dane o kompatybilności mogą być używane między innymi podczas budowania aplikacji, analizy kodu i dobierania transformacji potrzebnych dla starszych przeglądarek.\nZ Can I Use powiązane są również narzędzia umożliwiające osadzanie tabel na innych stronach, sprawdzanie kodu CSS oraz analizowanie łącznej obsługi kilku funkcji.\nPraktyczne wskazówki dotyczące Can I Use Nie traktuj globalnego procentu jako jedynego kryterium Globalna obsługa na poziomie 95 lub 98 procent nie zawsze oznacza, że funkcja jest odpowiednia dla konkretnej strony. Najważniejsze są dane dotyczące jej własnych użytkowników.\nInne wymagania będzie miał nowy serwis technologiczny, a inne system używany w firmach, szkołach lub instytucjach publicznych.\nZawsze sprawdzaj przypisy Żółtozielona komórka może oznaczać drobne ograniczenie, ale może też informować o braku kluczowego elementu funkcji. Przed wdrożeniem należy przeczytać przypisy dotyczące interesujących nas przeglądarek.\nCan I Use nie zastępuje testów Informacja o obsłudze funkcji oznacza, że przeglądarka ją implementuje. Nie gwarantuje jednak, że cały interfejs będzie działał i wyglądał identycznie na każdym urządzeniu.\nRóżnice mogą dotyczyć sposobu renderowania, obsługi dotyku, klawiatury ekranowej, dostępności, wydajności lub błędów występujących tylko w określonej wersji systemu.\nNajważniejsze elementy strony nadal należy testować w rzeczywistych przeglądarkach.\nStosuj progressive enhancement Nowoczesna funkcja nie zawsze musi działać u wszystkich użytkowników, pod warunkiem że jej brak nie blokuje podstawowej funkcjonalności strony.\nMożna przygotować prostą wersję działającą wszędzie, a następnie wzbogacić ją w przeglądarkach obsługujących nowszą technologię. Takie podejście nazywa się progressive enhancement, czyli stopniowym ulepszaniem.\nKorzystaj z @supports W przypadku funkcji CSS warto rozważyć regułę @supports, która pozwala sprawdzić bezpośrednio w przeglądarce, czy obsługuje ona określoną właściwość lub wartość.\nPrzykład:\n.card { display: block; } @supports (display: grid) { .card { display: grid; grid-template-columns: 1fr 1fr; } } Starsza przeglądarka zastosuje podstawowy układ, natomiast nowsza skorzysta z CSS Grid.\nŁącz Can I Use z Browserslist W projektach wykorzystujących narzędzia takie jak Babel, Autoprefixer lub nowoczesne bundlery warto zdefiniować listę obsługiwanych przeglądarek za pomocą Browserslist.\nPozwala to zachować spójność między decyzjami zespołu, konfiguracją procesu budowania aplikacji i tabelami analizowanymi w Can I Use.\nSprawdzaj funkcje jeszcze przed zaprojektowaniem rozwiązania Kompatybilność najlepiej sprawdzić przed rozpoczęciem implementacji, a nie dopiero wtedy, gdy gotowy interfejs przestanie działać w Safari. Kilka minut poświęconych na analizę może oszczędzić wiele godzin późniejszych poprawek.\nOgraniczenia Can I Use Can I Use jest bardzo przydatnym narzędziem, ale nie odpowiada na każde pytanie dotyczące kompatybilności.\nSerwis nie sprawdzi automatycznie, czy konkretna strona działa poprawnie w danej przeglądarce. Nie wykryje również wszystkich błędów implementacyjnych, problemów z wydajnością ani różnic w wyglądzie interfejsu.\nDane dotyczą obsługi określonych funkcji, a nie całych aplikacji. Nawet gdy wszystkie użyte technologie są oficjalnie obsługiwane, ich połączenie może ujawnić problemy, które będą widoczne dopiero podczas testów.\nCan I Use należy więc traktować jako narzędzie wspierające podejmowanie decyzji, a nie zamiennik testowania strony.\nAlternatywy dla Can I Use MDN Web Docs MDN jest rozbudowaną dokumentacją technologii internetowych. Na stronach poświęconych poszczególnym elementom HTML, właściwościom CSS i interfejsom JavaScript znajdują się tabele zgodności przeglądarek.\nMDN będzie lepszym wyborem, gdy oprócz informacji o kompatybilności potrzebujemy także wyjaśnienia działania funkcji, opisu składni, przykładów kodu oraz informacji o dostępności i dobrych praktykach.\nCan I Use pozwala szybciej ocenić obsługę przeglądarek, natomiast MDN dostarcza szerszy kontekst techniczny. W praktyce najlepiej korzystać z obu narzędzi.\nWeb Platform Baseline Baseline upraszcza ocenę dostępności funkcji internetowych. Zamiast analizować wiele numerów wersji, otrzymujemy informację, czy funkcja jest nowo dostępna we wszystkich najważniejszych silnikach przeglądarek, szeroko dostępna albo nadal ma ograniczoną obsługę.\nBaseline sprawdza się wtedy, gdy potrzebujemy szybkiej i łatwej do zakomunikowania polityki kompatybilności. Can I Use nadal oferuje jednak bardziej szczegółowe dane dotyczące konkretnych wersji przeglądarek.\nBrowserStack BrowserStack nie jest bazą zgodności, lecz platformą pozwalającą uruchamiać i testować strony w różnych przeglądarkach oraz na różnych urządzeniach.\nJest to rozwiązanie uzupełniające Can I Use. Najpierw można sprawdzić teoretyczną obsługę technologii, a następnie przetestować gotową stronę w przeglądarkach, które są istotne dla projektu.\nCan I Email W przypadku tworzenia wiadomości e-mail zwykłe dane dotyczące przeglądarek nie wystarczą. Programy pocztowe mają własne, często znacznie większe ograniczenia dotyczące HTML i CSS.\nCan I Email prezentuje tabele obsługi technologii przez klientów pocztowych, takich jak Gmail, Outlook, Apple Mail czy aplikacje mobilne. Jest więc odpowiednikiem Can I Use przeznaczonym dla twórców newsletterów i szablonów e-mail.\nDokumentacja producentów przeglądarek W przypadku bardzo nowych lub eksperymentalnych technologii warto również sprawdzać informacje publikowane przez twórców Chrome, Firefox i Safari. Dokumentacja producenta może zawierać dokładniejsze informacje o funkcjach dostępnych za flagą, testach eksperymentalnych i planowanych terminach wdrożenia.\nTakie źródła pokazują jednak przede wszystkim perspektywę jednej przeglądarki, podczas gdy Can I Use umożliwia szybkie porównanie całego rynku.\n","permalink":"https://ping.pl/blog/posts/can-i-use-jak-sprawdzic-obsluge-html-css-javascript-w-przegladarkach/","tags":null,"title":"Can I Use - jak sprawdzić obsługę HTML, CSS i JavaScript w przeglądarkach?"},{"categories":null,"content":"Grafiki mają ogromny wpływ na wygląd strony internetowej, ale też na jej szybkość działania. Zbyt ciężkie zdjęcia, źle dobrane formaty plików i brak kompresji mogą sprawić, że nawet dobrze zaprojektowana strona będzie ładować się wolno, szczególnie na telefonach i słabszym połączeniu internetowym.\nW 2026 roku wybór formatu grafiki nie powinien być przypadkowy. Innego formatu użyjemy do zdjęcia, innego do logo, innego do ikony, a jeszcze innego do grafiki z przezroczystym tłem. Najczęściej spotykane formaty to JPG, PNG, WebP i SVG. Warto wiedzieć, kiedy stosować każdy z nich.\nDlaczego format grafiki ma znaczenie? Każdy format graficzny został stworzony z myślą o trochę innym zastosowaniu. Niektóre lepiej nadają się do zdjęć, inne do ikon, ilustracji lub grafik z przezroczystością.\nŹle dobrany format może powodować:\nzbyt duży rozmiar pliku, wolniejsze ładowanie strony, gorszy wynik w testach wydajności, większe zużycie transferu, słabszą jakość grafiki, problemy z ostrością logo lub ikon. Dobrze dobrany format pozwala zachować wysoką jakość obrazu przy możliwie małym rozmiarze pliku. To ważne zarówno dla użytkownika, jak i dla SEO, ponieważ szybkość ładowania strony wpływa na komfort korzystania z serwisu.\nWebP - dobry domyślny wybór dla wielu grafik WebP to obecnie jeden z najważniejszych formatów graficznych używanych na stronach internetowych. Został zaprojektowany z myślą o lepszej kompresji niż starsze formaty, takie jak JPG i PNG.\nNajwiększą zaletą WebP jest to, że może obsługiwać zarówno kompresję stratną, jak i bezstratną. Oznacza to, że sprawdzi się zarówno w przypadku zdjęć, jak i niektórych grafik, które wcześniej były zapisywane jako PNG.\nWebP może obsługiwać również przezroczystość, dlatego często jest dobrym zamiennikiem dla PNG tam, gdzie zależy nam na mniejszym rozmiarze pliku.\nKiedy używać WebP? WebP warto stosować przede wszystkim do:\nzdjęć na stronie, grafik blogowych, miniaturek artykułów, bannerów, ilustracji, grafik produktowych, obrazków z przezroczystością, jeśli nie muszą być w PNG, grafik, które mają być możliwie lekkie. W praktyce WebP bardzo często może być podstawowym formatem obrazów na nowoczesnej stronie internetowej. Dobrze sprawdza się szczególnie tam, gdzie zależy nam na zmniejszeniu rozmiaru plików bez dużej utraty jakości.\nPrzykład: jeśli na blogu publikujesz zdjęcie lub grafikę wyróżniającą artykuł, WebP będzie zwykle lepszym wyborem niż klasyczny JPG lub PNG.\nCzy WebP zastępuje JPG i PNG? W wielu przypadkach tak, ale nie zawsze. WebP jest bardzo uniwersalny, ale nadal warto znać zastosowania JPG i PNG.\nJPG nadal może być przydatny jako format kompatybilny, prosty i powszechnie rozpoznawalny. PNG nadal ma sens w przypadku grafik, które muszą być zapisane bezstratnie, szczególnie gdy zawierają ostre krawędzie, tekst, zrzuty ekranu lub elementy interfejsu.\nNajlepsza praktyka w 2026 roku to nie ślepe zastępowanie wszystkiego jednym formatem, ale dobieranie formatu do rodzaju grafiki.\nJPG - kiedy nadal warto go używać? JPG, czyli JPEG, to jeden z najstarszych i najpopularniejszych formatów graficznych w internecie. Nadal jest użyteczny, zwłaszcza do zdjęć.\nJPG stosuje kompresję stratną. Oznacza to, że podczas zmniejszania rozmiaru pliku część informacji z obrazu jest usuwana. Przy rozsądnych ustawieniach jakości różnica może być mało widoczna, ale zbyt mocna kompresja powoduje charakterystyczne artefakty, rozmycia i pogorszenie jakości.\nKiedy używać JPG? JPG warto stosować do:\nzdjęć, dużych fotografii, obrazów bez przezroczystości, grafik, które nie wymagają idealnie ostrych krawędzi, sytuacji, w których potrzebna jest bardzo szeroka kompatybilność. JPG sprawdza się szczególnie dobrze w przypadku zdjęć z dużą liczbą kolorów i przejść tonalnych, np. zdjęć ludzi, krajobrazów, biura, produktów lub wnętrz.\nNie jest natomiast najlepszym wyborem do logo, ikon, wykresów, zrzutów ekranu i grafik z tekstem. W takich przypadkach kompresja JPG może pogorszyć ostrość krawędzi i czytelność.\nPNG - kiedy jest najlepszym wyborem? PNG to format bezstratny, który dobrze zachowuje ostre krawędzie, tekst, linie i przezroczystość. Przez wiele lat był podstawowym wyborem dla grafik z przezroczystym tłem.\nW porównaniu z JPG pliki PNG mogą być znacznie większe, szczególnie jeśli zapisujemy w tym formacie zdjęcia. Dlatego PNG nie powinien być domyślnym formatem dla fotografii.\nKiedy używać PNG? PNG warto stosować do:\ngrafik z przezroczystym tłem, prostych grafik rastrowych, zrzutów ekranu, elementów interfejsu, grafik z tekstem, wykresów, obrazów, w których ważna jest idealna ostrość, sytuacji, w których nie chcemy kompresji stratnej. PNG nadal jest dobrym wyborem, jeśli grafika musi zachować maksymalną jakość i ostrość. W wielu przypadkach warto jednak sprawdzić, czy WebP nie da podobnej jakości przy mniejszym rozmiarze pliku.\nSVG - najlepszy wybór dla ikon, logo i prostych ilustracji SVG różni się od JPG, PNG i WebP, ponieważ nie jest klasycznym obrazem rastrowym. To format wektorowy. Oznacza to, że grafika SVG jest opisana za pomocą kształtów, linii i krzywych, a nie pikseli.\nDzięki temu SVG można skalować praktycznie bez utraty jakości. Logo zapisane jako SVG będzie ostre zarówno na małym ekranie telefonu, jak i na dużym monitorze.\nKiedy używać SVG? SVG warto stosować do:\nlogo, ikon, prostych ilustracji, znaków graficznych, elementów interfejsu, wykresów i schematów, grafik, które muszą dobrze wyglądać w różnych rozmiarach. SVG świetnie nadaje się do grafik, które mają proste kształty i ograniczoną liczbę kolorów. Nie jest natomiast dobrym formatem dla zdjęć. Fotografii nie zapisujemy jako SVG, ponieważ taki plik byłby niepraktyczny i zbyt skomplikowany.\nWarto też pamiętać, że SVG może zawierać kod, dlatego pliki SVG pochodzące z zewnętrznych źródeł powinny być sprawdzone i oczyszczone przed użyciem na stronie.\nA co z AVIF? W 2026 roku coraz częściej spotykanym formatem jest również AVIF. Potrafi zapewnić bardzo dobrą kompresję i wysoką jakość obrazu, często lepszą niż WebP. Może obsługiwać przezroczystość, animacje i większą głębię kolorów.\nMimo to AVIF bywa mniej wygodny w codziennej pracy niż WebP. Kodowanie plików może trwać dłużej, a niektóre starsze środowiska nadal mogą wymagać fallbacku, czyli alternatywnego formatu.\nW praktyce AVIF warto rozważyć w projektach, w których bardzo zależy nam na maksymalnej optymalizacji obrazów. Dla wielu standardowych stron firmowych, blogów i prostych serwisów WebP będzie łatwiejszym i bardzo bezpiecznym wyborem.\nDobrym podejściem może być użycie elementu picture, np. AVIF jako pierwsza opcja, WebP jako druga, a JPG lub PNG jako awaryjny fallback.\nPrzykład:\n\u0026lt;picture\u0026gt; \u0026lt;source srcset=\u0026#34;obraz.avif\u0026#34; type=\u0026#34;image/avif\u0026#34;\u0026gt; \u0026lt;source srcset=\u0026#34;obraz.webp\u0026#34; type=\u0026#34;image/webp\u0026#34;\u0026gt; \u0026lt;img src=\u0026#34;obraz.jpg\u0026#34; alt=\u0026#34;Opis grafiki\u0026#34;\u0026gt; \u0026lt;/picture\u0026gt; Dzięki temu przeglądarka sama wybierze najlepszy format, który obsługuje.\nJaki format wybrać? Praktyczne podsumowanie Najprostsza zasada wygląda tak:\nRodzaj grafiki Najlepszy wybór Zdjęcia WebP lub JPG Zdjęcia z maksymalną optymalizacją AVIF lub WebP Grafiki blogowe WebP Miniatury artykułów WebP Logo SVG Ikony SVG Proste ilustracje SVG lub WebP Zrzuty ekranu PNG lub WebP Grafiki z tekstem PNG lub WebP Grafiki z przezroczystością WebP, PNG lub SVG Wykresy i schematy SVG lub PNG W większości nowych stron internetowych dobrym domyślnym wyborem będzie WebP dla obrazów rastrowych oraz SVG dla ikon, logo i prostych ilustracji.\nNie zapominaj o rozmiarach obrazów Sam wybór formatu nie wystarczy. Bardzo częstym błędem jest wrzucanie na stronę zbyt dużych grafik.\nJeśli obraz na stronie wyświetla się w rozmiarze 800 px szerokości, nie ma sensu ładować pliku o szerokości 4000 px. Taki obraz będzie niepotrzebnie ciężki, nawet jeśli zapiszesz go w dobrym formacie.\nWarto przygotowywać różne rozmiary grafik dla różnych ekranów i używać atrybutu srcset.\nPrzykład:\n\u0026lt;img src=\u0026#34;grafika-800.webp\u0026#34; srcset=\u0026#34;grafika-400.webp 400w, grafika-800.webp 800w, grafika-1200.webp 1200w\u0026#34; sizes=\u0026#34;(max-width: 600px) 400px, 800px\u0026#34; alt=\u0026#34;Opis grafiki\u0026#34;\u0026gt; Dzięki temu przeglądarka może pobrać mniejszy plik na telefonie, a większy na dużym ekranie.\nWarto korzystać z optymalizatorów grafiki Przed dodaniem grafiki na stronę warto ją zoptymalizować. Często można znacząco zmniejszyć rozmiar pliku bez zauważalnej utraty jakości.\nPrzykładem takiego narzędzia jest TinyPNG. Mimo nazwy nie służy ono wyłącznie do plików PNG. TinyPNG potrafi kompresować także inne formaty graficzne, między innymi WebP i JPG. Narzędzie wykorzystuje inteligentną kompresję stratną, dzięki której pliki mogą być dużo mniejsze, a różnica jakości często jest praktycznie niewidoczna dla użytkownika.\nOptymalizacja grafik jest szczególnie ważna w przypadku:\nzdjęć na blogu, grafik produktowych, bannerów, dużych ilustracji, obrazów na stronie głównej, grafik ładowanych na urządzeniach mobilnych. Warto wprowadzić zasadę, że żadna większa grafika nie trafia na stronę bez wcześniejszej kompresji.\nDobre praktyki przy grafikach na stronie Przygotowując grafiki na stronę internetową, warto trzymać się kilku prostych zasad.\nPo pierwsze, dobieraj format do rodzaju grafiki. Nie zapisuj zdjęć jako PNG, jeśli nie ma takiej potrzeby. Nie zapisuj logo jako JPG, jeśli może być w SVG.\nPo drugie, zmniejszaj wymiary obrazów do realnych potrzeb strony. Format WebP nie pomoże w pełni, jeśli plik nadal ma kilka tysięcy pikseli szerokości i jest wyświetlany jako mała miniatura.\nPo trzecie, kompresuj pliki przed publikacją. Nawet dobrze dobrany format można często dodatkowo zoptymalizować.\nPo czwarte, używaj opisów alternatywnych alt. Są ważne dla dostępności, SEO i użytkowników korzystających z czytników ekranu.\nPo piąte, dla ważnych obrazów zadbaj o poprawne ładowanie. Obrazy znajdujące się niżej na stronie można ładować leniwie za pomocą loading=\u0026quot;lazy\u0026quot;.\nPrzykład:\n\u0026lt;img src=\u0026#34;zdjecie.webp\u0026#34; alt=\u0026#34;Opis zdjęcia\u0026#34; loading=\u0026#34;lazy\u0026#34;\u0026gt; Podsumowanie W 2026 roku nie ma jednego formatu graficznego, który najlepiej sprawdzi się w każdej sytuacji. Najrozsądniejsze podejście to używanie kilku formatów zależnie od rodzaju grafiki.\nWebP jest bardzo dobrym domyślnym wyborem dla zdjęć, grafik blogowych, miniaturek i wielu obrazów rastrowych. JPG nadal ma sens przy zdjęciach i wtedy, gdy zależy nam na prostocie oraz szerokiej kompatybilności. PNG warto zostawić dla grafik wymagających bezstratnej jakości, ostrych krawędzi lub przezroczystości. SVG najlepiej sprawdza się przy logo, ikonach i prostych ilustracjach, które muszą wyglądać ostro w każdym rozmiarze.\nWarto też pamiętać, że format to tylko część optymalizacji. Równie ważne są odpowiednie wymiary obrazów, kompresja, stosowanie srcset, opisy alternatywne i rozsądne ładowanie grafik. Dobrze przygotowane obrazy sprawiają, że strona działa szybciej, wygląda lepiej i jest wygodniejsza dla użytkowników.\n","permalink":"https://ping.pl/blog/posts/jakiego-formatu-grafiki-uzywac-na-stronach-internetowych-w-2026-roku/","tags":null,"title":"Jakiego formatu grafiki używać na stronach internetowych w 2026 roku?"},{"categories":null,"content":"Nagrywanie ekranu przydaje się znacznie częściej, niż mogłoby się wydawać. Możesz w ten sposób pokazać błąd na stronie, przygotować krótką instrukcję dla klienta, nagrać prezentację, udokumentować problem techniczny albo wyjaśnić komuś krok po kroku, co dzieje się na Twoim komputerze.\nDobra wiadomość jest taka, że dziś nie trzeba instalować skomplikowanych programów, żeby nagrać ekran. W wielu przypadkach wystarczą narzędzia wbudowane w system Windows, macOS lub przeglądarkę internetową.\nKiedy warto nagrać ekran? Nagranie ekranu jest często dużo skuteczniejsze niż długi opis tekstowy. Zamiast tłumaczyć, że \u0026ldquo;po kliknięciu przycisku pojawia się komunikat, ale tylko czasami\u0026rdquo;, możesz po prostu pokazać cały proces na krótkim filmie.\nTo szczególnie przydatne przy zgłaszaniu błędów. Jeśli prowadzisz stronę internetową, sklep online albo aplikację webową, nagranie może pomóc programiście, administratorowi lub supportowi szybciej zrozumieć problem.\nNagrywanie ekranu sprawdza się też przy tworzeniu instrukcji. Krótki film pokazujący, gdzie kliknąć i co wpisać, bywa prostszy w odbiorze niż długa lista kroków.\nJak nagrać ekran na Windows? W systemie Windows jednym z najprostszych sposobów jest użycie wbudowanego narzędzia Xbox Game Bar. Mimo nazwy nie służy ono wyłącznie do gier - można nim nagrywać także aplikacje, przeglądarkę czy inne okna systemowe.\nAby uruchomić Xbox Game Bar, naciśnij:\nWindows + G Po uruchomieniu paska możesz kliknąć przycisk nagrywania albo użyć skrótu:\nWindows + Alt + R Po zakończeniu nagrania film zostanie zapisany na komputerze, zazwyczaj w folderze \u0026ldquo;Wideo\u0026rdquo; lub \u0026ldquo;Captures\u0026rdquo;.\nTo rozwiązanie jest wygodne, jeśli chcesz szybko nagrać konkretne okno lub aplikację. Trzeba jednak pamiętać, że Xbox Game Bar nie zawsze pozwala nagrywać cały pulpit lub Eksplorator plików. Do prostych nagrań z przeglądarki będzie jednak w wielu przypadkach wystarczający.\nNagrywanie ekranu przez Narzędzie Wycinanie w Windows W Windowsie można skorzystać także z aplikacji Narzędzie Wycinanie (Snipping Tool), która oprócz robienia zrzutów ekranu umożliwia również nagrywanie ekranu. To wygodne rozwiązanie, jeśli chcesz szybko nagrać fragment pulpitu, konkretne okno albo działanie na stronie internetowej.\nAby z niej skorzystać, uruchom Narzędzie Wycinanie z menu Start, przełącz się na tryb nagrywania ekranu, zaznacz obszar, który chcesz nagrać, a następnie rozpocznij nagrywanie.\nW nowszych wersjach Windows narzędzie pozwala również nagrywać dźwięk, na przykład z mikrofonu. Dzięki temu możesz od razu dodać komentarz głosowy do nagrania i wyjaśnić, co dokładnie pokazujesz.\nTo dobra alternatywa dla Xbox Game Bar, szczególnie wtedy, gdy chcesz nagrać wybrany fragment ekranu, a nie całe okno aplikacji.\nJak nagrać ekran na macOS? Na komputerach Mac nagrywanie ekranu jest również bardzo proste, ponieważ macOS ma wbudowane narzędzie do zrzutów ekranu i nagrań.\nWystarczy nacisnąć:\nCommand + Shift + 5 Na ekranie pojawi się pasek narzędzi. Możesz wybrać nagrywanie całego ekranu albo tylko zaznaczonego fragmentu. Po kliknięciu \u0026ldquo;Nagraj\u0026rdquo; system rozpocznie rejestrowanie obrazu.\nPo zakończeniu nagranie zostanie zapisane na pulpicie lub w innym wybranym miejscu. To wygodne rozwiązanie do szybkiego pokazania błędu, przygotowania instrukcji albo nagrania krótkiej prezentacji.\nJak nagrać ekran w przeglądarce? Jeśli nie chcesz korzystać z narzędzi systemowych, możesz użyć aplikacji webowej lub rozszerzenia do przeglądarki. Takie narzędzia często pozwalają nagrywać nie tylko ekran, ale też obraz z kamery i dźwięk z mikrofonu.\nWiele takich narzędzi działa bez skomplikowanej konfiguracji. Wybierasz, czy chcesz nagrać kartę przeglądarki, konkretne okno czy cały ekran, a następnie klikasz \u0026ldquo;Start recording\u0026rdquo;.\nJak przygotować dobre nagranie ekranu? Dobre nagranie nie musi być profesjonalne, ale powinno być czytelne. Przed rozpoczęciem warto zamknąć niepotrzebne okna i karty przeglądarki, aby nie rozpraszały odbiorcy. Dobrze też upewnić się, że na ekranie nie widać prywatnych danych, haseł, wiadomości czy paneli administracyjnych z wrażliwymi informacjami.\nNajlepsze nagrania są krótkie i konkretne. Jeśli pokazujesz błąd, zacznij od miejsca, w którym można go odtworzyć. Nie nagrywaj kilku minut przygotowań, logowania i szukania odpowiedniej zakładki, jeśli nie jest to potrzebne.\nWarto też nagrać problem od początku do końca. Jeśli błąd pojawia się po kliknięciu konkretnego przycisku, pokaż również wcześniejsze kroki, które do tego prowadzą. Dzięki temu osoba analizująca nagranie będzie mogła łatwiej odtworzyć sytuację.\nJak nagrywać błędy na stronie internetowej? Jeśli nagrywasz błąd na stronie, dobrze jest pokazać cały kontekst. Zacznij od adresu strony, przejdź przez kolejne kroki i pokaż moment, w którym pojawia się problem.\nW przypadku błędów technicznych szczególnie ważne są takie informacje jak przeglądarka, urządzenie i moment wystąpienia problemu. Jeśli błąd pojawia się tylko po zalogowaniu, tylko na telefonie albo tylko przy konkretnym formularzu, warto to powiedzieć lub opisać w wiadomości dołączonej do nagrania.\nNagranie ekranu jest bardzo pomocne, ale najlepiej działa w połączeniu z krótkim opisem. Wystarczy kilka zdań: co próbowałeś zrobić, co się stało i jaki efekt był oczekiwany.\nJaki format nagrania wybrać? Najczęściej spotykanym formatem jest MP4. To dobry wybór, ponieważ działa na większości urządzeń, można go łatwo wysłać mailem, udostępnić przez komunikator albo dodać do zgłoszenia w systemie supportowym.\nWarto zwrócić uwagę na rozmiar pliku. Kilkuminutowe nagranie w wysokiej rozdzielczości może zajmować dużo miejsca, dlatego w wielu przypadkach lepiej nagrać krótszy film i skupić się tylko na najważniejszym fragmencie.\nJeśli nagranie jest za duże, można je przesłać przez dysk w chmurze albo skompresować za pomocą prostego narzędzia do zmniejszania plików wideo.\nCzy nagranie ekranu może pomóc w monitoringu strony? Tak, choć nagranie ekranu nie zastępuje monitoringu dostępności. Monitoring automatycznie sprawdza, czy strona działa, mierzy czas odpowiedzi i wysyła alerty, gdy pojawi się problem. Nagranie ekranu pomaga natomiast pokazać, jak problem wygląda z perspektywy użytkownika.\nTo dwa różne, ale uzupełniające się narzędzia. Monitoring informuje, że coś przestało działać. Nagranie ekranu może pomóc wyjaśnić, co dokładnie się dzieje i jak błąd wygląda w praktyce.\nPrzykładowo monitoring może wykryć, że formularz kontaktowy zwraca błąd albo że strona ładuje się zbyt długo. Nagranie ekranu może natomiast pokazać, co widzi użytkownik: niedziałający przycisk, pustą stronę, komunikat błędu albo problem z przejściem do kolejnego kroku.\nNajprostszy sposób na nagranie ekranu - podsumowanie Jeśli korzystasz z Windowsa, zacznij od skrótu Windows + G lub Windows + Alt + R, aby uruchomić nagrywanie przez Xbox Game Bar. Alternatywnie możesz użyć aplikacji Narzędzie Wycinanie, która pozwala nagrać wybrany fragment ekranu i - w nowszych wersjach systemu - także dźwięk z mikrofonu.\nJeśli używasz Maca, najprościej będzie nacisnąć Command + Shift + 5. W wielu przypadkach to wystarczy, żeby w kilka sekund rozpocząć nagrywanie.\nDo bardziej rozbudowanych nagrań możesz użyć narzędzi przeglądarkowych, szczególnie jeśli chcesz dodać komentarz głosowy, obraz z kamery albo szybko udostępnić film online.\nNajważniejsze jest jednak nie samo narzędzie, ale jakość nagrania. Krótki, czytelny film pokazujący problem krok po kroku może oszczędzić wiele czasu - zarówno Tobie, jak i osobie, która ma pomóc w jego rozwiązaniu.\n","permalink":"https://ping.pl/blog/posts/jak-w-prosty-sposob-nagrac-swoj-ekran/","tags":null,"title":"Jak w prosty sposób nagrać swój ekran?"},{"categories":null,"content":"Uptime i downtime to jedne z najważniejszych wskaźników opisujących dostępność strony internetowej lub systemu. Choć brzmią prosto, w praktyce mają bezpośredni wpływ na przychody, doświadczenie użytkowników i reputację biznesu.\nCo to jest uptime? Uptime to procent czasu, w którym Twoja strona internetowa lub system działa poprawnie i jest dostępny dla użytkowników. W idealnym świecie wynosiłby 100%, ale w praktyce zawsze pojawiają się przerwy - zarówno planowane (np. wdrożenia), jak i wynikające z awarii.\nNajprościej mówiąc: jeśli użytkownik może wejść na stronę i z niej skorzystać, to mamy uptime.\nDla zobrazowania - jeśli serwis był dostępny przez 29 dni w miesiącu (z 30), jego uptime wynosi około 96,67%. To pokazuje, że nawet pojedynczy dzień niedostępności znacząco obniża wynik.\nCo to jest downtime? Downtime to czas, w którym system nie działa albo działa nieprawidłowo. Nie zawsze oznacza to całkowity brak dostępu - czasem strona odpowiada, ale zwraca błędy lub ładuje się na tyle wolno, że użytkownik i tak nie jest w stanie z niej skorzystać.\nW praktyce wyróżnia się downtime planowany (np. prace serwisowe) oraz nieplanowany (awarie, błędy infrastruktury). Z perspektywy użytkownika jednak ta różnica jest drugorzędna - liczy się to, czy usługa działa.\nJak liczy się uptime? Uptime wyraża się jako procent czasu działania względem całkowitego czasu:\nuptime (%) = (czas działania / całkowity czas) × 100 Przykład:\ndany miesiąc = 30 dni = 43 200 minut downtime = 60 minut uptime w danym miesiącu = (43 200 - 60) / 43 200 × 100 ≈ 99.86% Ten przykład dobrze pokazuje, że nawet krótka awaria ma wpływ na końcowy wynik.\nIle to jest \u0026ldquo;dobry\u0026rdquo; uptime? Różnice między wartościami uptime mogą wydawać się niewielkie, ale w praktyce oznaczają ogromne różnice w czasie niedostępności.\n99% to około 7 godzin downtime miesięcznie 99,5% to około 3,5 godziny 99,9% to około 43 minuty 99,99% to około 4 minuty Każde kolejne \u0026ldquo;9\u0026rdquo; oznacza znaczące zmniejszenie liczby przestojów, ale też rosnący koszt infrastruktury.\nW praktyce:\ndla małych projektów 99% może być wystarczające dla biznesów online standardem jest co najmniej 99,9% dla systemów krytycznych dąży się do 99,99% i więcej Czym jest SLA? SLA (Service Level Agreement) to deklaracja lub umowa określająca gwarantowany poziom dostępności usługi. Zawiera informacje o minimalnym uptime, sposobie jego mierzenia oraz ewentualnych rekompensatach.\nPrzykładowo dostawca może deklarować 99,9% uptime miesięcznie i oferować zwrot części opłaty, jeśli ten poziom nie zostanie osiągnięty.\nWarto jednak pamiętać, że SLA nie oznacza rzeczywistej dostępności Twojej strony. Dotyczy ono konkretnego elementu (np. hostingu), a problemy mogą wynikać również z aplikacji, konfiguracji czy wdrożeń.\nJak mierzyć uptime w praktyce? Najczęściej uptime mierzy się poprzez cykliczne sprawdzanie dostępności strony za pomocą zapytań HTTP. System monitorujący wysyła request co określony czas i sprawdza, czy otrzymuje poprawną odpowiedź.\nW praktyce warto mierzyć nie tylko samą dostępność, ale także czas odpowiedzi. Strona może działać, ale być na tyle wolna, że dla użytkownika jest praktycznie bezużyteczna.\nJeszcze dokładniejszy obraz daje monitoring wczytujący całą stronę w przeglądarce i wykonujący odpowiednie operacje na niej, który analizuje rzeczywiste doświadczenia użytkowników.\nJak mierzyć SLA? Sposób liczenia SLA ma ogromne znaczenie dla interpretacji wyników. Kluczowe jest to, czy uptime liczony jest w skali miesiąca czy roku, czy uwzględnia planowane przerwy oraz jak często wykonywane są pomiary.\nNa przykład monitoring wykonywany co minutę pozwala wykryć krótkie awarie, podczas gdy sprawdzanie co kilka minut może je całkowicie pominąć.\nW efekcie ten sam system może mieć różny uptime w zależności od przyjętej metodologii pomiaru.\nDlaczego uptime ma znaczenie biznesowe? Downtime to nie tylko problem techniczny, ale realny koszt dla biznesu. Każda minuta niedostępności może oznaczać utracone przychody, niezadowolonych użytkowników i spadek zaufania.\nW przypadku e-commerce łatwo to zobaczyć - jeśli sklep generuje określony przychód na godzinę, każda godzina przestoju oznacza konkretną stratę finansową. Do tego dochodzą trudniejsze do zmierzenia skutki, takie jak odpływ klientów czy pogorszenie wyników SEO.\nPodsumowanie Uptime i downtime to podstawowe wskaźniki dostępności systemów, które mają bezpośrednie przełożenie na biznes. Różnice między 99% a 99,9% mogą wydawać się niewielkie, ale w praktyce oznaczają godziny lub minuty niedostępności.\nSLA pomaga określić oczekiwany poziom usług, ale nie zastępuje realnego monitoringu. To właśnie sposób pomiaru i interpretacji danych decyduje o tym, czy masz kontrolę nad dostępnością swojej strony.\nMonitoruj uptime strony lub serwera na https://ping.pl/.\n","permalink":"https://ping.pl/blog/posts/co-to-jest-uptime-i-downtime/","tags":null,"title":"Co to jest uptime i downtime?"},{"categories":null,"content":"To jedno z tych pytań, które regularnie wraca: czy monitoring strony może ją obciążać na tyle, że zacznie działać wolniej?\nNa pierwszy rzut oka brzmi to sensownie. W końcu monitoring to nic innego jak regularne \u0026ldquo;odwiedzanie\u0026rdquo; strony - a każde wejście to jakieś obciążenie dla serwera. Jeśli coś sprawdzamy co minutę, przez całą dobę, łatwo pomyśleć, że może się to sumować.\nW praktyce jednak wpływ monitoringu na wydajność strony jest zaskakująco mały. I w większości przypadków zupełnie pomijalny.\nMonitoring to po prostu bardzo zdyscyplinowany użytkownik Najprościej myśleć o monitoringu jak o użytkowniku, który co jakiś czas wchodzi na Twoją stronę i sprawdza, czy wszystko działa.\nJeśli monitoring wykonuje zapytanie co minutę, oznacza to dokładnie jedno dodatkowe wejście na minutę. W skali godziny to 60 wejść. W skali dnia - 1440.\nBrzmi dużo? Tylko do momentu, kiedy zestawisz to z realnym ruchem.\nNawet niewielka strona potrafi mieć więcej wejść w ciągu godziny niż monitoring w ciągu całego dnia. A większe serwisy obsługują tysiące użytkowników jednocześnie i to bez problemu.\nDlatego z punktu widzenia serwera monitoring to praktycznie niezauważalny ruch.\nMonitoring dostępności co minutę - czy to dużo? Najczęstszy typ monitoringu to tzw. monitoring dostępności - czyli regularne sprawdzanie, czy strona, a raczej serwer odpowiada poprawnie.\nTakie zapytanie jest bardzo lekkie. Najczęściej polega na pobraniu samej strony lub nawet tylko nagłówków odpowiedzi. Serwer wykonuje minimalną pracę, a całość trwa ułamek sekundy. praktyce jedno zapytanie na minutę to bardzo małe obciążenie, wręcz pomijalne.\nJeśli więc zastanawiasz się, czy monitoring co minutę może \u0026ldquo;zamulić\u0026rdquo; stronę - odpowiedź brzmi: w praktyce nie ma to znaczenia.\nMonitoring szybkości strony - bardziej \u0026ldquo;realny\u0026rdquo;, ale nadal lekki Trochę inaczej wygląda sytuacja przy monitoringu wydajności, czyli mierzeniu czasu ładowania strony w przeglądarce.\nTutaj nie mówimy już o prostym zapytaniu HTTP. Monitoring uruchamia prawdziwą przeglądarkę, ładuje stronę, wykonuje JavaScript i renderuje widok - dokładnie tak, jak zrobiłby to użytkownik.\nTo generuje większe obciążenie niż zwykły \u0026ldquo;ping\u0026rdquo; strony, ale kluczowe jest coś innego: to nadal tylko jedna wizyta.\nJeśli taki test uruchamiany jest co 5-10 minut, oznacza to kilka dodatkowych wejść na godzinę. Serwer widzi to po prostu jako normalnego użytkownika, bez żadnego szczególnego obciążenia.\nDla większości stron to absolutnie pomijalna różnica, szczególnie jeśli mają już realny ruch.\nMonitoring scenariuszy - czyli \u0026ldquo;symulacja użytkownika\u0026rdquo; Najbardziej zaawansowaną formą monitoringu są tzw. scenariusze. To coś w rodzaju automatycznych testów: system otwiera stronę, klika w przyciski, wypełnia formularze i przechodzi przez kolejne kroki zaplanowanego procesu.\nTaki monitoring jest bardziej wymagający, bo obejmuje kilka interakcji zamiast jednego zapytania. Może przejść przez logowanie, wykonać akcje w aplikacji czy uruchomić bardziej złożone procesy.\nAle znowu - wszystko sprowadza się do skali.\nJeśli scenariusz uruchamiany jest co kilka minut, to nadal jest to pojedyncza sesja użytkownika. Nawet jeśli składa się z kilku kroków, dla serwera to wciąż niewielkie obciążenie.\nA co z monitoringiem serwera? Monitoring nie zawsze dotyczy samej strony. Często sprawdzane są też inne elementy infrastruktury: serwera DNS, serwera pocztowego, API lub innej usługi internetowej.\nTego typu testy są jeszcze lżejsze niż monitoring strony. W wielu przypadkach sprowadzają się do prostego sprawdzenia, czy dana usługa odpowiada lub czy serwer reaguje na zapytanie.\nIch wpływ na obciążenie jest praktycznie zerowy - to pojedyncze, bardzo krótkie operacje.\nPodsumowanie Monitoring strony internetowej nie spowalnia jej w zauważalny sposób. Nawet wykonywany co minutę jest tylko niewielkim dodatkiem do normalnego ruchu na stronie.\nMonitoring wydajności/szybkości ładowania to po prostu symulacja pojedynczego użytkownika odwiedzającego pojedynczą stronę Monitoring scenariuszy to kilka dodatkowych kroków, ale nadal niewielka skala. Monitoring serwera to w praktyce zerowe obciążenie. Jeśli więc zastanawiasz się, czy warto uruchomić monitoring obawiając się o wydajność - odpowiedź jest prosta: tak, zdecydowanie warto. Koszt jest minimalny, a spokój i kontrola nad działaniem strony - bezcenne.\nSprawdź niezawodną usługę do monitoringu strony https://ping.pl/.\n","permalink":"https://ping.pl/blog/posts/czy-monitoring-strony-internetowej-ja-spowalnia/","tags":null,"title":"Czy monitoring strony internetowej ją spowalnia?"},{"categories":null,"content":"Jeżeli strona działa u Ciebie, a nie działa u klientów, problem najczęściej nie jest wyimaginowany. Internet jest systemem rozproszonym, a jego zachowanie zależy od lokalizacji, infrastruktury pośredniej i konfiguracji bezpieczeństwa.\nJak to możliwe, skoro internet to \u0026ldquo;jedna sieć\u0026rdquo;?\nInternet nie wygląda tak samo z każdego miejsca To, że strona działa w Twojej przeglądarce w Polsce, nie oznacza, że działa identycznie w Niemczech, Norwegii czy w sieci komórkowej innego operatora. Użytkownicy łączą się z różnych adresów IP, przez różne trasy sieciowe, a czasem przez różne centra danych.\nJeśli masz błędną konfigurację firewalla, blokadę geograficzną albo problem z routingiem w jednym z regionów, efekt będzie dokładnie taki: część użytkowników zobaczy stronę, część - błąd 502, timeout albo całkowity brak odpowiedzi.\nWłaśnie dlatego \u0026ldquo;u mnie działa\u0026rdquo; nie jest testem dostępności.\nDNS potrafi wprowadzić w błąd Szczególnie często problem pojawia się po migracji serwera. Zmieniasz hosting, aktualizujesz rekordy DNS i widzisz, że wszystko jest w porządku. Ale serwery DNS na świecie aktualizują się stopniowo. Przez pewien czas część użytkowników trafia jeszcze na stary adres IP.\nJeżeli poprzedni serwer został już wyłączony albo działa niestabilnie, klient może widzieć niedostępną stronę, podczas gdy Ty - nową, poprawnie działającą wersję.\nTo klasyczny scenariusz przy przenosinach strony.\nCache i warstwy pośrednie Kolejna pułapka to cache. Przeglądarki, systemy operacyjne, CDN-y i reverse proxy przechowują odpowiedzi, aby przyspieszyć działanie strony. Problem w tym, że czasem przechowują również błędy.\nMoże się zdarzyć, że Ty widzisz już poprawioną wersję, a klient nadal ładuje zapamiętaną odpowiedź z błędem 500. Albo odwrotnie - u Ciebie działa wersja z cache, a nowy użytkownik trafia w świeży błąd.\nW takich sytuacjach warto sprawdzić stronę w trybie incognito (prywatnym). Dlaczego? Ponieważ przeglądarka nie korzysta wtedy z zapisanych ciasteczek, lokalnego cache ani aktywnej sesji użytkownika. Otwierasz stronę tak, jak zobaczyłby ją nowy użytkownik - bez zapisanych danych logowania, bez zapamiętanych zasobów i bez rozszerzeń ingerujących w treść.\nBardzo często problem \u0026ldquo;magicznie znika\u0026rdquo; albo - przeciwnie - dopiero wtedy się ujawnia.\nUżytkownicy korzystają ze strony inaczej niż jej autor To jedna z najczęstszych, a jednocześnie najbardziej niedocenianych przyczyn problemów.\nJako autor, właściciel lub programista znasz swoją stronę. Wiesz, gdzie kliknąć. Wiesz, jak wygląda poprawna ścieżka użytkownika. Testujesz „książkowy” scenariusz.\nTymczasem realni użytkownicy zachowują się zupełnie inaczej.\nKlikają w mniej oczywiste miejsca. Otwierają stronę na telefonie z małym ekranem. Używają starszej wersji przeglądarki. Mają zainstalowane rozszerzenia blokujące skrypty. Próbują wykonać akcje w innej kolejności, niż zakładał projekt.\nMoże się okazać, że:\nformularz działa poprawnie, ale tylko przy określonej szerokości ekranu, przycisk jest widoczny na desktopie, ale zasłonięty na telefonie, JavaScript przestaje działać w konkretnej wersji przeglądarki, walidacja blokuje nietypowy, ale poprawny przypadek użycia. Właściciel strony nigdy tego nie zobaczy, bo nie używa jej w ten sam sposób co użytkownik końcowy.\nDlatego tak ważne jest testowanie w różnych przeglądarkach, na różnych urządzeniach i przy różnych rozmiarach ekranu. Czasem wystarczy zmniejszyć okno przeglądarki albo otworzyć stronę na telefonie, aby zobaczyć problem, który przez miesiące pozostawał niewidoczny.\nBlokady i zabezpieczenia Czasem strona \u0026ldquo;nie działa\u0026rdquo; tylko dlatego, że system bezpieczeństwa uznał użytkownika za zagrożenie. Firewalle aplikacyjne, ochrona przed botami czy reguły geolokalizacyjne mogą zablokować określone zakresy IP.\nWłaściciel strony tego nie zauważy, bo jego adres IP nie jest objęty blokadą. Klient - już tak.\nTo szczególnie częste przy agresywnych konfiguracjach ochrony przed atakami DDoS.\nPrzeciążenie serwera Bywa też, że strona działa poprawnie przy niewielkim ruchu, ale zaczyna zwracać błędy w momentach obciążenia. Kampania reklamowa, newsletter czy promocja w sklepie mogą nagle zwiększyć liczbę zapytań.\nJeżeli serwer lub baza danych nie radzą sobie z obciążeniem, użytkownicy zobaczą błędy 503 albo 504. Ty, testując stronę kilka minut później, możesz już nie trafić na problem.\nTo sprawia wrażenie \u0026ldquo;losowej niedostępności\u0026rdquo;.\nJak sprawdzić, gdzie leży problem? Największym błędem jest opieranie się wyłącznie na własnym teście w przeglądarce. Potrzebne są dane z różnych lokalizacji i z różnych momentów w czasie.\nDopiero wtedy można odpowiedzieć na pytania: czy problem jest lokalny czy globalny, czy dotyczy całej strony czy tylko konkretnego endpointu, czy występuje stale, czy pod obciążeniem.\nDlatego w Ping.pl umożliwiamy monitorowanie strony z wielu lokalizacji jednocześnie. Dzięki temu wiesz, czy niedostępność dotyczy konkretnego regionu, czy jest problemem globalnym. Otrzymujesz informacje o kodach HTTP, czasie odpowiedzi i możesz reagować zanim klienci zaczną pisać, że \u0026ldquo;coś nie działa\u0026rdquo;.\n","permalink":"https://ping.pl/blog/posts/dlaczego-strona-dziala-u-mnie-a-u-innych-nie/","tags":null,"title":"Dlaczego strona działa u mnie, ale nie działa u innych?"},{"categories":null,"content":"Dostępność cyfrowa dla osób z niepełnosprawnościami przestała być dobrą praktyką – w 2025 roku stała się obowiązkiem prawnym dla tysięcy firm w Unii Europejskiej. Wszystko za sprawą Europejskiego Aktu o Dostępności (EAA) oraz wytycznych WCAG, które określają, jak strony internetowe i aplikacje powinny być projektowane, aby były dostępne dla wszystkich użytkowników, w tym osób z niepełnosprawnościami.\nCo to oznacza w praktyce dla właściciela strony internetowej? Kogo nowe przepisy dotyczą i jakie działania należy podjąć?\nCzym jest EAA? EAA (European Accessibility Act) to unijna dyrektywa, której celem jest ujednolicenie wymagań dotyczących dostępności produktów i usług cyfrowych w całej Unii Europejskiej. Państwa członkowskie (w tym Polska) musiały wdrożyć jej zapisy do prawa krajowego, a pełne stosowanie przepisów obowiązuje od 28 czerwca 2025 roku.\nEAA nie dotyczy wyłącznie instytucji publicznych – po raz pierwszy w tak szerokim zakresie obejmuje sektor prywatny, w szczególności usługi cyfrowe świadczone konsumentom.\nCzym jest WCAG i jak ma się do EAA? WCAG (Web Content Accessibility Guidelines) to międzynarodowy standard techniczny opisujący, jak tworzyć dostępne strony internetowe i aplikacje. EAA nie definiuje szczegółowych rozwiązań technicznych, lecz w praktyce odwołuje się właśnie do WCAG jako punktu odniesienia.\nObecnie wymaganym standardem jest WCAG 2.1 AA, a w wielu przypadkach rekomendowane jest już projektowanie pod WCAG 2.2.\nWCAG opiera się na czterech zasadach dostępności:\nPostrzegalność (Perceivable) – treści muszą być możliwe do odebrania (np. przez czytniki ekranu) Funkcjonalność (Operable) – interfejs musi działać z klawiaturą Zrozumiałość (Understandable) – treści i nawigacja nie mogą być mylące Rzetelność (Robust) – kod musi być zgodny ze standardami i technologiami asystującymi Kogo dotyczą przepisy EAA? EAA dotyczy firm i organizacji, które oferują określone usługi lub produkty cyfrowe na rynku UE. W kontekście stron internetowych najważniejsze są:\nEAA obejmuje m.in.:\nsklepy internetowe (e-commerce) platformy sprzedażowe i rezerwacyjne bankowość elektroniczną i fintech serwisy subskrypcyjne usługi telekomunikacyjne platformy streamingowe i e-booki aplikacje i strony umożliwiające zawieranie umów online Kogo EAA nie dotyczy? EAA aktualnie nie dotyczy:\nmikroprzedsiębiorców (poniżej 10 pracowników i obrót \u0026lt; 2 mln EUR) stron prywatnych i hobbystycznych treści archiwalnych, które nie są aktualizowane Co musi zrobić właściciel strony internetowej, którą dotyczy EAA? Dostosować stronę do WCAG 2.1 AA Najważniejsze wymagania techniczne:\npoprawna struktura nagłówków (H1–H6) odpowiedni kontrast tekstu do tła możliwość obsługi strony wyłącznie klawiaturą teksty alternatywne (alt) dla obrazów etykiety formularzy i komunikaty błędów brak elementów migających lub blokujących nawigację, logiczna kolejność fokusów dla poruszania się po elementach strony klawiszem Tab czytelne linki i przyciski Opublikować deklarację dostępności Strona objęta EAA powinna zawierać:\ndeklarację dostępności opis zgodności z WCAG informacje kontaktowe do zgłaszania problemów opis ewentualnych wyjątków Deklaracja musi być łatwo dostępna i zrozumiała.\nMonitorować dostępność w czasie Dostosowanie strony do wymogów WCAG to nie jednorazowy projekt. Aktualizacje CMS-a, nowe wtyczki, zmiany layoutu czy kampanie marketingowe mogą ponownie wprowadzić błędy WCAG.\nDlatego kluczowe jest regularne testowanie strony pod kątem jej dostępności dla osób z niepełnosprawnościami oraz sprawne wprowadzanie wymaganych zmian.\nJakie są konsekwencje braku zgodności? Państwa UE wprowadzają własne sankcje, ale najczęściej są to:\nkary finansowe (kara może sięgnąć nawet do 10% rocznego obrotu przedsiębiorstwa z poprzedniego roku) nakazy dostosowania strony odpowiedzialność cywilna Co ważne: użytkownik nie musi mieć orzeczenia o niepełnosprawności, aby zgłosić naruszenie dostępności.\nPodsumowanie W Polsce brak zgodności z Europejskim Aktem o Dostępności może prowadzić do realnych konsekwencji finansowych i administracyjnych dla właścicieli stron internetowych oraz usług cyfrowych. Organy nadzorcze mają prawo najpierw wezwać przedsiębiorcę do usunięcia naruszeń, a w przypadku braku reakcji nałożyć karę pieniężną, której wysokość zależy od skali i wagi uchybień. W skrajnych przypadkach sankcje mogą sięgać nawet 10% rocznego obrotu firmy, a dodatkowo przedsiębiorca musi liczyć się z ryzykiem skarg konsumentów, postępowań cywilnych oraz strat wizerunkowych. Dlatego dostosowanie strony do wymagań EAA i WCAG nie jest wyłącznie kwestią zgodności z prawem, ale także elementem zarządzania ryzykiem biznesowym.\n","permalink":"https://ping.pl/blog/posts/eaa-i-wcag-co-to-jest-i-kogo-dotyczy/","tags":null,"title":"EAA i WCAG - co to jest i kogo dotyczy?"},{"categories":null,"content":"Każda minuta niedostępności strony oznacza utraconych użytkowników, potencjalnych klientów i realne straty finansowe. W Ping.pl monitorujemy tysiące stron internetowych, dzięki temu wiemy, jakie są najczęstsze przyczyny niedostępności stron internetowych.\nPoniżej przedstawiamy zestawienie najpopularniejszych typów awarii na podstawie ponad 350 tysięcy zarejestrowanych błędów z ostatniego okresu.\nTimeout – 196 303 przypadki Timeout odpowiada za ponad połowę wszystkich błędów. Oznacza to, że serwer nie odpowiedział na żądanie przeglądarki w określonym czasie zależnym od konfiguracji monitoringu dane strony (zazwyczaj 30 sekund).\nNajczęstsze przyczyny:\nprzeciążony serwer wąskie gardło w aplikacji uruchomionej na serwerze nieoptymalne zapytanie do bazy danych blokujące dostęp do danych zbyt wolne API zewnętrzne (np. płatności, ERP, integracje) ataki botów/SPAM/DoS powodujące zapchanie serwera i jego usług Błąd HTTP 403 - 88 003 przypadki Błąd 403 oznacza, że serwer odpowiada, ale blokuje dostęp odwiedzającemu ją użytkownikowi.\nNajczęstsze powody:\nagresywne reguły WAF/Firewall blokada geolokalizacji błędna konfiguracja serwera, np. w pliku .htaccess filtr anty-bot Serwer nie odpowiada - 48 966 przypadków Błąd ten oznacza całkowity brak odpowiedzi na żądanie - serwer był wyłączony, skrajnie przeciążony albo odcięty sieciowo.\nZwykle powodem są:\nrestart serwera lub usługi, np. Apache lub Nginx prace administracyjne na serwerze blokada IP po stronie serwera problem sieciowy niezależny od serwera (np. w data center gdzie utrzymywany jest serwer) Błąd certyfikatu SSL – 31 667 przypadków Najczęściej oznacza wygaśnięcie certyfikatu SSL, co przy aktualnie stosowanej polityce w przeglądarkach oznacza w praktyce, że strona jest niedostępna dla wszystkich odwiedzających. Taką stronę można otworzyć w zasadzie tylko w trybie Incognito i to po zaakceptowaniu ostrzeżenia przeglądarki.\nPowodem błędów z certyfikatem SSL są najczęściej:\nwygasły certyfikat SSL błędny chain (certyfikat pośredni, intermediate certificate) certyfikat wystawiony dla innej domeny za słabe szyfrowanie (rzadkie, ale występuje w starych serwerach) Błąd 503 – 10 055 przypadków Serwer przeciążony lub w trakcie restartu\nBłąd ten najczęściej oznacza:\nprzekroczony limit odwiedzających w danym czasie przepełniony RAM restart usług blokada przez WAF Błąd odpowiedzi – 4 292 przypadki Serwer odpowiedział, ale odpowiedź była nienadająca się do analizy\nCzęsto są to:\nprzerwane odpowiedzi błędy typi \u0026ldquo;Malformed response\u0026rdquo; przerwane połączenia po stronie serwera Typowe dla słabszych hostingów współdzielonych.\nBłąd 500 – 3 216 przypadków Klasyczny, ogólny \u0026ldquo;Internal Server Error\u0026rdquo;, którego przyczyna to najczęściej błędy w aplikacji uruchomionej na serwerze.\nBłąd 502 – 2 704 przypadki Błąd \u0026ldquo;Bad Gateway\u0026rdquo; najczęściej występuje gdy Nginx uruchomiony na serwerze nie może skontaktować się z usługą zależną, np. php-fpm lub aplikacją node.js działającą w tle.\nBłąd słów kluczowych - 870 przypadków Ping.pl pozwala sprawdzać, czy strona zawiera lub nie zawiera określone słowa. Błędy dotyczą dwóch sytuacji:\nstrona zawiera niepożądane słowo strona nie zawiera wymaganego słowa Brak odpowiedzi - 695 przypadków Bardzo podobne do timeout, ale następuje szybciej - serwer zamyka połączenie bez wysłania odpowiedzi.\nBłąd 404 – 589 przypadków Wbrew pozorom częste — szczególnie przy:\nmigracjach stron aktualizacjach CMS usuwaniu podstron lub nieaktualnych zasobów bez poprawnego przekierowania 301 Błąd 521 – 82 przypadki Typowe dla Cloudflare - serwer origin odmawia połączenia lub jest offline.\nBłędy 400, 401, 409, 504 (sporadyczne) To marginalne przypadki, ale pokazują problemy z konfiguracją API lub autoryzacją.\nPodsumowanie Analiza ponad 350 000 błędów zarejestrowanych przez Ping.pl pokazuje, że najczęstszą przyczyną niedostępności stron są timeouty, wynikające najczęściej z przeciążenia serwera, nieoptymalnej aplikacji uruchomionej na serwerze lub problemów z zewnętrznymi usługami. Kolejne miejsca zajmują błędy 403, często wywołane przez zbyt restrykcyjne zabezpieczenia, oraz sytuacje, w których serwer w ogóle nie odpowiada. Dużą część awarii stanowią również problemy z certyfikatem SSL, a także typowe błędy serwera (błędy z rodziny 5xx), jego konfiguracji lub błędy aplikacji na nim uruchomionej.\nStały monitoring dostępności pozwala szybciej wykrywać awarie, skraca czas reakcji i realnie ogranicza straty finansowe i wizerunkowe wynikające z niedostępności strony.\nUruchom monitoring strony na https://ping.pl/ i bądź pierwszą osobą, która dowie się o błędzie na stronie.\n","permalink":"https://ping.pl/blog/posts/najczestsze-przyczyny-niedostepnosci-stron/","tags":null,"title":"Najczęstsze przyczyny niedostępności stron - analiza danych z Ping.pl"},{"categories":null,"content":"Czy Twoja strona naprawdę działa - wszędzie i dla każdego użytkownika? Większość właścicieli stron internetowych zakłada, że jeśli strona otwiera się u nich na komputerze, to znaczy, że działa poprawnie. Niestety, to złudne wrażenie. W rzeczywistości dostępność serwisu może się różnić w zależności od lokalizacji użytkownika, operatora sieci, czasu dnia czy chwilowych problemów z serwerem DNS.\nDlatego właśnie monitoring z wielu lokalizacji to konieczność - zwłaszcza w czasach, gdy użytkownicy oczekują natychmiastowego dostępu, a każda minuta niedostępności oznacza straty wizerunkowe i finansowe.\nDostępność strony z jednego miejsca Gdyby monitorować dostępność strony internetowej tylko z jednego miejsca to tak, jakby zapytać klienta w Warszawie, czy widzi Twoją stronę i na tej podstawie wyciągać wniosek o dostępności strony na terenie całego kraju.\nW praktyce dostępność może wyglądać zupełnie inaczej w innych częściach kraju:\nUżytkownik w Gdańsku łączy się przez inny węzeł sieciowy niż ten w Krakowie, Różne trasy routingu mogą prowadzić przez przeciążone lub błędnie skonfigurowane węzły, Serwery DNS mogą propagować zmiany w różnym czasie, Zapory sieciowe i filtry bezpieczeństwa CDN-ów (np. Cloudflare) potrafią różnie reagować w zależności od regionu. Efekt? Strona działa w jednym miejscu, a w innym już nie - a Ty nawet o tym nie wiesz.\nJak działa monitoring z wielu lokalizacji Monitoring z wielu lokalizacji polega na tym, że system sprawdza stronę z kilku niezależnych punktów geograficznych - np. z Warszawy, Gdańska, Krakowa czy Londynu. Każda lokalizacja wykonuje test HTTP/HTTPS, SSL, DNS lub Ping, a wyniki są porównywane. Jeśli problem pojawia się tylko w jednym miejscu - np. test z Warszawy zwraca błąd, a z innych lokalizacji strona działa - system interpretuje to jako lokalną awarię lub problem z siecią operatora, a nie z samym serwerem.\nDzięki temu unikasz fałszywych alarmów i lepiej rozumiesz, skąd naprawdę pochodzi problem.\nPing.pl stosuje właśnie takie podejście: każdy test weryfikuje stronę z kilku punktów, a status strony niedostępnej zostaje nadany dopiero po potwierdzeniu awarii z trzech niezależnych lokalizacji z rzędu. To gwarantuje najwyższą dokładność i ogranicza liczbę fałszywie pozytywnych powiadomień.\nCo można wykryć dzięki monitoringu z wielu lokalizacji Wielolokalizacyjny monitoring ujawnia problemy, które w innym przypadku pozostałyby niewidoczne, np.:\nBłędy DNS w wybranych regionach Serwery DNS mogą być skonfigurowane w taki sposób, że niektóre z nich nie propagują zmian poprawnie. Efekt: użytkownicy z jednej części kraju trafiają na nieistniejący adres IP. Monitoring z różnych lokalizacji to wychwyci.\nProblemy z routingiem i operatorami sieci Niektóre trasy sieciowe (np. między Gdańskiem a serwerem w Warszawie) mogą być czasowo przeciążone lub błędnie zbalansowane. Monitoring z różnych lokalizacji pozwala wskazać, gdzie dokładnie pojawia się opóźnienie lub utrata pakietów.\nBłędy CDN i reguł bezpieczeństwa Usługi CDN, takie jak Cloudflare, filtrują ruch według regionu i mogą niepoprawnie klasyfikować żądania jako potencjalnie niebezpieczne. Efekt: część użytkowników widzi stronę, a inni - błąd 403. Monitoring z wielu lokalizacji natychmiast pokaże, że problem dotyczy tylko określonego regionu.\nWiarygodność raportów i powiadomień o niedostępnościach Dane z monitoringu z wielu lokalizacji są nie tylko dokładniejsze, ale też bardziej wiarygodne dowodowo - np. w relacjach z klientami, partnerami czy hostingodawcą. Zamiast stwierdzenia: \u0026ldquo;Strona była niedostępna przez 10 minut\u0026rdquo;, możesz pokazać raport z usługi monitoringu, który wskaże:\nz jakich lokalizacji problem był widoczny kiedy dokładnie pojawił się problem i jak długo trwał jakie błędy HTTP były zwracane jak zmieniały się czasy odpowiedzi w poszczególnych regionach To nieoceniona pomoc przy analizie SLA (Service Level Agreement) lub w rozmowach z dostawcą hostingu.\nSzybsze wykrywanie rzeczywistych awarii Dzięki wielu lokalizacjom system monitorujący odróżni fałszywy alarm od faktycznej niedostępności strony. Ping.pl działa według zasady, że awaria zostaje potwierdzona dopiero wtedy, gdy błąd wystąpi w co najmniej trzech niezależnych lokalizacjach z rzędu. To podejście eliminuje przypadki, gdy krótkotrwałe problemy z siecią powodowały niepotrzebne powiadomienia.\nWpływ na SEO Jeśli witryna ładuje się wolno w niektórych regionach, roboty Google mogą obniżyć jej pozycję w wynikach wyszukiwania dla użytkowników z danego obszaru. Monitoring z wielu lokalizacji pozwala to wychwycić wcześniej - zanim ucierpi widoczność strony w wynikach wyszukiwania.\nDodatkowo dzięki monitoringu z wielu lokalizacji możesz porównać:\nśredni czas odpowiedzi w Polsce, różnice między regionami (np. Warszawa vs. Londyn), wpływ CDN-a lub dostawcy hostingu na wydajność. Dzięki tym danym można lepiej dobrać serwer, CDN lub ustawienia cache.\nSprawdź, jak to działa w praktyce Wejdź na https://ping.pl/ i uruchom monitoring swojej strony.\nZobacz, jak wygląda monitoring z wielu lokalizacji w czasie rzeczywistym - z raportami, powiadomieniami i analizą historii.\n","permalink":"https://ping.pl/blog/posts/dlaczego-nalezy-monitorowac-strone-z-wielu-lokalizacji/","tags":null,"title":"Dlaczego należy monitorować stronę z wielu lokalizacji?"},{"categories":null,"content":"W Ping.pl przebudowaliśmy mechanizm wysyłki powiadomień oraz raportów okresowych. \u0026ldquo;Dotychczasowe kontakty\u0026rdquo; zostały zastąpione metodami powiadomień, co pozwoliło na wprowadzenie nowych kanałów komunikacji. Dzięki temu możesz otrzymywać powiadomienia o wykrytych problemach z monitorowanymi stronami nie tylko e-mailem, ale także przez Microsoft Teams i Pushover. W tym artykule krok po kroku pokazujemy, jak skonfigurować obie metody.\nPowiadomienia na Microsoft Teams Microsoft Teams jest szeroko stosowanym narzędziem komunikacji w wielu firmach i zespołach. Dlatego naturalnym wyborem było umożliwienie integracji Ping.pl właśnie z Teams. Dzięki temu możesz wskazać dowolny czat lub kanał jako miejsce publikacji alertów o niedostępnościach.\nJak dodać Teams jako metodę powiadomień? Krok 1. Utwórz webhook w Microsoft Teams (Workflows) W Teams przejdź do czatu lub kanału, w którym chcesz otrzymywać powiadomienia. Z menu Więcej opcji - Workflows wybierz szablon \u0026ldquo;Post to a chat/channel when a webhook request is received\u0026rdquo; ( odpowiedni dla czatu lub kanału). Przejdź kreator: nadaj nazwę, uwierzytelnij konto i wskaż docelowy czat/kanał. Po utworzeniu workflow skopiuj wygenerowany URL webhooka (HTTP POST URL). W przyszłości znajdziesz go również w aplikacji Workflows, edytując workflow i rozwijając sekcję When a \u0026ldquo;Teams webhook request is received\u0026rdquo;. Uwaga: dostępność Workflows i niektórych funkcji może zależeć od typu organizacji i uprawnień w Microsoft 365.\nKrok 2. Dodaj metodę powiadomień w Ping.pl Zaloguj się do Panelu Użytkownika w Ping.pl i przejdź do zakładki \u0026ldquo;Metody powiadomień\u0026rdquo;. Kliknij \u0026ldquo;Dodaj metodę\u0026rdquo;. W formularzu nadaj nazwę metodzie, wybierz typ \u0026ldquo;Teams\u0026rdquo;, a w polu \u0026ldquo;Webhook URL\u0026rdquo; wklej skopiowany adres webhooka. Uzupełnij pozostałe dane i zatwierdź przyciskiem \u0026ldquo;Zapisz\u0026rdquo;. Po utworzeniu nowej metody powiadomień możesz przypisać ją do wybranego monitora na dwa sposoby: edytując konkretny monitor i dodając nową metodę powiadomień, albo bezpośrednio w zakładce \u0026ldquo;Powiadomienia i raporty\u0026rdquo; przypisując ją jednocześnie do wielu monitorów.\nPowiadomienia na Pushover Pushover to usługa, która dostarcza powiadomienia push na iOS i Android, a także na systemy desktopowe (macOS/Windows - również z dedykowanym klientem). To szybki i niezawodny sposób, aby dowiedzieć się o awarii natychmiast po jej wykryciu. Do konfiguracji potrzebny będzie Twój prywatny User Key (lub opcjonalnie Group Key).\nJak dodać Pushover jako metodę powiadomień? Krok 1. Przygotuj aplikację Pushover Zainstaluj aplikację Pushover na urządzeniu, na którym chcesz otrzymywać powiadomienia. Załóż konto i zarejestruj urządzenie – aplikacja wyświetli Twój User Key (dostępny również na dashboardzie). Skopiuj go. (Opcjonalnie) Utwórz Group Key, jeśli chcesz, aby powiadomienia trafiały do kilku osób lub urządzeń jednocześnie. Krok 2. Dodaj metodę powiadomień w Ping.pl W Panelu Użytkownika wejdź w zakładkę \u0026ldquo;Metody powiadomień\u0026rdquo; i kliknij \u0026ldquo;Dodaj metodę\u0026rdquo;. Wybierz typ \u0026ldquo;Pushover\u0026rdquo;. W polu \u0026ldquo;User/Group Key\u0026rdquo; wklej wcześniej skopiowany klucz. Zapisz zmiany. Konfiguracja w Ping.pl przebiega analogicznie jak w przypadku Teams - z tą różnicą, że zamiast adresu webhooka podajesz klucz Pushover.\n","permalink":"https://ping.pl/blog/posts/powiadomienia-o-niedostepnosciach-na-teams-i-pushover/","tags":null,"title":"Powiadomienia o niedostępnościach na Teams i Pushover w Ping.pl"},{"categories":null,"content":"W świecie online każda sekunda ma znaczenie. Dla użytkowników liczy się szybkość, stabilność i niezawodność usług. Gdy strona lub aplikacja przestaje działać, pojawiają się nie tylko problemy techniczne, ale także realne straty finansowe i wizerunkowe. Dlatego szybka reakcja na awarie staje się nie tylko kwestią techniczną, ale również przewagą biznesową.\nStraty bezpośrednie Pierwszym aspektem, który warto zrozumieć, jest koszt każdej minuty przestoju. Badania pokazują, że nawet krótka niedostępność serwisu może przełożyć się na wymierne straty finansowe. W przypadku sklepów internetowych brak możliwości dokonania zakupów oznacza natychmiastowe utracone zamówienia. Dla dostawców usług SaaS niedostępność aplikacji to ryzyko, że klienci zaczną szukać alternatywy. Nawet firmy usługowe, które generują sprzedaż poprzez formularze czy kontakt telefoniczny, tracą potencjalne zlecenia, jeśli ich strona przestaje działać. Im dłużej trwa awaria, tym większa staje się skala strat.\nPoniższy wykres prezentuje zależność czasu ładowania się strony do ilości użytkowników, którzy wyjdą ze strony, zanim ta zdąży się cała załadować. Każda sekunda dodatkowego czasu ładowania oznacza więc, że opuści ją więcej osób co z kolei ma bezpośrednie przełożenie na przychód:\nŹródło: http://nitropack.io/blog/post/how-page-speed-affects-conversion.\nUtrata reputacji Kwestia finansów to jednak tylko połowa problemu. Drugim filarem jest reputacja. Dzisiejsi użytkownicy są coraz mniej cierpliwi. Już trzy sekundy opóźnienia w ładowaniu wystarczą, by ponad połowa z nich zrezygnowała z dalszego korzystania z witryny. A jeśli zamiast treści zobaczą komunikat \u0026ldquo;strona niedostępna\u0026rdquo;, mogą nie wrócić już nigdy. Każda awaria podważa zaufanie do marki, sprawia, że klienci zaczynają zastanawiać się nad jej profesjonalizmem, a partnerzy biznesowi mogą nabrać wątpliwości co do stabilności współpracy. W czasach, gdy opinie rozchodzą się błyskawicznie w mediach społecznościowych, nawet krótka awaria może przerodzić się w kryzys wizerunkowy.\nDodatkowe obciązenie zespołu Firma, która boryka się z problemem dostępności lub wolnym działaniem swojego serwisu, ponosi dodatkowe koszty w postaci większego obciążenia zespołu odpowiedzialnego za utrzymanie serwisu. Zespoły IT muszą reagować na zgłoszenia i rozwiązywać problemy w trybie kryzysowym, zamiast zajmować się rozwojem. Każda awaria oznacza też dodatkowy stres i konieczność zaangażowania pracowników z innych działów, np. obsługi klienta, którzy muszą tłumaczyć się z niedostępności usług.\nJak monitoring dostępności pomaga zminimalizować ryzyko strat Kluczowym elementem, który pozwala zareagować błyskawicznie, jest monitoring dostępności serwisów internetowych. To właśnie on informuje o problemach często jeszcze zanim zauważą je użytkownicy. Skuteczne rozwiązania monitorujące działają automatycznie i nieprzerwanie, wysyłają powiadomienia w czasie rzeczywistym i potrafią skutecznie pomóc w rozwiązaniu problemu, niezależnie od tego, czy chodzi o błąd serwera, wygasły certyfikat SSL czy czasowe spowolnienie serwisu. Co istotne, monitoring z wielu lokalizacji pozwala odróżnić awarię globalną od lokalnej, dzięki czemu reakcja może być szybka i adekwatna.\nCzas reakcji to realna przewaga konkurencyjna. Firmy, które są w stanie przywrócić usługę szybciej niż konkurenci, chronią swoje przychody, budują lojalność klientów i pokazują, że można na nich polegać. Dodatkowym atutem jest fakt, że Google premiuje strony szybkie i stabilne, a długotrwałe przestoje mogą obniżyć ich widoczność w wynikach wyszukiwania. W praktyce oznacza to, że sposób reagowania na awarie wpływa nie tylko na relacje z klientami, ale także na pozycję w internecie i w całym ekosystemie biznesowym.\nAby przygotować się na nieuniknione sytuacje kryzysowe, firmy powinny mieć jasno określone procedury działania. Ważne jest, aby każdy wiedział, kto odpowiada za reakcję, jakimi kanałami należy się komunikować i jakie priorytety obowiązują w pierwszych minutach awarii. Automatyzacja monitoringu pozwala wykryć problemy natychmiast, bez czekania na zgłoszenia od klientów. Warto również regularnie przeprowadzać testy scenariuszy awarii, aby sprawdzić, jak szybko zespół potrafi je rozwiązać w praktyce. Otwarta i przejrzysta komunikacja z klientami, nawet w trudnym momencie, pomaga budować zaufanie i pokazuje, że firma nie ukrywa problemów, tylko nad nimi pracuje.\nAwarie są nieuniknione i mogą zdarzyć się każdemu, nawet największym graczom na rynku. Różnica polega na tym, jak szybko i skutecznie firma na nie reaguje. Każda minuta ma znaczenie, ponieważ wpływa zarówno na przychody, jak i na reputację oraz pozycję konkurencyjną. Szybka reakcja staje się więc nie tylko procedurą techniczną, ale także elementem strategii biznesowej, który może zdecydować o sukcesie lub porażce na rynku.\nMonitoring jako narzędzie wczesnego ostrzegania Monitoring nie tylko informuje o awarii, gdy ta już nastąpi, ale może również pomóc przewidzieć problemy, zanim zdążą sparaliżować działanie firmy. W praktyce oznacza to, że odpowiednio skonfigurowane narzędzia monitorujące stają się swoistym systemem wczesnego ostrzegania. Przykładem może być sytuacja, w której strona internetowa działa coraz wolniej z tygodnia na tydzień. Użytkownik końcowy zauważa jedynie rosnący czas ładowania, ale dla administratora taki trend jest jasnym sygnałem, że serwis zbliża się do granicy swoich możliwości.\nWzrost obciążenia może wynikać z coraz większej liczby odwiedzających, nieefektywnego kodu aplikacji lub niewystarczających zasobów serwera. Dzięki monitoringowi można zauważyć te zmiany odpowiednio wcześnie i podjąć działania zapobiegawcze, zanim spowolnienia przerodzą się w całkowitą niedostępność. W praktyce oznacza to możliwość zoptymalizowania kodu strony, wdrożenia lepszych mechanizmów cache’ujących albo rozważenia zwiększenia mocy serwera.\n","permalink":"https://ping.pl/blog/posts/dlaczego-szybka-reakcja-na-awarie-strony-jest-tak-wazna/","tags":null,"title":"Dlaczego szybka reakcja na awarię strony jest tak ważna?"},{"categories":null,"content":"Symulacja awarii strony internetowej Symulacja awarii strony po stronie usługi monitorującej Jedną z najprostszych metod symulacji awarii jest użycie opcji monitorowania treści strony. Polega to na skonfigurowaniu systemu monitorującego tak, aby sprawdzał obecność konkretnego tekstu na stronie. Jeśli system wykryje oczekiwaną frazę tekstu lub jej brak, potraktuje to jako awarię. Jest to szybka i łatwa metoda, która nie wymaga żadnych zmian po stronie serwera czy kodu strony.\nPrzykładowe ustawienie:\nNa poniższym przykładzie dwie pierwszy frazy to frazy standardowo znajdujące się na stronie. Trzecia fraza została dodana testowo, aby celowo wywołać awarię strony i zweryfikować ustawienie monitoringu:\nPo zakończeniu testu usuń testową frazę, aby przywrócić monitor do normalnego stanu.\nSymulacja awarii strony po stronie serwera Alternatywną metodą jest ograniczenie dostępności strony jedynie dla adresów IP, z których wykonywane są testy monitorujące. Można tego dokonać zarówno na poziomie konfiguracji serwera HTTP, jak i bezpośrednio w aplikacji. Dzięki temu możesz sprawdzić, czy system monitorujący poprawnie wykrywa problemy z dostępnością oraz czy powiadomienia docierają bez opóźnień.\nPrzykład konfiguracji dla Apache:\n\u0026lt;Directory \u0026#34;/var/www/html\u0026#34;\u0026gt; Order allow,deny Allow from all Deny from 123.123.123.123 124.124.124.124 \u0026lt;/Directory\u0026gt; Przykład konfiguracji dla Nginx:\nlocation / { deny 123.123.123.123; deny 124.124.124.124; allow all; } Przykład w kodzie PHP:\n$blocked_ips = [\u0026#39;123.123.123.123\u0026#39;, \u0026#39;124.124.124.124\u0026#39;]; if (in_array($_SERVER[\u0026#39;REMOTE_ADDR\u0026#39;], $blocked_ips)) { header(\u0026#34;HTTP/1.1 503 Service Unavailable\u0026#34;); echo \u0026#34;Strona tymczasowo niedostępna\u0026#34;; exit; } Przykład w Express.js:\nconst express = require(\u0026#39;express\u0026#39;); const app = express(); const blockedIps = [\u0026#39;123.123.123.123\u0026#39;, \u0026#39;124.124.124.124\u0026#39;]; app.use((req, res, next) =\u0026gt; { if (blockedIps.includes(req.ip)) { res.status(503).send(\u0026#39;Strona tymczasowo niedostępna\u0026#39;); } else { next(); } }); Aktualne adresy IP serwerów monitorujących Ping.pl znajdziesz na stronie: https://ping.pl/faq\nSymulacja błędnie wykonanego procesu na stronie Najprościej będzie jeżeli do procesu który chcesz przetestować dodasz krok który wiesz, że nie zostanie wykonany poprawnie, np. próba kliknięcia przycisku, który nie istnieje:\nKrok 5-ty scenariusza to kliknięcie w element, który na stronie nie istnieje. Spowoduje to niemożliwość wykonania scenariusza, a tym samym wywoła jego awarię i wysłanie powiadomień.\nSymulacja wygaśnięcia domeny lub certyfikatu Przetestowanie monitoringu wygaśnięcia domeny lub certyfikatu jest nieco trudniejsze. Systemy monitorujące do sprawdzania daty wygaśnięcia domeny korzystają z zewnętrznych serwisów (np. WHOIS), które dostarczają informacje o statusie domen. Ponieważ są to niezależne źródła danych, nie ma możliwości ingerencji w ich zawartość, aby celowo zmienić datę wygaśnięcia wybranej domeny.\nTo, co możemy natomiast zrobić, to na czas testu monitoringu tymczasowo zmienić monitorowaną domenę na taką, o której wiemy, że wkrótce wygaśnie. Jak znaleźć taką domenę? Na przykład na stronie https://www.addhost.pl/domeny/przechwytywanie-domen/lista-domen można wyszukać domeny, które są bliskie terminu wygaśnięcia. Wybierz domenę, która wygaśnie za kilka dni (np. za 5), i ustaw ją tymczasowo jako monitorowaną. Powinieneś wówczas otrzymać ostrzeżenia o zbliżającym się terminie jej wygaśnięcia.\nPamiętaj jednak, aby podczas testów na bieżąco sprawdzać, czy wybrana domena nie została przedłużona - jeśli tak się stanie, wybierz kolejną domenę do testu.\nJeżeli chodzi o certyfikat, możesz postąpić podobnie jak w przypadku domeny - na czas testu ustaw jako monitorowaną taką stronę, której certyfikat wkrótce wygaśnie. Możesz również skorzystać z serwisu https://badssl.com/, który udostępnia specjalnie przygotowane strony z nieprawidłowymi certyfikatami (np. wygasłymi, samopodpisanymi, odwołanymi). Wystarczy, że w monitorze ustawisz jedną z tych stron jako testową, aby sprawdzić, czy system monitorujący prawidłowo wykryje problem z certyfikatem.\n","permalink":"https://ping.pl/blog/posts/jak-zasymulowac-awarie-aby-przetestowac-monitoring/","tags":null,"title":"Jak zasymulować awarię strony, aby przetestować działanie monitoringu?"},{"categories":null,"content":"O czym mówi błąd 500 Internal Server Error? Błąd 500 to ogólny komunikat serwera oznaczający, że coś poszło nie tak, ale serwer nie potrafi (lub nie chce) powiedzieć dokładnie, co. Innymi słowy, serwer napotkał nieoczekiwany problem, który uniemożliwił realizację żądania użytkownika.\nBłąd 500 nie wynika z błędnego działania przeglądarki czy problemów po stronie użytkownika – przyczyna zawsze leży po stronie serwera, jego konfiguracji, usługi na nim uruchomionej lub aplikacji (strony internetowej).\nNajczęstsze przyczyny błędu 500 Chociaż komunikat o błędzie nie daje konkretnych informacji, najczęściej za niego odpowiadają:\nBrak miejsca na dysku – wbrew pozorom to jedna z najczęstszych przyczyn błędu 500 i pokrewnych Błędy w kodzie aplikacji – np. nieobsługiwane wyjątki, błędne zapytania do bazy danych, przekroczenie limitu pamięci. Błędy konfiguracji serwera HTTP – np. błędna konfiguracja w nginx.conf, httpd.conf, web.config czy .htaccess Problemy z integracją z wewnętrznymi i zewnętrznymi usługami – np. błędy komunikacji z bazą danych lub innymi systemami zewnętrznymi. Zbyt duże obciążenie serwera – przeciążony serwer może zwrócić błąd 500 lub 503, jeśli nie radzi sobie z obsługą żądań. Nieoczekiwane wyłączenie wymaganej usługi uruchomionej na serwerze - np. z powodu nieoczekiwanego błędu lub nieudanej aktualizacji Nieprawidłowe uprawnienia do plików lub katalogów – np. zbyt restrykcyjne lub zbyt luźne prawa dostępu. Jak znaleźć szczegóły błędu? Aby skutecznie rozwiązać problem, musisz przede wszystkich dotrzeć do konkretnej przyczyny. Taką informację najpewniej znajdziesz w logach na serwerze. W pierwszej kolejności sprawdź logi aplikacji (np. strony internetowej) uruchomionej na serwerze, a w dalszej kolejności logi serwera HTTP.\nLokalizacja logów serwera HTTP:\nApache na Linux: /var/log/apache2/error.log Nginx na Linux: /var/log/nginx/error.log IIS: C:\\inetpub\\logs\\LogFiles\\W3SVC1 oraz Event Viewer (podgląd zdarzeń) Lokalizacja logów aplikacji uruchomionej na serwerze:\nW zależności od uruchomionej aplikacji (np. strony internetowej), lokalizacja logów może się różnić. Najlepiej sprawdzić dokumentację danej aplikacji, aby dowiedzieć się, gdzie są zapisywane logi. W niektórych przypadkach, takich jak WordPress, logowanie błędów nie jest domyślnie aktywne – dopiero po jego włączeniu logi staną się dostępne.\nJak naprawić błąd 500? W każdym przypadku pierwszym krokiem w rozwiązywaniu problemu z błędem 500 powinno być ustalenie bezpośredniej przyczyny jego wystąpienia. Jeśli tego nie zrobimy, narażamy się na ponowne pojawienie się błędu – nawet jeśli tymczasowo ustąpił. Logi nie zawsze precyzyjnie wskażą źródło problemu, ale z pewnością nakierują nas na odpowiedni obszar do analizy, np. brak dostępnych zasobów serwera (CPU, RAM, przestrzeń dyskowa), problemy z komunikacją z bazą danych czy nieprzewidziane wyjątki w kodzie aplikacji.\nRozwiązanie zależy od przyczyny, ale poniżej znajdziesz kilka wskazówek co możesz zrobić, jeżeli logi niewiele pomagają:\nSprawdź wolną przestrzeń na dysku - to jeden z najczęstszych powodów Sprawdź aktualne procesy i obciążenie serwera - np. komendą htop w systemie Linux lub otwórz Task Manager w Windows Zrestartuj serwer – zrestartuj przynajmniej serwer HTTP i bazę danych, ale najlepiej uruchom ponownie całą maszynę Zweryfikuj, czy w ostatnim czasie oprogramowanie na serwerze nie zaktualizowało się samoczynnie - większość systemów operacyjnych automatycznie wykonuje aktualizacje pakietów. Dotyczy to zarówno usług uruchomionych na serwerze (np. bazy danych) jak i aplikacji (np. Wordpress, który ma możliwość automatycznej aktualizacji). Zweryfikuj, czy w ostatnim czasie konfiguracja serwera nie została zmieniona Monitoring wewnętrzny Serwer oraz uruchomioną na nim aplikację warto wyposażyć w monitoring wewnętrzny – taki, który poinformuje wskazane osoby o problemach z serwerem lub stroną internetową.\nNarzędzia takie jak Sentry czy Rollbar umożliwiają monitorowanie zarówno warstwy frontendowej, jak i backendowej aplikacji, niezależnie od użytego języka programowania. Ich instalacja jest prosta i zazwyczaj sprowadza się do dodania krótkiego fragmentu kodu do głównego pliku, np. index.php lub index.html. Oba narzędzia oferują darmowe wersje, które w większości przypadków są w pełni wystarczające.\nZachęcamy do zapoznania się z artykułem: Jak monitorować błędy JavaScript na stronie z Sentry?\nMonitoring zewnętrzny Monitoring zewnętrzny to monitoring realizowany przez usługę niezależną od infrastruktury serwera. Jego głównym celem jest regularne sprawdzanie (np. co minutę), czy strona internetowa lub inna aplikacja webowa działa poprawnie.\nUruchomienie takiego monitoringu jest niezwykle proste – zazwyczaj wystarczy podać adres URL strony oraz adres e-mail lub numer telefonu, na który\nDowiedz się więcej: https://ping.pl/.\nPodsumowanie Błąd 500 Internal Server Error to jeden z najczęstszych i najbardziej ogólnych błędów HTTP. Może mieć wiele przyczyn – od błędów aplikacji po problemy z konfiguracją serwera. Na szczęście, z pomocą logów i narzędzi do monitorowania możesz szybko dotrzeć do źródła problemu i go naprawić, zanim użytkownicy zauważą, że coś jest nie tak.\n","permalink":"https://ping.pl/blog/posts/blad-500-internal-server-error-co-oznacza-i-jak-go-naprawic/","tags":null,"title":"Błąd 500 Internal Server Error – co oznacza i jak go naprawić?"},{"categories":null,"content":"Replikacja bazy danych pozwala na synchronizację danych między serwerami, co zwiększa wydajność, odporność na awarie i umożliwia równoważenie obciążenia. W tym artykule szczegółowo omówimy, jak skonfigurować replikację MySQL w trybie Master-Slave oraz Master-Master, a także jak sprawdzić jej stan i rozwiązać typowe problemy.\nReplikacja Master-Slave a Master-Master Replikacje bazy danych możemy uruchomić w modelu Master-Slave lub Master-Master:\nMaster-Slave W modelu Master-Slave mamy jeden główny serwer (Master), który przyjmuje operacje zapisów (INSERT, UPDATE, DELETE), a drugi serwer (Slave) służy wyłącznie do odczytu danych.\nSchemat działania:\nKażda zmiana na Masterze jest zapisywana w binarnym logu Slave pobiera ten log i wykonuje te same operacje u siebie. Master-Slave jest często wykorzystywany jako backup wykonywany w czasie rzeczywistym, który również daje możliwość przełączenia bazy danych w przypadku awarii Mastera. Nie jest on jednak zbyt często wykorzystywany do balansowania ruchu ze względu na brak możliwości modyfikacji danych (chyba, że wystarczy nam tylko odczyt danych, np. w aplikacjach webowych, gdzie większość operacji to operacje SELECT).\nMaster-Master W modelu Master-Master mamy dwa serwery Master, które mogą przyjmować zarówno odczyty, jak i zapisy.\nSchemat działania:\nKażdy serwer Master jest jednocześnie Slave dla drugiego serwera. Operacje zapisu wykonywane na jednym serwerze są replikowane na drugi. Oba serwery są w pełni synchronizowane. Model Master-Master wykorzystywany jest głównie do balansowania ruchu. Jest bardziej podatny na błędy ze względu na ryzyko konfliktów - jeśli ten sam rekord zostanie zmodyfikowany na obu serwerach jednocześnie, może dojść do konfliktów, które trzeba ręcznie rozwiązywać.\nKonfiguracja baz danych przeznaczonych do replikacji Zmiany w pliku konfiguracyjnym Zakładam, że posiadasz zainstalowaną bazę danych na serwerach które mają być objęte replikację. Zalecane jest, aby użyta była ta sama wersja MySQL, zapewni to największą zgodność.\nNa obu serwerach otwórz pliki konfiguracyjne bazy danych (zazwyczaj jest to plik /etc/mysql/my.cnf) i odszukaj fragment:\nbind-address = 127.0.0.1 Domyślnie serwer bazy danych jest dostępny tylko dla lokalnych połączeń. Ponieważ będziemy z nim łączyć się z poziomu innego serwera, musimy wyłączyć to ograniczenie zakomonetując tę linjkę:\n# bind-address = 127.0.0.1 W tym momemcie warto zaznaczyć, że jeżeli korzystasz z zapory firewall na swoim serwerze, powinieneś otworzyć port 3306, np. poleceniem:\nufw allow 3306 Następnie w tym samym pliku wprowadź konfiguracje dot. zapisywania logów binarnych serwera zawierających operacje o wszystkich wprowadzonych zmianach w bazie danych. Na ich podstawie replikowana jest inna baza danych\nserver-id = 1 log_bin = /var/log/mysql/mysql-bin.log binlog_do_db = nazwa_bazy server-id to unikalny identyfikator serwera w ramach danej puli serwerów objętych replikacją. Dla pierwszego serwera ustaw 1, a dla drugiego 2 log_bin to ścieżka w którym zapisywanie będą logi binarne binlog_do_db to nazwa bazy objętej replikacją. Wprowadź tutaj nazwę swojej bazy danych Utworzenie użytkownika replikacji Na serwerze typu master otwórz konsolę MySQL jako użytkownik root i wprowadź poniższe polecenia. Jeżeli konfigurujesz replikację typu master-slave wykonaj to tylko dla jednego, głównego serwera master. Jeżeli natomiast Twoim celem jest replikacja master-master, wykonaj poniższe kroki dla obu serwerów.\nmysql -u root -p Utwórz nowego użytkownika. Zamień password na hasło, które użyjesz:\nCREATE USER \u0026#39;replicator\u0026#39;@\u0026#39;%\u0026#39; IDENTIFIED BY \u0026#39;password\u0026#39;; Nadaj odpowiednie uprawnienia utworzonemu użytkownikowi:\nGRANT REPLICATION SLAVE ON *.* TO \u0026#39;replicator\u0026#39;@\u0026#39;%\u0026#39;; Następnie zrestartuj bazę danych, aby załadować nową konfigurację:\nsystemctl restart mysql Wykonanie zrzutu bazy danych Zanim skonfigurujemy replikację, wykonamy zrzut bazy danych głównego serwera, a następnie na drugim serwerze utworzymy bazę danych na podstawiego wykonane zrzutu. Da to nam gwarancje, że od samego początku replikacji, obie bazy danych są takie same.\nZablokowanie bazy danych na czas zrzutu\nAby zapewnić spójność danych podczas zrzutu, należy zablokować tabele do odczytu:\nFLUSH TABLES WITH READ LOCK; Polecenie to blokuje możliwość zapisu do bazy, ale nadal pozwala na odczyt danych. Oznacza to, że podczas trwania blokady inne sesje mogą wykonywać zapytania SELECT, ale nie mogą modyfikować danych (np. za pomocą INSERT, UPDATE, DELETE). Pamiętaj o tym, jeżeli wykonujesz je na produkcyjnej wersji bazy danych.\nNastępnie wykonaj polecenie:\nSHOW MASTER STATUS\\G Zwróci ono wartości File i Position, które będą potrzebne do konfiguracji drugiego serwera. Są to odpowiednio nazwa pliku dziennika binarnego i pozycja w której wykonaliśmy zrzut bazy, a więc miejsce od którego powinna rozpocząć się replikacja. Zapisz obie wartości, będą potrzebne podczas konfiguracji replikacji na drugim serwerze.\nWykonanie zrzutu bazy do pliku\nNastępnie wykonaj zrzut bazy danych do pliku, który zostanie przeniesiony na drugi serwer:\nmysqldump -u root -p nazwa_bazy \u0026gt; dump.sql Odblokowanie bazy danych\nPo zakończeniu zrzutu możemy odblokować tabele:\nUNLOCK TABLES; Utworzenie kopii bazy danych na drugim serwerze Na drugim serwerze - niezależnie czy konfigurujesz replikację Master-Master czy Master-Slave - utwórz bazę danych z utworzonego wcześniej zrzutu. Zrzut prześlesz między serwerami przez scp lub rsync, ew. pobierając najpierw zrzut na swój komputer, a następnie wysyłając go na drugi serwer przy pomocy klienta sftp, np. WinSCP.\nmysql -u root -p nazwa_bazy \u0026lt; dump.sql Uruchomienie replikacji Synchronizacja danych w replikacji polega na tym, że serwer Slave na podstawie logów binarnych wykonuje na swojej bazie danych dokładnie te same zapytania modyfikujące strukturę bazy lub jej zawartość co na serwerze Master. W przypadku replikacji w której mamy dwa serwery Master wówczas oba serwery wzajemnie wykonują u siebie te same zapytania.\nUruchomienie replikacji Master-Slave Na serwerze Slave uruchom zapytanie:\nCHANGE REPLICATION SOURCE TO SOURCE_HOST=\u0026#39;ip-mastera\u0026#39;, SOURCE_USER=\u0026#39;replicator\u0026#39;, SOURCE_PASSWORD=\u0026#39;password\u0026#39;, SOURCE_LOG_FILE=\u0026#39;mysql-bin.000001\u0026#39;, SOURCE_LOG_POS=12345; Gdzie:\nSOURCE_HOST to publiczny adres IP serwera Master SOURCE_USER i SOURCE_PASSWORD to dane użytkownika na serwerze Master z uprawnieniami do replikacji SOURCE_LOG_FILE i SOURCE_LOG_POS to plik i pozycja w nim od której powinna rozpocząć się replikacja. Powinieneś zapisać te wartości przed wykonaniem zrzutu bazy danych Następnie możesz uruchomić replikację:\nSTART REPLICA; W kolejnym rozdziale dowiesz się w jaki sposób sprawdzić czy replikacja działa poprawnie i jak rozwiązać najpopularniejsze problemy.\nUruchomienie replikacji Master-Master Uruchomienie replikacji Master-Master jest bardzo podobne jak Master-Slave z tą różnicą, że polecenie CHANGE REPLICATION SOURCE TO powinieneś wykonać na obu serwerach. Na pierwszym serwerze jako źródło replikacji ustaw drugi serwer, a drugim serwerze - pierwszy serwer. To samo dotyczy wartości SOURCE_LOG_FILE i SOURCE_LOG_POS, one również powinny być ustawione w analogiczny sposób.\nSprawdzenie stanu replikacji i rozwiązywanie problemów Sprawdzenie statusu replikacji Na serwerze z replikowaną bazą danych uruchom polecenie:\nSHOW REPLICA STATUS\\G Zwróć uwagę na wartość Replica_SQL_Running_State. Powinna ona mieć wartość podobną do: Replica_SQL_Running_State: Replica has read all relay log; waiting for more updates co oznacza, że skopiowane zostały wszystkie wpisy z logów binarnych i serwer oczekuje na kolejne zapytania.\nW przypadku gdy z jakiegoś powodu replikacja nie będzie działać prawidłowo, w odpowiedzi na wykonane polecenie zobaczyć treść błędu. Po jego rozwiązaniu zrestartuj replikację poleceniami:\nSTOP REPLICA; START REPLICA; ","permalink":"https://ping.pl/blog/posts/jak-ustawic-replikacje-bazy-danych-mysql/","tags":null,"title":"Jak ustawić replikacje bazy danych MySQL?"},{"categories":null,"content":"Internet to globalna sieć połączonych ze sobą komputerów i innych urządzeń, które wymieniają informacje za pomocą określonych protokołów komunikacyjnych. W tym artykule omówimy kluczowe aspekty funkcjonowania internetu, w tym pakiety danych, protokoły komunikacyjne, system nazw domenowych (DNS) oraz prześledzimy wymianę informacji na przykładzie odwiedzania strony internetowej.\nPakiety danych i ich rola w komunikacji internetowej Gdy przesyłamy dane przez internet, nie trafiają one do odbiorcy jako jeden ciąg informacji. Zamiast tego są dzielone na mniejsze fragmenty zwane pakietami. Każdy pakiet zawiera fragment danych oraz nagłówek z informacjami o adresie nadawcy i odbiorcy, numerze pakietu i innych danych technicznych.\nPakiety są przesyłane przez różne węzły sieciowe, co oznacza, że niekoniecznie podążają tą samą drogą. Gdy dotrą do celu, są ponownie składane w pierwotną formę. Taki sposób przesyłania danych zapewnia niezawodność i efektywność, ponieważ nawet w przypadku utraty niektórych pakietów system może żądać ich ponownego przesłania.\nProtokoły internetowe - podstawa działania sieci Komunikacja w internecie odbywa się według określonych zasad, zwanych protokołami. Protokoły określają sposób wymiany informacji między urządzeniami. Najważniejsze z nich to:\nIP (Internet Protocol) – odpowiedzialny za adresowanie pakietów i kierowanie ich do odpowiedniego odbiorcy.\nTCP (Transmission Control Protocol) – zapewnia niezawodność transmisji poprzez kontrolę poprawności danych i retransmisję zagubionych pakietów.\nUDP (User Datagram Protocol) – mniej niezawodny niż TCP, ale szybszy, stosowany np. w transmisjach wideo na żywo.\nHTTP/HTTPS (HyperText Transfer Protocol / Secure) – protokół wykorzystywany do przesyłania stron internetowych, gdzie HTTPS dodatkowo zapewnia szyfrowanie transmisji.\nSerwery DNS - książka telefoniczna internetu Każdy komputer w sieci internetowej ma przypisany unikalny adres IP, ale zapamiętanie takich numerów dla wszystkich stron internetowych byłoby bardzo trudne. Właśnie dlatego istnieje system nazw domenowych (DNS), który pozwala przekształcać czytelne dla człowieka nazwy domen (np. google.com) na odpowiadające im adresy IP.\nKiedy wpisujemy adres strony w przeglądarce, nasz komputer wysyła zapytanie do serwera DNS, który zwraca odpowiadający adres IP serwera hostującego stronę. Następnie przeglądarka łączy się z tym serwerem i pobiera treść strony.\nJak działa wymiana informacji na przykładzie strony internetowej? Aby lepiej zrozumieć działanie internetu, prześledźmy krok po kroku proces ładowania strony internetowej, np. https://wikipedia.org.\nWpisanie adresu w przeglądarce\nUżytkownik wpisuje adres strony https://wikipedia.org w pasku adresu przeglądarki. Zapytanie do serwera DNS\nKomputer wysyła zapytanie do serwera DNS, aby uzyskać adres IP odpowiadający domenie wikipedia.org. Serwer DNS przeszukuje swoją bazę danych lub kieruje zapytanie do innego serwera, jeśli nie zna odpowiedzi. Ostatecznie komputer otrzymuje adres IP serwera Wikipedii. Nawiązanie połączenia z serwerem\nPo uzyskaniu adresu IP przeglądarka nawiązuje połączenie z serwerem Wikipedii przy użyciu protokołu HTTP/HTTPS. Jeśli korzystamy z HTTPS, następuje dodatkowy etap - negocjacja szyfrowania w celu zapewnienia bezpieczeństwa transmisji. Wymiana pakietów danych\nSerwer Wikipedii przygotowuje odpowiedź w postaci pakietów danych, które zawierają kod HTML, CSS, JavaScript oraz inne zasoby potrzebne do wyświetlenia strony. Pakiety są wysyłane przez sieć i przechodzą przez wiele węzłów pośrednich, takich jak routery i serwery pośredniczące. Przeglądarka odbiera pakiety, sprawdza ich integralność i układa je w poprawnej kolejności. Renderowanie i wyświetlenie strony\nPrzeglądarka analizuje kod HTML i pobiera dodatkowe zasoby, takie jak obrazy i arkusze stylów CSS. Silnik renderowania przeglądarki interpretuje kod i buduje strukturę strony. Po przetworzeniu wszystkich niezbędnych zasobów strona Wikipedii zostaje wyświetlona na ekranie użytkownika. Jeśli użytkownik kliknie link lub wykona interakcję, cały proces może się powtórzyć dla nowej strony lub dynamicznie załadować nowe dane. Sprzęt używany w internecie Do sprawnego działania internetu niezbędny jest sprzęt sieciowy, który umożliwia przesyłanie danych między użytkownikami i serwerami. Najważniejsze urządzenia wykorzystywane w infrastrukturze sieciowej to:\nRouter – łączy sieci komputerowe i zarządza ruchem danych. Routery kierują pakiety do odpowiednich adresów, zapewniając optymalną trasę przesyłu. Switch (przełącznik) – urządzenie działające w sieci lokalnej (LAN), które przekazuje dane do konkretnych urządzeń docelowych. Odbierają również pakiety wychodzące z tych urządzeń i przekazują je do odpowiednich miejsc w sieci. Serwer – komputer lub system komputerowy przechowujący i udostępniający zasoby oraz usługi, takie jak strony internetowe, pliki, pocztę elektroniczną czy aplikacje internetowe. Serwery mogą działać w różnych rolach, np. jako serwery plików, serwery baz danych czy serwery pocztowe. Firewall (zapora sieciowa) – sprzęt lub oprogramowanie zabezpieczające sieć przed nieautoryzowanym dostępem i cyberatakami. Firewall monitoruje i filtruje ruch sieciowy zgodnie z ustalonymi regułami bezpieczeństwa. Monitoring usług internetowych Aby zapewnić nieprzerwane działanie usług internetowych, stosuje się różne systemy monitorujące. Usługi te nadzorują dostępność i wydajność serwerów poczty elektronicznej, serwerów DNS, stron internetowych oraz innych kluczowych elementów infrastruktury internetowej.\nSystemy monitorujące działanie usług internetowych regularnie wykonują testy z różnych i niezależnych od siebie lokalizacji, sprawdzając, czy dana usługa odpowiada prawidłowo. W przypadku wykrycia problemów, takich jak awaria serwera lub spowolnienie działania strony internetowej, systemy te powiadamiają administratorów lub inne wskazane osoby za pośrednictwem email, SMS lub nawet telefonicznie.\nDzięki takim systemom możliwe jest szybkie reagowanie na awarie, minimalizacja przestojów oraz poprawa jakości świadczonych usług. Monitoring dostępności pozwala także na analizę długoterminowej wydajności usług i identyfikację potencjalnych problemów, zanim wpłyną one na użytkowników końcowych.\nPoznaj narzędzie do monitoringu strony https://ping.pl/.\n","permalink":"https://ping.pl/blog/posts/jak-dziala-internet-na-przykladzie-strony-internetowej/","tags":null,"title":"Jak działa internet na przykładzie strony internetowej?"},{"categories":null,"content":"Sztuczna inteligencja (AI) to jedna z najważniejszych technologii współczesnego świata, która zrewolucjonizowała wiele dziedzin życia. Jeszcze kilka dekad temu była jedynie koncepcją obecna w literaturze science fiction, a dziś pomaga w diagnozowaniu chorób, prowadzeniu samochodów czy tworzeniu treści. Pomimo jej powszechnej obecności, wiele osób wciąż nie rozumie, jak działa i w jaki sposób można z niej korzystać na co dzień. W tym artykule przyjrzymy się mechanizmom działania sztucznej inteligencji oraz podpowiemy, jak rozpocząć jej efektywne wykorzystywanie – zarówno w pracy, jak i w życiu codziennym.\nJak działa sztuczna inteligencja? AI to dziedzina informatyki, która zajmuje się tworzeniem systemów zdolnych do wykonywania zadań wymagających inteligencji, takich jak analiza danych, rozpoznawanie wzorców czy podejmowanie decyzji. Jej działanie opiera się na algorytmach, które uczą się na podstawie danych i dostosowują swoje wyniki w miarę zdobywania nowych informacji.\nJednym z kluczowych elementów sztucznej inteligencji jest uczenie maszynowe, czyli technologia umożliwiająca komputerom doskonalenie swoich działań bez konieczności ręcznego programowania każdej możliwej sytuacji. Algorytmy uczące się analizują ogromne ilości danych i na ich podstawie wyciągają wnioski. To właśnie dzięki tej zdolności AI może rozpoznawać obrazy, tłumaczyć języki czy przewidywać zachowania użytkowników w internecie.\nBardziej zaawansowaną formą uczenia maszynowego jest głębokie uczenie (deep learning), które opiera się na sieciach neuronowych. Struktura tych sieci inspirowana jest ludzkim mózgiem – składają się one z wielu warstw neuronów przetwarzających dane i przekazujących informacje dalej, co pozwala AI na samodzielne wykrywanie zależności i dostosowywanie swoich działań do nowych sytuacji.\nJeżeli chcesz dowiedzieć się więcej, polecamy obejrzeć następujący film: Sztuczna inteligencja w życiu codziennym Choć wiele osób może nie zdawać sobie z tego sprawy, sztuczna inteligencja jest już integralną częścią codziennego życia. Serwisy streamingowe, takie jak Netflix czy Spotify, analizują preferencje użytkowników i na tej podstawie sugerują im filmy i muzykę. Inteligentne asystenty głosowe, takie jak Siri, Alexa czy Google Assistant, pomagają w planowaniu dnia, odpowiadają na pytania i sterują urządzeniami smart home. AI znajduje także zastosowanie w finansach – banki i firmy ubezpieczeniowe wykorzystują ją do analizy ryzyka kredytowego oraz wykrywania oszustw.\nW medycynie AI wspomaga lekarzy w diagnozowaniu pacjentów, analizując dane medyczne i obrazy diagnostyczne. W handlu internetowym natomiast sztuczna inteligencja personalizuje reklamy i rekomenduje produkty na podstawie wcześniejszych zakupów oraz aktywności użytkownika w sieci. Dzięki temu zakupy online stają się bardziej intuicyjne i dopasowane do indywidualnych potrzeb konsumentów.\nCzy AI jest zagrożeniem? Pomimo wielu korzyści, sztuczna inteligencja budzi także obawy związane z prywatnością, bezpieczeństwem i etyką. Jednym z głównych problemów jest gromadzenie ogromnych ilości danych o użytkownikach i możliwość ich niewłaściwego wykorzystania. Systemy AI, zwłaszcza te stosowane w rekrutacji czy analizie kredytowej, mogą także wzmacniać istniejące uprzedzenia, jeśli są trenowane na nieodpowiednich danych.\nKolejną kwestią jest przyszłość rynku pracy. Wraz z rozwojem AI niektóre zawody mogą stać się zbędne, co budzi obawy o automatyzację i bezrobocie technologiczne. Jednak jednocześnie powstają nowe miejsca pracy związane z obsługą i rozwojem sztucznej inteligencji, a także rośnie zapotrzebowanie na umiejętności związane z analizą danych i zarządzaniem technologiami AI. Spekuluje się, że w niedalekiej przyszłości będziemy wielokrotnie zmieniać swoją profesję, ponieważ poprzednia może zostać zautomatyzowana.\nJakie branże mogą zostać zautomatyzowane? Poniższy wykres przedstawia listę branż, w których czas poświęcony na wykonywanie zadań może zostać zautomatyzowany (dane w procentach).\nŹródło: https://wyborcza.biz/biznes/7,177150,25295788,przyszlosc-pracy-jest-brutalna-7-razy-w-zyciu-bedziemy-zmieniac.html.\nTeoria martwego internetu W ostatnich latach coraz częściej pojawia się koncepcja tzw. martwego internetu (ang. Dead Internet Theory), według której znaczna część treści dostępnych w sieci nie jest tworzona przez ludzi, lecz przez algorytmy i sztuczną inteligencję. Zwolennicy tej teorii uważają, że internet stopniowo przestaje być przestrzenią autentycznej wymiany myśli i staje się miejscem zdominowanym przez boty, automatycznie generowane artykuły, komentarze oraz fałszywe konta.\nNajprostsze sposoby na korzystanie z AI Jeśli dopiero zaczynasz swoją przygodę ze sztuczną inteligencją, warto zacząć od najprostszych i najbardziej dostępnych narzędzi, które nie wymagają żadnej specjalistycznej wiedzy technicznej. Jednym z najłatwiejszych sposobów na korzystanie z AI są inteligentne czaty, które umożliwiają prowadzenie rozmów z zaawansowanymi modelami językowymi.\nChatboty AI, takie jak ChatGPT od OpenAI, Bard (obecnie Gemini) od Google czy Copilot od Microsoftu, pozwalają użytkownikom na zadawanie pytań, generowanie tekstów, streszczanie artykułów czy nawet pomoc w programowaniu. Można ich używać do codziennego wsparcia, np. w nauce, pracy czy pisaniu kreatywnych treści. Wystarczy wpisać pytanie lub polecenie, a AI dostarczy odpowiedzi w ciągu kilku sekund.\nJak rozmawiać z chatem? Możesz rozmawiać w dowolnym języku - odpowiedź otrzymasz w tym samym języku. Możesz też w trakcie rozmowy poprosić o przetłumaczenie odpowiedzi na inny język. Bądź precyzyjny – zamiast \u0026ldquo;Opowiedz o historii Europy\u0026rdquo;, lepiej zapytać \u0026ldquo;Jakie były najważniejsze wydarzenia w Europie w XIX wieku?\u0026rdquo;. Podawaj kontekst – określ odbiorcę i format odpowiedzi, np. \u0026ldquo;Dlaczego niebo jest niebieskie? Wytłumacz to zjawisko 8-mio letniemu dziecku\u0026rdquo;. Eksperymentuj – jeśli odpowiedź nie jest satysfakcjonująca, spróbuj inaczej sformułować pytanie. Możesz też prosić o wprowadzanie zmian do wygenerowanej odpowiedzi. Unikaj wieloznaczności – pytania powinny być jasne, np. zamiast \u0026ldquo;Jak działa silnik?\u0026rdquo;, napisz \u0026ldquo;Jak działa silnik spalinowy czterosuwowy?\u0026rdquo;. Proś o uproszczenie lub przykład – jeśli odpowiedź jest zbyt skomplikowana, napisz \u0026ldquo;Wyjaśnij prościej\u0026rdquo; lub \u0026ldquo;Podaj przykład\u0026rdquo;. Polecane chaty:\nChatGPT (obecnie najpopularniejszy). Do większości zastosowań zdecydowanie wystarczy jego darmowy wariant Gemini. Rozwijany przez Google. Copilot. Produkt Microsoftu. Coraz częściej zintegrowany z systemem Windows. Deepseek. Chiński konkurent amerykańskich produktów. Pod wieloma względami rewolucyjny. Podsumowanie Sztuczna inteligencja to technologia, która już teraz odgrywa kluczową rolę w wielu aspektach życia. Dzięki AI możemy szybciej analizować dane, podejmować lepsze decyzje i automatyzować rutynowe zadania. Bez względu na to, czy chcemy wykorzystać AI do poprawy efektywności pracy, czy po prostu ułatwić sobie codzienne obowiązki, warto zrozumieć, jak działa ta technologia i jakie korzyści może nam przynieść. Sztuczna inteligencja nie jest już wizją przyszłości – to rzeczywistość, która zmienia świat na naszych oczach.\n","permalink":"https://ping.pl/blog/posts/jak-dziala-ai-i-jak-zaczac-z-niej-korzystac/","tags":null,"title":"Jak działa AI i jak zacząć z niej korzystać?"},{"categories":null,"content":"Twoja strona oparta o system WordPress została zainfekowana wirusem? Nie jesteś sam. WordPress, będąc najpopularniejszym systemem zarządzania treścią (CMS), jest często celem ataków hakerskich. W tym artykule omówimy, jak krok po kroku usunąć wirusa ze strony oraz jak zadbać o bezpieczeństwo strony, aby zapobiec podobnym problemom w przyszłości.\nJak rozpoznać, że strona jest zainfekowana? Prawdopodobnie, skoro trafiłeś na ten artykuł, masz już podejrzenia i obawy, że Twoja strona oparta na WordPressie mogła zostać zainfekowana złośliwym oprogramowaniem. Najczęstsze oznaki infekcji to:\nNiespodziewane przekierowania na inne strony. Wyświetlanie niechcianych reklam lub wyskakujących okienek. Spadek wydajności strony. Ostrzeżenia od przeglądarek (np. komunikaty o złośliwym oprogramowaniu). Powiadomienia od hostingu o podejrzanej aktywności. Nietypowe zmiany w plikach lub wtyczkach WordPressa. Jeśli zauważasz którykolwiek z powyższych problemów, istnieje duże prawdopodobieństwo, że Twoja strona została zainfekowana. Nie oznacza to jednak, że stałeś się celem wyrafinowanego ataku ze strony zakapturzonych hakerów. Większość takich incydentów to wynik automatycznych ataków wykorzystujących luki w zabezpieczeniach serwera, starszych wersjach WordPressa lub zainstalowanych wtyczkach i motywach.\nCzytaj dalej, aby dowiedzieć się, jak usunąć złośliwe oprogramowanie ze strony i zabezpieczyć ją przed podobnymi atakami w przyszłości.\nJak usunąć wirusa ze strony opartej o WordPress? Jeżeli podejrzewasz, że Twoja strona została zainfekowana, wykonaj poniższe kroki, aby odnaleźć i usunąć złośliwy kod z jej zawartości:\nZrób kopię zapasową strony i bazy danych Zanim rozpoczniesz działania naprawcze, wykonaj pełną kopię zapasową strony (wraz z bazą danych). Jeśli coś pójdzie nie tak, będziesz mógł przywrócić wcześniejszy stan.\nNajprostszym sposobem na wykonanie kopii jest skorzystanie z narzędzi dostarczanych przez Twojego operatora hostingowego. Zaloguj się do panelu do zarządzania serwerem i poszukaj w nim takiej opcji lub skontaktuj się z obsługą bo niekiedy kopie wykonywane są na zlecenie klienta.\nJeżeli jednak chcesz wykonać kopie ręcznie lub nie masz dostępu do narzędzia automatyzującego ten proces, w pierwszej kolejności skopiuj wszystkie pliki strony, np. poprzez klienta FTP/SFTP.\nPamiętaj również o wykonaniu kopii bazy danych. Aby ją wykonać, zaloguj się do bazy poprzez klienta bazodanowego, np. phpMyAdmin (często jest dostępny z poziomu panelu do zarządzania serwerem).\nObszerną instrukcję jak wykonać kopię strony opartej o WordPress znajdziesz tutaj: https://developer.wordpress.org/advanced-administration/security/backup/.\nPrzeskanuj stronę w poszukiwaniu złośliwego oprogramowania Skorzystaj z narzędzi do skanowania dedykowanych do stron działających na WordPressie, takich jak:\nWordfence Security – wtyczka skanująca pliki i bazę danych MalCare – automatyczne narzędzie do wykrywania i usuwania malware Po przeskanowaniu strony jednym z powyższej wymienionych narzędzi usuń wskazane pliki lub zastąp je czystymi kopiami. Dobrą praktyką jest również nadpisanie folderów wp-admin oraz wp-includes oryginalnymi plikami - pobierz czysty WordPress w odpowiedniej wersji z oficjalnej strony i wgraj na serwer te katalogi zastępując wszystkie pliki. Da to Ci gwarancje, że będą one czyste od złośliwego kodu.\nInfekcją zagrożone są nietylko pliki, ale również zawartość bazy danych. Wymienione wcześniej narzędzia skanują i usuwają złośliwy kod również z bazy danych.\nRęczne poszukiwanie złośliwego kodu Jeżeli z jakiegoś powodu nie chcesz lub nie możesz wykorzystać automatycznych narzędzi skanujących stronę, możesz spróbować odnaleźć złośliwy kod w plikach lub bazie danych samodzielnie.\nZainfekowane pliki WordPressa mogą wyglądać normalnie na pierwszy rzut oka, ale zawierają ukryty złośliwy kod, zwróć uwagę na:\nZłośliwy kod w istniejących plikach Pliki WordPressa, takie jak wp-config.php, functions.php w motywach, czy losowe pliki w katalogach, mogą zawierać:\nKod PHP zaczynający się od funkcji takich jak eval(), base64_decode(), gzinflate() lub str_rot13() – często używanych do ukrywania złośliwych skryptów Nietypowe instrukcje, takie jak \u0026lt;?php /* złośliwy kod */ ?\u0026gt; Pojawienie się nowych, nieznanych plików Infekcje często tworzą dodatkowe pliki w katalogach takich jak /wp-content/uploads/, /wp-includes/ czy /wp-admin/. Te pliki mogą mieć losowe nazwy, np. a1b2c3.php, aby utrudnić ich wykrycie.\nZłośliwy kod w bazie danych Złośliwy kod może również znajdować się w bazie danych, szczególnie w tabelach:\nwp_posts – wstrzyknięcie kodu do treści wpisów lub stron wp_options – dodanie złośliwego kodu do opcji, takich jak siteurl lub home wp_users – utworzenie fałszywego konta administratora wp_comments – wstrzyknięcie kodu do komentarzy Poniżej znajdziesz polecenie SQL, które przeskanuje wszystkie powyżej wymienione tabele w bazie danych w poszukiwaniu złośliwego kodu:\n-- Skanowanie tabeli wp_posts (zawiera treści stron i wpisów) SELECT * FROM wp_posts WHERE post_content LIKE \u0026#39;%\u0026lt;script\u0026gt;%\u0026#39; OR post_content LIKE \u0026#39;%\u0026lt;iframe\u0026gt;%\u0026#39; OR post_content LIKE \u0026#39;%javascript:%\u0026#39; OR post_content LIKE \u0026#39;%base64%\u0026#39; OR post_content LIKE \u0026#39;%eval(%\u0026#39; OR post_content LIKE \u0026#39;%\u0026lt;?php%\u0026#39; OR post_content LIKE \u0026#39;%UNION SELECT%\u0026#39; OR post_content LIKE \u0026#39;%CONCAT(%\u0026#39;; -- Skanowanie tabeli wp_comments (zawiera treści komentarzy) SELECT * FROM wp_comments WHERE comment_content LIKE \u0026#39;%\u0026lt;script\u0026gt;%\u0026#39; OR comment_content LIKE \u0026#39;%\u0026lt;iframe\u0026gt;%\u0026#39; OR comment_content LIKE \u0026#39;%javascript:%\u0026#39; OR comment_content LIKE \u0026#39;%base64%\u0026#39; OR comment_content LIKE \u0026#39;%eval(%\u0026#39; OR comment_content LIKE \u0026#39;%\u0026lt;?php%\u0026#39; OR comment_content LIKE \u0026#39;%UNION SELECT%\u0026#39; OR comment_content LIKE \u0026#39;%CONCAT(%\u0026#39;; -- Skanowanie tabeli wp_options (przechowuje ustawienia strony) SELECT * FROM wp_options WHERE option_value LIKE \u0026#39;%\u0026lt;script\u0026gt;%\u0026#39; OR option_value LIKE \u0026#39;%\u0026lt;iframe\u0026gt;%\u0026#39; OR option_value LIKE \u0026#39;%javascript:%\u0026#39; OR option_value LIKE \u0026#39;%base64%\u0026#39; OR option_value LIKE \u0026#39;%eval(%\u0026#39; OR option_value LIKE \u0026#39;%\u0026lt;?php%\u0026#39; OR option_value LIKE \u0026#39;%UNION SELECT%\u0026#39; OR option_value LIKE \u0026#39;%CONCAT(%\u0026#39;; -- Skanowanie tabeli wp_users (przechowuje dane użytkowników) SELECT * FROM wp_users WHERE user_login LIKE \u0026#39;%\u0026lt;script\u0026gt;%\u0026#39; OR user_email LIKE \u0026#39;%\u0026lt;script\u0026gt;%\u0026#39; OR user_login LIKE \u0026#39;%base64%\u0026#39; OR user_email LIKE \u0026#39;%base64%\u0026#39; OR user_login LIKE \u0026#39;%eval(%\u0026#39; OR user_email LIKE \u0026#39;%eval(%\u0026#39; OR user_login LIKE \u0026#39;%javascript:%\u0026#39; OR user_email LIKE \u0026#39;%javascript:%\u0026#39;; Jeżeli powyższe polecenie zwróci jakieś rekordy, zweryfikuj czy ich treść jest prawidłowa czy też mogła się pojawić na skutek infekcji.\nUsuń niepotrzebne wtyczki i motywy Dezaktywuj i usuń wszystkie wtyczki i motywy, których nie używasz. Zainfekowane wtyczki często są źródłem problemu.\nWykonaj aktualizacje Upewnij się, że WordPress, wtyczki i motywy są zaktualizowane do najnowszych wersji. Aktualizacje zawierają poprawki zabezpieczeń.\nZmień hasła Zresetuj wszystkie hasła – do WordPressa, serwera FTP/SFTP, bazy danych, a nawet poczty e-mail powiązanej z kontem admina.\nJak zadbać o bezpieczeństwo strony opartej o WordPress? Zabezpieczenie strony działającej na WordPress to kluczowy element, który pozwala uniknąć problemów z zainfekowaniem strony w przyszłości. Proces ten wymaga podjęcia kilku działań. Przede wszystkim należy regularnie aktualizować WordPress, wszystkie wtyczki i motywy. Każda aktualizacja zazwyczaj zawiera poprawki zabezpieczeń, które eliminują znane luki w bezpieczeństwie i inne błędy. Warto również unikać korzystania z nieaktualizowanych wtyczek i motywów – ich brak wsparcia często stwarza zagrożenie.\nWtyczki i motywy powinny pochodzić z zaufanych źródeł, takich jak oficjalny katalog WordPress. Przed instalacją warto sprawdzić opinie innych użytkowników oraz upewnić się, że dana wtyczka lub motyw są regularnie aktualizowane.\nWspomniane wcześniej narzędzie Wordfence Security czy MalCare to nie tylko naprawianie już zainfekowanej strony, ale przede wszystkim zapobieganie infekcji strony dzięki regularnie wykonywanym skanom czy innym rozwiązaniom podnoszących jej bezpieczeństwo.\nWarto pamiętać również o regularnym (najlepiej automatycznym) wykonywaniu kopii plików strony i bazy danych. Czasami strona może zostać tak zainfekowana, że jej przywrócenie do stanu z przed infekcji będzie bardzo trudne lub wręcz niemożliwe bo złośliwe oprogramowanie spowodowało nadpisanie lub usunięcie danych ze strony.\nMonitoring dostępności strony, ważności domeny i certyfikatu to kolejny element o którym nie powinieneś zapominać. Dzięki niemu Twoja strona będzie automatycznie sprawdzana (nawet co minutę) czy działa poprawnie z kilku niezależnych lokalizacji w Polsce. W razie jakichkolwiek problemu zostaniesz o tym fakcie szybko powiadomiony zanim problem dotknie Twoich odwiedzających. Dowiedz się więcej na: https://ping.pl.\n","permalink":"https://ping.pl/blog/posts/jak-usunac-wirusa-ze-strony-opartej-o-wordpress/","tags":null,"title":"Jak usunąć wirusa ze strony opartej o WordPress?"},{"categories":null,"content":"W tym artykule pokażemy, jak skonfigurować mechanizm backupu bazy danych MySQL lub MariaDB w systemie Linux (Debian/Ubuntu). Wykorzystamy do tego narzędzia mysqldump, zip oraz rsync, aby przygotować kopię zapasową, skompresować ją i przesłać na zewnętrzny serwer.\nWymagania wstepne Artykuł został przygotowany w oparciu o popularny system operacyjny Ubuntu/Debian. Jeżeli korzystasz z innego systemu, część poleceń (jak np. apt-get) prawdopodobnie będziesz musiał zamienić na te odpowiadające Twojemu systemowi.\nNasze testowe środowisko to:\nSystem operacyjny Ubuntu Server 20.04 LTS Baza danych MySQL w wersji 8 Instalacja wymaganych narzędzi Zakładam, że posiadasz już zainstalowaną bazę danych. Jeżeli nie, zobacz jak to zrobić w naszym innym artykule: https://ping.pl/blog/posts/jak-postawic-strone-na-ubuntu-i-apache/#instalacja-i-konfiguracja-bazy-danych-mysql.\nUpewnij się, że posiadasz pakiety zip i rsync w swoim systemie:\nsudo apt update sudo apt install zip rsync Programy zip posłuży nam do łatwego skompresowania wygenerowanego pliku sql, natomiast rsync do bezpiecznego przesłania kopii bazy danych na zewnętrzny serwer.\nDodanie użytkownika bazodanowego Aby wykonać zrzut danych z bazy danych, będziemy potrzebować użytkownika bazodanowego z nadanymi odpowiednimi uprawnieniami:\nZaloguj się do konsoli bazy danych:\nsudo mysql -u root -p Jeśli to konieczne, wprowadź hasło użytkownika bazodanowego root, ale gdy uruchomisz to polecenie przez sudo lub z poziomu użytkownika systemowego root to powinieneś zostać zalogowany do konsoli bazy danych automatycznie.\nBędąc już zalogowany, możesz utworzyć nowego użytkownika bazodanowego i nadać odpowiednie uprawnienia:\nCREATE USER \u0026#39;backup\u0026#39;@\u0026#39;localhost\u0026#39; IDENTIFIED BY \u0026#39;haslo12345\u0026#39;; GRANT SELECT, LOCK TABLES, SHOW VIEW, EVENT, TRIGGER ON *.* TO \u0026#39;backup\u0026#39;@\u0026#39;localhost\u0026#39;; FLUSH PRIVILEGES; EXIT; Dobrą praktyką jest stosowanie użytkowników dedykowanych do konkretnych zadań, z minimalnym zakresem niezbędnych uprawnień. W przypadku tworzenia kopii zapasowej bazy danych wystarczą uprawnienia wymienione powyżej - nie obejmują one uprawnień umożliwiających na np. usunięcie danych.\nUtworzenie skryptu wykonującego zrzut bazy danych Stworzymy teraz skrypt bashowy, ktory wykona zrzut danych z bazy, skompresuje go do archiwum ZIP, a następnie prześle na zewnętrzny serwer przy użyciu rsync.\nW wybranym miejscu na serwerze utwórz plik skryptu oraz od razu nadaj mu uprawnienie do jego uruchomienia: touch backup.sh chmod +x backup.sh Wprowadź treść skryptu do utworzonego pliku (np. przy pomocy polecenia nano backup.sh): #!/bin/bash # Dane uzytkownika bazodanowego oraz nazwa bazy ktorej ma zostac wykonana kopia DB_USER=\u0026#34;backup\u0026#34; DB_PASSWORD=\u0026#34;haslo12345\u0026#34; DB_NAME=\u0026#34;nazwa_bazy\u0026#34; # Tymczasowe miejsce przechowywania kopii oraz nazwa pliku zrzutu BACKUP_DIR=\u0026#34;/tmp/mysql_backups\u0026#34; BACKUP_FILE=\u0026#34;${BACKUP_DIR}/backup_$(date +\u0026#39;%Y-%m-%d_%H-%M-%S\u0026#39;).sql\u0026#34; ZIP_FILE=\u0026#34;${BACKUP_FILE}.zip\u0026#34; mkdir -p \u0026#34;${BACKUP_DIR}\u0026#34; # Serwer zewnetrzny na ktorym beda przechowywane kopie REMOTE_USER=\u0026#34;backup\u0026#34; REMOTE_HOST=\u0026#34;123.123.123.123\u0026#34; REMOTE_DIR=\u0026#34;/home/backup\u0026#34; # Tworzenie zrzutu danych mysqldump -u \u0026#34;${DB_USER}\u0026#34; -p\u0026#34;${DB_PASSWORD}\u0026#34; \u0026#34;${DB_NAME}\u0026#34; \u0026gt; \u0026#34;${BACKUP_FILE}\u0026#34; if [ $? -ne 0 ]; then echo \u0026#34;Mysqldump ERROR\u0026#34; exit 1 fi # Kompresja pliku zip -j \u0026#34;${ZIP_FILE}\u0026#34; \u0026#34;${BACKUP_FILE}\u0026#34; if [ $? -ne 0 ]; then echo \u0026#34;Zip ERROR\u0026#34; exit 1 fi # Przeslanie pliku backupu na zewnetrzny serwer rsync -avz \u0026#34;${ZIP_FILE}\u0026#34; \u0026#34;${REMOTE_USER}@${REMOTE_HOST}:${REMOTE_DIR}\u0026#34; if [ $? -ne 0 ]; then echo \u0026#34;Rsync ERROR\u0026#34; exit 1 fi # Usunienie lokalnych plikow tymczasowych rm -f \u0026#34;${BACKUP_FILE}\u0026#34; rm -f \u0026#34;${ZIP_FILE}\u0026#34; echo \u0026#34;Backup OK\u0026#34; Sprawdzenie skryptu Uruchom skrypt ręcznie, aby upewnić się, że działa poprawnie:\n./backup.sh Po uruchomieniu skryptu sprawdź, czy plik kopii zapasowej bazy danych znajduje się w docelowym katalogu na zewnętrznym serwerze oraz czy skrypt nie wyświetlił żadnego błędu.\nAutomatyzacja skryptu przy pomocy CRON Naturalnie chcemy, aby backup bazy danych wykonywał się automatycznie bez naszej ingerencji. Możemy do tego celu wykorzystać CRON, który służy do automatycznego uruchamiania skryptów o stałych, ustalonych porach, np. każdego dnia o 2 w nocy:\nOtwórz edytor CRON poleceniem: crontab -e I dodaj nowy wpis odpowiedzialny za regularne uruchamianie wcześniej przygotowanego skryptu backup.sh: 0 2 * * * /bin/bash ~/backup.sh \u0026gt;\u0026gt; ~/backup.log 2\u0026gt;\u0026amp;1 Pamiętaj, że regularne testowanie i monitorowanie działania skryptu jest kluczowe, aby zapewnić niezawodność automatycznego mechanizmu backupu. Możesz regularnie (np. raz na tydzień) sprawdzać czy na zewnętrznym serwerze znajdują się aktualne kopie bazy danych lub też wykorzystać jeden z bardziej automatycznych mechanizmów:\nPowiadomienie email o błędzie skryptu\nJeśli Twój serwer ma skonfigurowany serwer poczty (np. sendmail lub postfix), możesz dodać wysyłanie wiadomości email w przypadku błędu skryptu.\nZamień linie w skrypcie odpowiadające za wyświetlenie błędu na następujący:\n# echo \u0026#34;Mysqldump ERROR\u0026#34; echo \u0026#34;Error occurred while creating a MySQL backup\u0026#34; | mail -s \u0026#34;MySQL backup failed\u0026#34; jan.nowak@ping.pl Automatyczny skrypt sprawdzający obecność backupów na serwerze zewnętrznym\nMożesz przygotować skrypt bash która sprawdza, czy plik backupu znajduje się na zewnętrznym serwerze i wyśle maila, jeżeli ten nie zostanie znaleziony:\n#!/bin/bash REMOTE_USER=\u0026#34;backup\u0026#34; REMOTE_HOST=\u0026#34;123.123.123.123\u0026#34; REMOTE_DIR=\u0026#34;/home/backup\u0026#34; ssh \u0026#34;${REMOTE_USER}@${REMOTE_HOST}\u0026#34; \u0026#34;ls -l ${REMOTE_DIR}\u0026#34; | grep \u0026#34;$(date +\u0026#39;%Y-%m-%d\u0026#39;)\u0026#34; if [ $? -eq 0 ]; then echo \u0026#34;MySQL backup not found\u0026#34; | mail -s \u0026#34;MySQL backup failed\u0026#34; jan.nowak@ping.pl else echo \u0026#34;MySQL backup found\u0026#34; fi Podepnij skrypt do CRON, aby uruchamiać go regularnie i automatycznie:\n0 3 * * * /bin/bash ~/check-backup.sh Rotacja logów Aby uniknąć przepełnienia logów na serwerze zewnętrznym, możesz ustawić rotację plików za pomocą prostego skryptu:\n#!/bin/bash find /home/backup -type f -name \u0026#34;*.zip\u0026#34; -mtime +14 -exec rm -f {} \\; Zadaniem skryptu jest usunięcie plików o rozszerzeniu zip z podanego katalogu /home/backup starszych niż 14 dni. Oczywiście powyższy skrypt powinieneś utworzyć na serwerze zewnętrznym, nie na serwerze na którym jest zainstalowana baza danych.\nTak jak poprzednio, dodaj skrypt do CRON, aby uruchamiał się samoczynnie.\n","permalink":"https://ping.pl/blog/posts/tworzenie-backupow-mysql-w-systemie-linux/","tags":null,"title":"Tworzenie backupów MySQL w systemie Linux"},{"categories":null,"content":"Kod błędu 404 jest częścią standardowego zestawu odpowiedzi protokołu HTTP, który informuje przeglądarkę o statusie żądania. Błąd ten znacza, że serwer nie może znaleźć żądanego zasobu - najczęściej strony internetowej, ale też pliku graficznego, arkusza stylów, skryptu itd. W tym artykule dowiesz się o najczęstszych przyczynach tego błędu oraz o trzech sprawdzonych sposobach na jego diagnozę.\nPrzyczyny występowania błędu 404 Błąd 404 może być spowodowany wieloma czynnikami. Za część z nich może być odpowiedzialny sam odwiedzający stronę, ale równie czesto źródłem problemu jest konfiguracja serwera lub błąd na stronie. Do najczęstszych przyczyn błędu 404 można zaliczyć:\nNiepoprawny adres URL\nNajprostsza i najczęstsza przyczyna to literówka w adresie wpisanym w przeglądarce przez odwiedzającego. Nawet drobny błąd w nazwie domeny lub ścieżce do strony może spowodować wyświetlenie błędu.\nUsunięcie lub przeniesienie zasobu\nJeśli właściciel strony usunął daną podstronę lub zmienił jej adres bez odpowiedniego przekierowania (np. za pomocą kodu 301), odwiedzający trafią na błąd 404.\nBoty skanujące strony\nW internecie nieustannie działają boty skanujące strony internetowe i serwery w poszukiwaniu podatności na ataki. Zazwyczaj ich aktywność ogranicza się do prób odnalezienia plików, do których potencjalnie niepowołane osoby nie powinny mieć dostępu, takich jak https://moja-strona.pl/admin.php czy https://moja-strona.pl/config.php. W większości przypadków próba dostępu do takich adresów kończy się błędem 404 Not Found, ponieważ plik nie istnieje na serwerze. Tego rodzaju błędami nie musisz się nadmiernie przejmować, o ile nie występują w dużej ilości.\nProblemy z konfiguracją serwera\nNiektóre błędy w konfiguracji serwera, np. nieprawidłowa zawartość pliku .htaccess, mogą prowadzić do nieprawidłowego działania adresów URL.\nZablokowanie dostępu do zasobu\nZdarza się, że dostęp do niektórych zasobów jest zablokowany. W takim przypadku serwer zazwyczaj odpowie błędem 401 Forbidden, ale w zależności od źródła problemu może również odpowiedzieć 404 Not Found.\nUruchomienie testu strony w poszukiwaniu błędnych linków Jeżeli podejrzewasz, że Twoja strona ma problem z nadmiernie występującymi błędami 404 Not Found zacznij od użycia narzędzia typu dead link checker (np. https://www.deadlinkchecker.com/). Przeskanuje ono całą stronę internetową wraz z jej wszystkimi podstronami w poszukiwaniu niedziałających linków. Narzędzia tego typu są bardzo proste i szybkie w użyciu.\nSprawdzenie błędów indeksacji w Google Search Console Informacje o błędach 404 znajdziesz również w Google Search Console. Jeżeli jeszcze nie używasz tego narzędzia to zdecydowanie powinieneś bo dostarcza ono wiele bardzo cennych informacji, które mają bezpośredni wpływ na pozycję Twojej strony w wynikach wyszukiwarki Google.\nBłędy indeksacji Z lewego menu wybierz pozycję Strony znajdującej się w grupie Indeksowanie. Zobaczysz listę wszystkich stron, które zostały przetworzone przez robota parsującego strony\nPoniżej wykresu podsumowującego indeksację znajdziesz listę stron, które zostały zaindeksowane, oraz tych, które z różnych powodów nie mogły zostać zaindeksowane, na przykład z powodu błędów lub ograniczeń wynikających z konfiguracji w pliku robots.txt. Nie powinieneś dopuścić do częstego występowania błędów, ponieważ mogą one negatywnie wpłynąć na ranking Twojej strony w Google. Stronami niezindeksowanymi (oznaczonymi szarym kafelkiem) nie musisz się zbytnio przejmować, jednak warto je regularnie przeglądać, aby upewnić się, że na tej liście nie ma adresów, które powinny być zaindeksowane.\nPo naprawieniu błędu możesz poprosić Google o weryfikację poprawki wybierając opcję Sprawdź poprawkę.\nPamiętaj jednak, że ten sposób identyfikacji niedziałających adresów działa tylko w przypadku stron HTML. Nie znajdziesz tutaj informacji, na przykład o brakujących obrazkach czy innych zasobach.\nAnaliza access logów serwera Access logi to pliki serwera zawierające informacje o każdym odebranym żądaniu, niezależnie od tego, czy zostało poprawnie obsłużone, czy zakończyło się błędem. Zawierają dane takie jak adres IP użytkownika, czas żądania, metodę HTTP, żądany zasób (URL), status odpowiedzi HTTP i czas odpowiedzi serwera. Są przydatne do monitorowania ruchu na stronie, analizy zachowań użytkowników, wykrywania błędów (np. właśnie 404) oraz ochrony przed podejrzanymi aktywnościami, takimi jak próby ataków.\nW zależności od używanego oprogramowania serwera jak i systemu operacyjnego, lokalizacja oraz sposób dostępu do logów może się różnić.\nAccess logi w Apache (Linux) Domyślnie pliki access logów znajdują się w:\n/var/log/apache2/access.log w systemach Debian/Ubuntu /var/log/httpd/access_log w systemach CentOS/Red Hat Jeżeli Twoja strona internetowa jest skonfigurowana jako Virtual Host logi mogą być dostępne w innym pliku, domyślnie będzie to plik other_vhosts_access.log w tym samym folderze, chyba że w konfiguracji strony została wskazana inna lokalizacja.\nLogi możesz albo pobrać na swój komputer i tam je przeglądać w wybranym przez Ciebie programie lub zrobić to bezpośrednio na serwerze, np. poleceniem less /var/log/apache2/access.log. Możesz również wygodnie wyszukać w logach wpisy tylko takie, które zawierają interesującą Ciebie frazę:\nless /var/log/apache2/access.log | grep \u0026quot; 404 \u0026quot;\nW ten sposób zobaczysz logi żądań, które zakończyły się odpowiedzią serwera 404 Not Found:\nAccess logi w Nginx (Linux) Domyślnie pliki access logów serwera Nginx znajdziesz w /var/log/nginx/access.log. Logi przejrzysz w taki sam sposób jak w przypadku serwera Apache - np. za pomocą polecenia less lub less ... | grep \u0026quot; 404 \u0026quot; jeżeli chcesz ograniczyć wyniki tylko do błędów 404.\nAccess logi w IIS (Windows) Lokalizację logów oraz ich konfigurację dla swojej strony sprawdzisz w Menedżerze IIS:\nOtwórz Menedżera IIS Wybierz stronę, dla której chcesz sprawdzić logi W zakładce Logging znajdziesz informacje o lokalizacji logów oraz możliwość ich konfiguracji Logi możesz przejrzeć w dowolnym edytorze tekstowym (np. notatniku).\n","permalink":"https://ping.pl/blog/posts/blad-404-not-found-dlaczego-wystepuje-i-jak-go-zdiagnozowac/","tags":null,"title":"Błąd 404 Not Found: Dlaczego występuje i jak go zdiagnozować?"},{"categories":null,"content":"Photopea to niezwykle popularny edytor graficzny online, który zdobył uznanie jako darmowa alternatywa dla Photoshopa. Jego najbardziej zauważalną cechą (a dla wielu również największą zaletą) jest interfejs wzorowany na Adobe Photoshop, a jako aplikacja przeglądarkowa działa bez potrzeby instalacji i to na każdym systemie operacyjnym.\nJego najbardziej zauważalną cechą (a dla wielu również największą zaletą) jest interfejs wzorowany na Adobe Photoshop. Ponieważ Photopea działa jako aplikacja przeglądarkowa, można z niej korzystać na Windowsie, macOS, Linuksie i Chromebookach, czyli wszędzie tam, gdzie dostępna jest nowoczesna przeglądarka.\nPhotoshop online bez instalacji: co oferuje Photopea? Photopea oferuje funkcje, które zaspokajają potrzeby większości użytkowników szukających narzędzia typu Photoshop online. Poza podstawową edycją grafiki rastrowej wspiera również pracę z warstwami, maskami, kanałami i efektami. Obsługuje szeroką gamę popularnych formatów, w tym PSD (Adobe Photoshop), XCF (GIMP), Sketch, SVG, PDF, JPG, PNG.\nNarzędzia Photopea obejmują klasyczne funkcje zaznaczania i retuszu, możliwość pracy z gradientami i stylami warstw, a także zaawansowane opcje do pracy z kolorem, takie jak krzywe i poziomy. Dostępne są także filtry pozwalające na rozmycie, wyostrzenie czy dodanie specjalnych efektów.\nWydajność i stabilność Photopea, choć działa w przeglądarce, jest wydajnym narzędziem, szczególnie w kontekście mniejszych projektów i podstawowej edycji grafiki. Dla dużych, złożonych plików jego wydajność może nie dorównywać aplikacjom desktopowym, ale oferuje dobre możliwości jak na edytor przeglądarkowy. W porównaniu do programów desktopowych takich jak Photoshop, Photopea ustępuje pod względem szybkości przetwarzania zadań wymagających dużej mocy obliczeniowej. Aplikacje desktopowe mogą lepiej wykorzystać zasoby sprzętowe, takie jak GPU i wielowątkowość, co daje im przewagę w pracy z bardzo dużymi projektami.\nJeżeli chodzi o stabilność, zawieszenia lub krytyczne błędy są rzadkie, ale mogą wystąpić, zwłaszcza w sytuacjach obciążenia systemu lub przeglądarki. Dlatego zalecam, aby podczas pracy w Photopea regularnie zapisywać postęp pracy do pliku PSD, by w razie crashu aplikacji mieć do czego wrócić.\nCzcionki Photopea automatycznie integruje czcionki dostępne na twoim urządzeniu, co oznacza, że możesz używać wszystkich czcionek zainstalowanych lokalnie. Dodatkowo integruje się z biblioteką Google Fonts, oferując dostęp do szerokiej gamy darmowych czcionek. W razie potrzeby możesz w łatwy sposób importować dodatkowe czcionki w formacie TTF, OTF lub WOFF. Wystarczy przeciągnąć plik z czcionką na obszar roboczy Photopea, a zostanie ona natychmiast załadowana i dostępna do użytku w projekcie. Oczywiście wspierane są polskie litery diakrytyczne (o ile są dostępne w danym foncie).\nGrafika wektorowa Photopea (podobnie jak Photoshop) oferuje podstawowe wsparcie grafiki wektorowej w postaci narzędzi takich jak różnego rodzaju pióra czy kształty. Co ciekawe, jest w stanie otworzyć pliki Adobe Illustrator (.AI) i odtworzyć oryginalne warstwy, kiedy Photoshop zazwyczaj łączy wszystkie kształty do jednej warstwy.\nCo więcej, dostępna jest również aplikacja Vectorpea, będąca darmowym edytorem grafiki wektorowej i alternatywą dla Adobe Illustrator. Vectorpea skupia się wyłącznie na grafice wektorowej i oferuje wszystkie najważniejsze narzędzia wektorowe, co daje użytkownikom możliwość tworzenia i edycji wektorów bez konieczności korzystania z kosztownego oprogramowania desktopowego.\nFunkcje AI w edytorze typu Photoshop online W Photopea dostępne są funkcje oparte na sztucznej inteligencji, takie jak usuwanie tła ze zdjęcia, usuwanie wskazanych obiektów czy generowanie grafiki na podstawie tekstu w wybranym obszarze. Funkcje AI w wersji bezpłatnej mają ograniczoną liczbę użyć lub wymagają obejrzenia reklamy przed użyciem. O ile dwie pierwsze funkcje działają bardzo dobrze, to ostatnią należy raczej traktować jako ciekawostkę - poniżej rezultat na prompt: generate a standing man with a motorcycle helmet talking on the phone:\nUsuwanie tła lub obiektów ze zdjęcia działa już lepiej. Przy odpowiedniej korekcie w przypadku bardziej wymagających fragmentów zdjęcia, funkcja ta może znaleźć praktyczne zastosowanie w pracy fotografa lub grafika:\nDla kogo Photopea będzie wystarczające? Nie da się ukryć, że Adobe Photoshop jest i prawdopodobnie na długo pozostanie liderem wśród programów do edycji grafiki rastrowej. Przez lata nie miał on realnej konkurencji, a próby stworzenia alternatyw, takie jak open-source’owy GIMP, choć zyskały popularność w pewnych kręgach, nie zdołały zagrozić pozycji Photoshopa. GIMP zmagał się z problemami związanymi ze skomplikowanym interfejsem, niższą wydajnością oraz, co najważniejsze, ograniczonym wsparciem dla plików PSD – standardu w branży graficznej.\nPhotopea zdobyła popularność nie tylko dzięki temu, że jest darmowym i solidnym programem graficznym, ale również dzięki swojej strategii. Twórcy postawili na intuicyjny interfejs, który naśladuje wygląd i działanie Photoshopa. Dzięki temu Photopea szybko zyskała uznanie użytkowników, którzy znają środowisko Adobe, ale nie potrzebują pełnej funkcjonalności Photoshopa na co dzień. To świetne narzędzie dla amatorów fotografii, twórców stron internetowych czy osób sporadycznie zajmujących się grafiką, które potrzebują wsparcia dla plików PSD oraz intuicyjnego narzędzia dostępnego w przeglądarce.\nProfesjonaliści, tacy jak fotografowie czy projektanci graficzni, prawdopodobnie pozostaną wierni Photoshopowi. Program ten oferuje nie tylko niezrównaną wydajność i stabilność, ale również szeroki wachlarz zaawansowanych funkcji, których na próżno szukać w innych aplikacjach. Niemniej jednak Photopea staje się coraz bardziej atrakcyjną alternatywą, szczególnie dla użytkowników z ograniczonym budżetem, którzy potrzebują narzędzia do edycji grafiki bez inwestowania w kosztowne subskrypcje.\nWersja bezpłatna vs płatna Photopea w swojej bezpłatnej wersji oferuje zaskakująco szeroką gamę funkcji, umożliwiając użytkownikom korzystanie z niemal wszystkich narzędzi. Niektóre opcje są dostępne po obejrzeniu reklamy.\nNo właśnie, reklamy. W darmowej wersji część prawej strony ekranu jest stale zarezerwowana na wyświetlanie reklam. Rozszerzenie typu Adblock jedynie je ukrywa, ale pasek dalej jest widoczny i zajmuje pewną część przestrzeni roboczej. Szczególnie może to być uciążliwe przy mniejszych ekranach, bowiem pasek z reklamami ma stałą szerokość i nie jest ona uzależniona od szerokości ekranu:\nPłatna wersja Photopea zaczyna się od $5 miesięcznie za pojedynczego użytkownika, a tak naprawdę od $4,17 jeżeli zapłacimy za cały rok z góry. Dla porównania, Adobe Photoshop kosztuje $22,99 miesięcznie przy zamówieniu na rok. Wersja premium względem darmowej różni się ilością funkcji, przestrzenią 5 GB na pliki w chmurze, brakiem reklam, dwukrotnie dłuższą historią wprowadzonych zmian (chodzi o cofanie zmian przez wciśnięcie klawiszy Ctrl + Z) oraz wsparciem email:\nOcena społeczności Na podstawie 99 ocen użytkowników w serwisie Capterra Photopea uzyskała średnią ocenę 4,6/5 i najczęściej była chwalona za:\nmożliwość pracy na plikach PSD dostępność (nie wymaga instalacji), łatwość obsługi duże możliwości bezpłatnej wersji, niska cena płatnego wariantu możliwość pracy zespołowej nad plikami Natomiast najczęściej wymieniane wady to:\nbrak niektórych funkcji względem Photoshopa stabilność, przypadki błędów powodujących utratę całej pracy Czy warto wybrać Photopea zamiast Photoshop? Jeżeli potrzebujesz szybko poprawić grafikę, otworzyć plik PSD, wyciąć tło, przygotować prostą kreację do social media albo wykonać retusz bez instalowania programu, Photopea jest jedną z najlepszych darmowych opcji dostępnych w przeglądarce. Nie zastąpi Photoshopa w każdym profesjonalnym zastosowaniu, ale do codziennej edycji grafiki sprawdza się zaskakująco dobrze.\n","permalink":"https://ping.pl/blog/posts/photopea-darmowa-i-zaskakujaco-dobra-alternatywa-dla-photoshop/","tags":null,"title":"Photoshop online za darmo? Photopea jako dobra alternatywa"},{"categories":null,"content":"VPS to serwer wirtualny, który działa jak osobny serwer fizyczny, ale jest częścią większego serwera fizycznego podzielonego na kilka mniejszych, niezależnych jednostek. VPS daje użytkownikowi zasoby serwera i pełną kontrolę nad systemem, co oznacza, że można na nim instalować oprogramowanie, konfigurować system operacyjny, a nawet zarządzać zasobami, jakby to był dedykowany serwer. Serwer VPS jest świetnym rozwiązaniem w przypadku gdy zależy nam na dużych możliwościach konfiguracyjnych i elastyczności w instalacji oprogramowania na nim, ale z drugiej strony nie potrzebujemy na tyle dużej wydajności, aby inwestować w serwer dedykowany.\nDzisiaj większość operatorów hostingowych posiada w swojej ofercie serwery VPS lub tzw. instancje w chmurze, które oferują dodatkowe możliwości jak wykonywanie zrzutów całego serwera (snapshoty) oraz wygodniejsze, szybsze skalowanie serwerów w zależności od aktualnych potrzeb czy rozliczenia minutowe za wykorzystane zasoby.\nZakładam, że posiadasz już serwer VPS oraz że masz do niego dostęp root przez SSH. Jeżeli go nie posiadasz, polecam Ci chmurę Vultr.com gdzie stworzenie gotowego do pracy serwera zajmuje dosłownie 2–3 minuty. Dzięki rozliczaniu minutowemu, zapłacisz tylko za czas w którym korzystałeś z serwera - nie musisz płacić z góry za cały miesiąc.\nAktualizacja oprogramowania serwera Na samym początku warto, abyś zaktualizował aktualnie posiadane oprogramowanie na serwerze. W tym celu uruchom z poziomu użytkownika root polecenia:\napt-get update apt-get upgrade Staraj się wykonywać tę operację regularnie, na przykład raz w tygodniu. Aktualizowanie oprogramowania na serwerze jest kluczowe dla jego bezpieczeństwa, ponieważ atakujący często wykorzystują luki w oprogramowaniu, aby przeprowadzać nieautoryzowane działania lub nawet przejąć kontrolę nad serwerem.\nInstalacja i konfiguracja Apache Apache jest bardzo popularnym, open-source\u0026rsquo;owym serwerem HTTP. Umożliwia postawienie zarówno prostej, statycznej strony internetowej jak i rozbudowanego serwisu. Obsługuje wiele języków programowania poprzez moduły, które można doinstalowywać w zależności od potrzeb.\nInstalacja Apache Bardzo możliwe, że posiadasz już Apache na swoim serwerze - jest on często dostępny w startowym zestawie oprogramowania wielu systemów, w tym Ubuntu. Aby to zweryfikować, wykonaj polecenie:\nservice apache2 status Jeżeli nie zobaczysz informacji, która wskazywałaby na to, że Apache jest zainstalowany i uruchomiony, zainstaluj go poleceniem:\napt-get install apache2 Dodanie nowej strony do Apache Aby dodać nową stronę do Apache, najlepiej utworzyć nowy plik wirtualnego hosta (virtual host), co pozwala na hostowanie wielu stron internetowych na jednym serwerze Apache. Dzięki temu rozwiązaniu możesz skierować wiele różnych domen na ten sam serwer i utrzymywać na nim różne, niezależne od siebie strony.\nZakładam, że posiadasz już domenę z ustawionym rekordem A, wskazującym na adres IP serwera. Jeśli nie, zaloguj się do panelu klienta firmy, w której kupiłeś domenę, i znajdź opcje takie jak ustawienia DNS lub strefy nazw. Następnie dodaj rekord typu A z wartością odpowiadającą adresowi IP serwera.\nUtworzenia użytkownika z plikami strony Utwórz nowego użytkownika w systemie do zarządzania plikami strony. Ze względów bezpieczeństwa pliki strony nigdy nie powinny należeć do użytkownika root. Zamiast tego powinny należeć do użytkownika stworzonego specjalnie w tym celu. Nowego użytkownika wraz z jego katalogiem domowym utworzysz za pomocą poniższej komendy (w tym przykładzie przyjęliśmy nazwę użytkownika www, ale możesz wybrać dowolną inną):\nuseradd -m -d /home/www www Następnie zmodyfikujemy konfigurację Apache, aby jego usługa była uruchamiana właśnie jako użytkownik www. Dzięki temu Apache będzie miał dostęp tylko do plików strony, do których uprawnienia posiada ten użytkownik. W pliku /etc/apache2/envvars wprowadź poniższe ustawienia:\nexport APACHE_RUN_USER=www export APACHE_RUN_GROUP=www Utworzenie katalogu ze stroną W kolejnym kroku utworzymy katalog, w którym będą przechowywane pliki strony. Wykonaj poniższe polecenie z poziomu użytkownika www (jeśli jesteś zalogowany jako root, możesz przełączyć się na użytkownika www za pomocą komendy su www), aby utworzone pliki miały odpowiednie uprawnienia:\ncd /home/www mkdir demo.ping.pl Pliki strony możesz przesłać ręcznie (np. przez SFTP) lub, jeśli masz je w repozytorium GIT, wygodniejszą opcją będzie sklonowanie repozytorium bezpośrednio na serwerze. Dzięki temu, gdy będziesz chciał zaktualizować pliki strony, wystarczy jedno polecenie, aby pobrać najnowsze zmiany z repozytorium, bez potrzeby ręcznego przesyłania plików na serwer. Daje to również pewność, że pliki na serwerze są identyczne jak w Twoim lokalnym środowisku.\nRepozytorium GIT do wcześniej utworzonego katalogu sklonujesz w następujący sposób (zwróć uwagę na kropkę na końcu polecenia git clone):\ncd /home/www/demo.ping.pl git clone git@github.com:username/reponame.git . Zainstaluj potrzebne paczki i zbuduj kod strony, jeżeli Twoja strona tego wymaga.\nUtworzenie strony w Apache Posiadając już pliki strony na serwerze, możesz dodać stronę do konfiguracji Apache. W tym celu stwórz nowy plik w lokalizacji /etc/apache2/sites-available z rozszerzeniem .conf:\nnano /etc/apache2/sites-available/demo.ping.pl.conf i wprowadź następującą treść do utworzonego pliku:\n\u0026lt;VirtualHost *:80\u0026gt; ServerName demo.ping.pl DocumentRoot /home/www/demo.ping.pl/public \u0026lt;/VirtualHost\u0026gt; ServerName - tutaj wpisz domenę pod jaką strona będzie dostępna DocumentRoot - to ścieżka do katalogu publicznego strony, czyli takiego w którym znajduje się plik index Konfiguracja lokalizacji strony w Apache Ze względów bezpieczeństwa Apache umożliwia dostęp tylko do ściśle określonych lokalizacji na serwerze. Dlatego musimy dodać lokalizację naszej strony do jego konfiguracji. W tym celu otwórz plik /etc/apache2/apache2.conf, znajdź sekcję, w której zdefiniowane są dozwolone lokalizacje i dodaj konfigurację odpowiadającą wybranej przez Ciebie ścieżce:\n\u0026lt;Directory /home/www/demo.ping.pl/public\u0026gt; Options Indexes FollowSymLinks AllowOverride All Require all granted \u0026lt;/Directory\u0026gt; AllowOverride All oznacza, że umożliwimy stronie nadpisanie ustawień Apache za pośrednictwem specjalnego pliku .htaccess, który jest bardzo często wykorzystywany przez strony napisane w PHP. Aby skorzystać z tej funkcji musimy dodatkowo włączyć ją w Apache poleceniem:\na2enmod rewrite Aktywacja strony w Apache Aktywuj utworzoną konfigurację dla nowego wirtualnego hosta i uruchom ponownie serwer Apache:\na2ensite demo.ping.pl.conf service apache2 restart Polecenie to utworzy link symboliczny do pliku strony utworzonego w poprzednim kroku w lokalizacji /etc/apache2/sites-enabled. Więc w razie problemów z tą komendą możesz spróbować utworzyć link ręcznie. Jeżeli zajdzie potrzeba wyłączenia strony, możesz to zrobić poleceniem a2dissite demo.ping.pl.conf lub po prostu usuwając link symobliczny z katalogu /etc/apache2/sites-enabled.\nModyfikacja ustawień zapory firewall Istnieje dużo prawdopodobieństwo, że w Twoim systemie jest zainstalowany i uruchomiony firewall. Aby umożliwić dostęp do serwera przez protokoły http i https, wymagane jest otwarcie portów 80 i 443:\nufw allow 80 ufw allow 443 Instalacja darmowego certyfikatu SSL Let\u0026rsquo;s Encrypt to urząd certyfikacji, który oferuje bezpłatne certyfikaty SSL. Warto z niego skorzystać, ponieważ obecnie strona internetowa niedostępna pod bezpiecznym protokołem HTTPS jest nie tylko mniej bezpieczna, ale również mniej widoczna w wynikach wyszukiwania. Zarówno przeglądarki, jak i wyszukiwarki promują strony korzystające z HTTPS, co oznacza, że strony bez certyfikatu SSL mogą być trudniej dostępne dla użytkowników.\nInstalacja certbot Będziemy potrzebować dwóch programów: certbot oraz python3-certbot-apache. Zainstalujemy je poleceniem:\napt-get install certbot python3-certbot-apache Uzyskiwanie certyfikatu SSL Certbot oferuje różne sposoby uzyskania certyfikatów SSL za pomocą wtyczek. Wtyczka Apache automatycznie przeprowadza konfigurację i w razie potrzeby przeładowuje ustawienia Apache. Aby z niej skorzystać, uruchom komendę:\ncertbot --apache Uruchomiony zostanie proces uzyskiwania nowego certyfikata, który składa się z kilku kroków:\nprośba o email - adres email wykorzystany ma być tylko do powiadomień związanych z certyfikatem akceptacja regulaminu - po zapoznaniu się z treścią regulaminu wpisujemy A (agree) i potwierdzamy enterem pytanie o udostępnienie adresu email fundacji non-profit - jeśli się nie zgadasz, wpisz N (no) i zatwierdź enterem wybór stron dla których powinny zostać wygenerowane certyfikaty - najważniejszy krok. Powinna tutaj zostać wyświetlona lista stron dodanych do aktualnej konfiguracji Apache. Wybierz swoją stronę wpisując jej numer i zatwierdź enterem pytanie o przekierowanie - czy chcesz, aby po wejściu na adres przez http:// nastąpiło automatyczne przekierowanie na https://? Przekierowanie jest zalecane Jeżeli wszystko przebiegnie poprawnie, powinieneś zobaczyć potwierdzenie wygenerowania certyfikatu. Konfiguracja strony Apache została automatycznie zmodyfikowana.\nPo zrestartowaniu Apache poleceniem service apache2 restart, strona powinna być dostępna już pod protokołem https://.\nInstalacja PHP i dodatkowych rozszerzeń Tak naprawdę większość pracy mam już za sobą, bowiem instalacja PHP i MySQL jest już szybsza i mniej pracochłonna. PHP zainstalujemy poleceniem:\napt-get install php Automatycznie zostanie zainstalowany również pakiet odpowiedzialny za integracje PHP z Apache. Jeżeli potrzebujemy dodatkowych rozszerzeń, możemy je doinstalować poleceniem:\napt-get install php-curl php-mbstring php-intl Listę dostępnych rozszerzeń wyszukasz w repozytorium pakietów w następujący sposób:\napt-cache search php Po zrestartowaniu Apache poleceniem service apache2 restart, PHP powinno być już dostępne dla Twojej strony. Jeśli potrzebujesz zmienić konfigurację PHP, znajdziesz ją w lokalizacji /etc/php/8.3/apache2/php.ini lub w podobnym katalogu, zależnie od wersji PHP zainstalowanej na Twoim systemie. Zwróć uwagę, że PHP posiada dwie niezależne konfiguracje – jedna dotyczy skryptów uruchamianych przez Apache, a druga jest przeznaczona dla skryptów uruchamianych bezpośrednio z poziomu konsoli (CLI). Plik konfiguracyjny dla CLI znajdziesz w /etc/php/8.3/cli/php.ini.\nInstalacja i konfiguracja bazy danych MySQL Jeżeli Twoja strona internetowa potrzebuje bazy danych MySQL, możesz ją zainstalować poleceniem:\napt-get install mysql-server Utworzenie nowej bazy danych Z poziomu konsoli root możesz zarządzać zainstalowaną bazą danych. Polecenie mysql spowoduje połączenie się z bazą danych jako bazodanowy użytkownik root. Zacznijmy od dodania nowej bazy, którą wykorzystamy do przechowywania danych dla strony internetowej:\nCREATE DATABASE demopingpl; Listę baz danych na serwerze sprawdzisz poleceniem:\nSHOW DATABASES; Utworzenie nowego użytkownika Ze względów bezpieczeństwa, nie jest zalecane, aby klient (np. strona internetowa) bazy danych łączył się z nią wykorzystując użytkownika root. Do tego celu powinien zostać stworzony nowy użytkownik posiadający potrzebne uprawnienia (ale nie większe) tylko do wybranej bazy danych.\nNowego użytkownika utworzysz poleceniem:\nCREATE USER \u0026#39;www\u0026#39;@\u0026#39;localhost\u0026#39; IDENTIFIED WITH mysql_native_password BY \u0026#39;TutajWpiszHaslo123!\u0026#39;; Następnie, nadaj dodanemu użytkownikowi wybrane uprawnienia do danej bazy danych:\nGRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT ON demopingpl.* TO \u0026#39;www\u0026#39;@\u0026#39;localhost\u0026#39;; Po każdej zmianie na poziomie uprawnień i użytkownikach bazy danych, przeładuj zmiany poleceniem:\nFLUSH PRIVILEGES; Baza danych powinna być już dostępna dla strony internetowej. Pozostało teraz utworzyć jej strukturę i wypełnić danymi. Polecam Ci do tego program HeidiSQL, który bardzo ułatwia pracę z bazą. Pamiętaj jednak, że przy domyślnych ustawieniach bazy, nie połączysz się z nią z innego hosta niż ten na którym jest zainstalowana. Nie jest też zalecane \u0026ldquo;otwieranie\u0026rdquo; bazy danych na cały internet. Zamiast tego, wypróbuj opcję połączenia się z serwerem MySQL za pośrednictwem tunelu SSH (HeidiSQL ma taką opcję).\nFAQ Na stronie wyświetla się błąd \u0026ldquo;Not Found\u0026rdquo; upewnij się, że utworzyłeś stronę w Apache i ją włączyłeś (sprawdź katalog /etc/apache2/sites-enabled). Zweryfikuj wprowadzone ścieżki w pliku konfiguracyjnym strony Na stronie wyświetla się błąd \u0026ldquo;Forbidden\u0026rdquo; upewnij się, że w pliku /etc/apache2/apache2.conf wprowadziłeś poprawną lokalizację strony i zrestartowałeś Apache po zapisaniu zmian sprawdź w pliku /etc/apache/envvars czy usługa Apache jest uruchomiona jako ten sam użytkownik co pliki strony Strona nie wczytuje się sprawdź odpowiedzi na dwa poprzednie problemy sprawdź czy firewall (jeżeli go posiadasz) ma otwarte porty 80 i 443 Na stronie wyświetla się kod PHP sprawdź czy zainstalowałeś PHP włącz opcję short_open_tag w konfiguracji PHP, która umożliwi działanie skryptom osadzonym w skróconych znacznikach PHP (\u0026lt;? ?\u0026gt;). Pliku konfiguracyjnego PHP szukaj w lokalizacji podobnej do /etc/php/8.3/apache2/php.ini Nie udaje się uzyskać certyfikatu sprawdź czy domena na którą próbujesz uzyskać certyfikat kieruje ruch na adres IP danego serwera sprawdź czy firewall (jeżeli go posiadasz) ma otwarte porty 80 i 443 ","permalink":"https://ping.pl/blog/posts/jak-postawic-strone-na-ubuntu-i-apache/","tags":null,"title":"Jak postawić stronę PHP + MySQL na Ubuntu i Apache na serwerze VPS?"},{"categories":null,"content":"Niedostępność serwisu internetowego, sklepu, usługi lub aplikacji to straty nie tylko finansowe, ale także wizerunkowe. Bez względu na skalę działalności, każda awaria może być bolesna i odczuwalna – zarówno pod względem finansowym, jak i wizerunkowym. W przypadku największych serwisów wartość strat może sięgać nawet setek milionów dolarów. W tym krótkim tekście przedstawimy awarie, które przyczyniły się do największych w historii strat finansowych.\nAwaria Amazon Web Services - Luty 2017 (150 mln dolarów) Pracownik AWS podczas rutynowej konserwacji przypadkowo wyłączył większą liczbę serwerów niż planowano w systemie S3 (Simple Storage Service). W efekcie większa część systemu S3 została wyłączona, co spowodowało zakłócenia w funkcjonowaniu takich serwisów jak Trello, Quora, Slack, Business Insider, i Yahoo.\nStraty finansowe związane z tą awarią zostały oszacowane na około 150 milionów dolarów. Wiele firm, które polegały na usługach AWS, miało przestoje w działalności przez kilka godzin, co wiązało się z utratą przychodów. Oprócz strat bezpośrednich, awaria wpłynęła negatywnie na reputację AWS i wielu firm korzystających z ich infrastruktury​.\nFacebook - Marzec 2019 (90 mln dolarów) Awaria Facebooka z 13 marca 2019 roku trwała aż 14 godzin, co sprawiło, że była jedną z najdłuższych i najbardziej dotkliwych awarii w historii internetu. Problemy dotknęły także inne aplikacje należące do grupy Meta, takie jak Instagram, WhatsApp i Messenger, co spowodowało szerokie zakłócenia w komunikacji na całym świecie.\nFacebook oświadczył, że przyczyną awarii były zmiany w konfiguracji serwerów, a nie atak DDoS czy innych działań zewnętrznych, jak początkowo spekulowano:\nChoć nie ujawniono dokładnych strat, szacuje się, że firma mogła stracić ok. 90 milionów dolarów w wyniku przerw w dostępie do reklam. Każda godzina przestoju to miliony dolarów w utraconych przychodach reklamowych. Tak długa awaria spowodowała frustrację użytkowników, co przełożyło się na utratę wizerunku firmy.\nFastly CDN - Czerwiec 2021 (50 - 100 mln dolarów) 8 czerwca miała miejsce awaria usługi CDN firmy Fastly. CDN (Content Delivery Network) to rozproszona sieć serwerów, które przechowują i dostarczają statyczne zasoby stron internetowych z najbliższego serwera, aby przyspieszyć czas ładowania. Dzięki zastosowaniu CDN zmniejsza się obciążenie głównego serwera, poprawiając wydajność i niezawodność dostępu do strony, zwłaszcza podczas nagłych wzrostów ruchu.\nJeden z klientów poprzez swoją konfigurację CDN wyzwolił błąd, który przyczynił się do awarii. Nie zrobił tego celowo, jego konfiguracja była poprawna, przyczyną problemu był błąd w oprogramowaniu CDN, o czym Fastly poinformowało w oświadczeniu:\nWe experienced a global outage due to an undiscovered software bug that surfaced on June 8 when it was triggered by a valid customer configuration change\nMimo, że problem został bardzo szybko wykryty przez firmę to awaria spowodowała globalne przerwy w dostępie do serwisów takich jak Amazon, Reddit, Twitch, GitHub, Spotify, a także serwisów medialnych, takich jak The Guardian, BBC czy Financial Times. Większość serwisów wróciła do poprawnego działania po godzinie, choć pełne usunięcie problemu trwało dłużej.\nTak wyglądała strona serwisu Amazon podczas awarii (brak załadowanych arkuszy styli, skryptów, obrazów, czcionek i innych statycznych składowych serwisu):\nCałkowite straty spowodowane awarią są trudne do oszacowania ze względu na ilość serwisów, których problem dotyczył. Według estymacji samego Amazona, ich straty sięgnęły 32 milionów dolarów, a z Fastly korzystało wówczas wiele innych dużych serwisów tak jak Reddit, Github, Twitch czy Spotify.\nWarto dodać, że akcje Fastly spadły o kilka procent na giełdzie w dniu awarii, co przełożyło się na zmniejszenie wartości rynkowej firmy o kilkaset milionów dolarów. Straty te były jednak krótkotrwałe, a firma szybko odzyskała część wartości po przywróceniu usług.\n","permalink":"https://ping.pl/blog/posts/awarie-internetowych-gigantow/","tags":null,"title":"Awarie internetowych gigantów"},{"categories":null,"content":"W usługach monitoringu stron internetowych można spotkać się z dwoma terminami, które mogą sprawiać wrażenie, że oznaczają to samo – czas odpowiedzi oraz czas ładowania. Jaka jest między nimi różnica i co dokładnie oznaczają?\nCzas odpowiedzi Standardowy test strony internetowej polega na wysłaniu pojedynczego żądania typu GET lub POST przez serwer testujący na wskazany przez użytkownika adres strony. Żądanie to jest następnie przetwarzane przez serwer docelowy, a jego rezultat – najczęściej kod HTML strony – jest zwracany jako odpowiedź. Przeglądarka interpretuje ten kod i inicjuje ładowanie pozostałych elementów strony bezpośrednio przez siebie:\nCzasem odpowiedzi nazywamy okres od momentu wysłania żądania do momentu otrzymania odpowiedzi, czyli zazwyczaj samego kodu HTML strony. Mimo że do pełnego załadowania strony potrzebne są także inne elementy, kod HTML jest jej fundamentem. Stanowi swego rodzaju instrukcję dla przeglądarki, określającą, co i jak powinno zostać dodatkowo wczytane, aby strona mogła być poprawnie wyświetlona. Aby jednak określić całkowity czas potrzebny do załadowania strony, należy zmierzyć czas ładowania, o czym piszemy poniżej.\nCzas ładowania Czas ładowania strony internetowej mierzony jest inaczej. Do jego sprawdzenia wykorzystywana jest przeglądarka Chrome, uruchomiona na serwerze wykonującym test. Pomiar czasu ładowania rozpoczyna się w momencie, gdy przeglądarka otrzymuje polecenie wczytania testowanego adresu strony. Kończy się on w chwili, gdy przeglądarka zakończy ładowanie wszystkich elementów niezbędnych do wyświetlenia strony:\nCzas ładowania to zatem całkowity czas, jaki strona potrzebuje, aby zostać w pełni wyświetlona w przeglądarce. W rzeczywistości jednym z elementów tego czasu jest wcześniej opisany czas odpowiedzi, ponieważ proces ładowania strony rozpoczyna się od pobrania jej kodu HTML, który następnie jest interpretowany, aby pobrać pozostałe potrzebne elementy.\nMonitoring szybkości ładowania strony Warto monitorować czas ładowania strony internetowej i reagować na wszelkie zmiany. W Ping.pl do monitoringu tego typu wykorzystywana jest prawdziwa przeglądarka Chrome, uruchamiana na serwerach testujących. Strona może być testowana zarówno w wersji na komputery, jak i na urządzenia przenośne, z jednoczesną symulacją internetu mobilnego. W przypadku wykrycia spowolnienia szybkości ładowania strony, wysyłane są odpowiednie powiadomienia.\nZobacz jak działa monitoring szybkości wczytywania strony w Ping.pl: https://ping.pl/zastosowania/monitoring-szybkosci-wczytywania.\n","permalink":"https://ping.pl/blog/posts/jaka-jest-roznica-miedzy-czasem-ladowania-a-czasem-odpowiedzi/","tags":null,"title":"Jaka jest różnica między czasem odpowiedzi a czasem ładowania?"},{"categories":null,"content":"Monitoring stron internetowych byłby mało użyteczny bez szybkich i skutecznych powiadomień informujących odpowiednie osoby o wykrytych problemach. Najczęściej stosowanymi metodami powiadomień są e-mail i wiadomości SMS. Często obie metody są używane jednocześnie, co oznacza, że w przypadku wykrycia problemu ze stroną, w tym samym czasie wysyłany jest e-mail oraz wiadomość SMS do wybranych osób. SMS natomiast wyróżnia się krótszym czasem dostarczenia na urządzenie oraz jest traktowany przez adresata z wyższym priorytetem niż wiadomość e-mail.\nPowiadomienia e-mail Powiadomienia e-mail zawierają najwięcej informacji o wykrytym problemie ze stroną. Są bezpłatne, nielimitowane i mogą być wysyłane na grupowe skrzynki pocztowe, np. do wszystkich administratorów lub programistów odpowiedzialnych za utrzymanie danej strony. Oprócz informacji o problemie, powiadomienia te zawierają informacje o przyczynie niedostępności oraz zrzut ekranu strony wykonany podczas awarii:\nPowiadomienia SMS SMS to najchętniej stosowana metoda powiadomień. Charakteryzuje się lepszą dostarczalnością niż powiadomienia e-mail oraz większą responsywnością - odbiorca zdecydowanie szybciej przeczyta treść wiadomości SMS niż e-mail. Powiadomienia SMS świetnie sprawdzają się w parze z powiadomieniami e-mail. Ze względu na ograniczenia jakie posiada wiadomość SMS, zawarte są w niej jedynie podstawowe informacje - nazwa usługi, która przestała funkcjonować prawidłowo, wraz z przyczyną problemu. E-mail natomiast zawiera dodatkowe informacje, które mogą okazać się pomocne podczas rozwiązywania problemu, np. zrzut ekranu strony wykonany podczas awarii.\nPowiadomienia telefoniczne Powiadomienia telefoniczne to standardowe połączenie telefoniczne realizowane w sposób automatyczny. W odczytanej przez syntezator wiadomości głosowej przekazywane są informacje o tym, która monitorowana strona internetowa nie działa oraz jaka jest tego przyczyna. Przykład takiej wiadomości:\nW przypadku nieodebranego połączenia, po około 10 minutach następuje ponowna próba, a jeśli mimo to nie uda się dodzwonić do wskazanej osoby, wysyłany jest do niej SMS z odpowiednią informacją:\nW przypadku korzystania z poczty głosowej, wraz z powiadomieniami telefonicznymi zalecamy również włączenie powiadomień SMS. System powiadamiający nie jest w stanie rozróżnić czy telefon został odebrany przez adresata wiadomości czy przez pocztę głosową. Z tego powodu, nie nastąpi ponowna próba połączenia ani nie zostanie wysłana wiadomość tekstowa o nieudanych próbach połączenia.\nDowiedz się więcej o wiadomościach głosowych na stronie operatora, za pomocą którego realizujemy wysyłkę powiadomień: https://www.smsapi.pl/wiadomosci-glosowe-vms.\nPowiadomienia Push Powiadomienia push pozwalają szybko otrzymać informację o awarii bezpośrednio na telefonie lub komputerze. W Ping.pl są realizowane za pomocą usługi Pushover, dostępnej na urządzeniach z systemami Android i iOS oraz na komputerach. To wygodna alternatywa dla wiadomości SMS, szczególnie gdy powiadomienia mają trafiać do kilku osób lub urządzeń.\nPowiadomienia na Microsoft Teams Powiadomienia na Microsoft Teams umożliwiają publikowanie informacji o awariach bezpośrednio na wybranym czacie lub kanale. Dzięki temu cały zespół odpowiedzialny za utrzymanie strony może od razu dowiedzieć się o wykrytym problemie i rozpocząć jego analizę. Integracja odbywa się za pomocą adresu webhook utworzonego w aplikacji Workflows.\n","permalink":"https://ping.pl/blog/posts/powiadomienia-w-monitoringu-stron-internetowych/","tags":null,"title":"Powiadomienia w monitoringu stron internetowych. Jakie są ich rodzaje i czym się charakteryzują?"},{"categories":null,"content":"SSL Let\u0026rsquo;s Encrypt to bezpłatny certyfikat SSL (Secure Sockets Layer) wydawany przez organizację non-profit Internet Security Research Group (ISRG). Aby z niego skorzystać, będziesz potrzebował dostępu do konsoli SSH i uprawnień użytkownika root swojego serwera. W tym artykule pokażemy, jak zainstalować i skonfigurować certyfikat na serwerze Ubuntu + Apache. Proces instalacji na Nginx jest bardzo podobny, a różnice omówimy na końcu.\n1. Instalacja Certbot Certbot to darmowy, open-source\u0026rsquo;owy program do automatyzacji uzyskiwania i odnawiania certyfikatów SSL/TLS od Let\u0026rsquo;s Encrypt.\nOtwórz konsolę SSH i zaloguj się do serwera jako użytkownik root. Rozpocznij od aktualizacji paczek:\napt-get update Zainstaluj Certbot oraz wtyczkę integrującą Certbot z serwerem Apache:\napt-get install -y certbot python3-certbot-apache 2. Weryfikacja konfiguracji Apache Certbot automatycznie zmodyfikuje plik konfiguracyjny VirtualHost dla domeny, dla której będzie generowany certyfikat. Upewnij się, że masz odpowiednio ustawioną nazwę domeny w ServerName oraz ServerAlias w pliku konfiguracyjnym swojej strony:\n\u0026lt;VirtualHost *:80\u0026gt; ServerName test.ping.pl ServerAlias www.test.ping.pl DocumentRoot /var/www/html \u0026lt;/VirtualHost\u0026gt; My do testów użyliśmy subdomeny test.ping.pl, ale certyfikat może być wygenerowany dla dowolnej domeny wyższego poziomu.\nPamiętaj, że poo wprowadzeniu jakichkolwiek zmian w ustawieniach Apache powinieneś go zrestartować:\nservice apache2 restart Oczywiście ustawienia DNS Twojej domeny powinny być skonfigurowane w taki sposób, aby ruch był kierowany na adres IP Twojego serwera (poprzez dodanie rekordu A w ustawieniach DNS). Wpisy w DNS domeny możesz zmodyfikować w panelu firmy w której zakupiłeś domenę, chyba, że po zakupie \u0026ldquo;przeparkowałeś\u0026rdquo; domenę w inne miejsce.\n3. Konfiguracja Firewall Jeżeli korzystasz z Firewall to zweryfikuj, czy porty 80 (http) jak i 443 (https) są otwarte:\nufw allow 80 \u0026amp;\u0026amp; ufw allow 443 4. Instalacja certyfikatu Po wykonaniu powyższych kroków możemy przejść do wygenerowania i instalacji certyfikatu:\ncertbot --apache Powyższe polecenie uruchomi proces generowania nowego certyfikatu. Zostaniesz poproszony o adres e-mail do powiadomień w przypadku problemów z odnowieniem certyfikatu. Będziesz również musiał zaakceptować regulamin Let\u0026rsquo;s Encrypt oraz opcjonalnie udostępnić adres e-mail fundacji do komunikacji o aktualnościach, zmianach itp.\nCertbot przeskanuje konfigurację Apache i zaproponuje listę domen, dla których mogą zostać wygenerowane certyfikaty. Wybierz odpowiednią domenę lub domeny i potwierdź wybór klawiszem Enter.\nPo chwili powinieneś zobaczyć komunikat o pomyślnym wygenerowaniu certyfikatu, a Twoja strona będzie dostępna pod protokołem HTTPS.\nDla pewności, zalecamy jeszcze weryfikację poprawności certyfikatu na stronie: https://www.sslshopper.com/ssl-checker.html. Wynik skanowania strony z poprawnie zainstalowanym certyfikatem powinien wyglądać podobnie do poniższego:\n5. Sprawdzenie automatycznego odnawiania certyfikatu Certyfikaty Let\u0026rsquo;s Encrypt są ważne przez 90 dni. Certbot jednak automatycznie powinien odświeżać certyfikat bez Twojego udziału w taki sposób, aby zachować jego ciągłość. Warto jednak upewnić się, że program za to odpowiedzialny działa prawidłowo, możesz to zrobić poleceniem:\nsystemctl status certbot.timer W wyświetlony wyniku powyższego polecenia zwróc uwagę na status programu certbot.timer - powinien być active (waiting).\nJeszcze lepiej jeżeli powyższy test wykonasz po restarcie całego serwera. Certbot powinien uruchomić się automatycznie wraz ze startem serwera, ale lepiej to sprawdzić.\nInstalacja Let\u0026rsquo;s Encrypt na serwerze Nginx Jeżeli korzystasz z Nginx zamiast Apache, aby zainstalować certyfikat Let\u0026rsquo;s Encrypt dla swojej strony wystarczy, że:\nw kroku 1 zainstalujesz plugin dla nginx zamiast apache: apt-get install -y certbot python3-certbot-nginx polecenie z kroku 4 wykonasz z atrybutem nginx zamiast apache, czyli: certbot --nginx W czym płatne certyfikaty są lepsze od darmowego Let\u0026rsquo;s Encrypt? Let\u0026rsquo;s Encrypt jest świetnym rozwiązaniem dla większości standardowych stron internetowych, oferując darmowy i automatyczny sposób na bezpieczne połączenie. Płatne certyfikaty oferują dodatkowe korzyści, które mogą być niezbędne dla firm lub stron wymagających wyższego poziomu zaufania, wsparcia i zabezpieczeń.\nLet\u0026rsquo;s Encrypt wydaje certyfikaty Domain Validation (DV), które potwierdzają, że właściciel domeny ma kontrolę nad tą domeną. Płatne certyfikaty mogą oferować wyższe poziomy weryfikacji, takie jak Organization Validation (OV) czy Extended Validation (EV), które potwierdzają tożsamość organizacji i oferują większe zaufanie użytkowników (zielony pasek adresu w przeglądarce).\nPłatne certyfikaty często zawierają ubezpieczenie od naruszeń bezpieczeństwa, co może wynosić od kilku tysięcy do kilku milionów dolarów.\n","permalink":"https://ping.pl/blog/posts/jak-zainstalowac-bezplatny-certyfikat-ssl-lets-encrypt/","tags":null,"title":"Jak zainstalować bezpłatny certyfikat SSL Let's Encrypt"},{"categories":null,"content":"Uśredniony rozmiar stron internetowych stale rośnie. Chociaż dostęp do szybkiego, szerokopasmowego internetu również się zwiększa, wielu użytkowników (szczególnie korzystających z mobilnego internetu) nie zawsze ma wystarczająco szybkie połączenie, aby strony wczytywały się w ciągu kilku sekund.\nWedług serwisu keycdn.com, w ciągu ostatniej dekady średni rozmiar strony internetowej na komputery wzrósł z 803 KB do 2284 KB (184%), natomiast rozmiar wersji mobilnych stron wzrósł z 386 KB do 2010 KB (420%):\nŹródło: https://www.keycdn.com/support/the-growth-of-web-page-size\nW tym artykule dowiesz się jak sprawdzić, czy masz włączoną kompresję na swojej stronie internetowej oraz jak włączyć ją włączyć w zależności od używanego serwera.\nJak sprawdzić, czy kompresja gzip jest włączona? Jeżeli kompresja gzip jest włączona, serwer zwracający zasoby strony zwróci również nagłówek:\nContent-Encoding: gzip Możesz to sprawdzić w narzędziach deweloperskich w dowolnej przeglądarce, ale prościej będzie skorzystać z gotowych serwisów, które zrobią to za Ciebie. Wystarczy, że wpiszesz adres strony, którą chcesz sprawdzić. Jednym z takich serwisów jest np. https://www.giftofspeed.com/gzip-test/. Warto przeprowadzić test nie tylko dla strony głównej, ale także dla podstron oraz różnych zasobów: obrazków, czcionek, arkuszy styli czy plików JS. Może się okazać, że wskutek nieprawidłowej konfiguracji serwera, jedynie strona główna będzie skompresowana, a pozostałe zasoby już nie.\nJak włączyć kompresję gzip na stronie? Sposób włączenia kompresji gzip zależy od oprogramowania serwera (najczęściej Apache, Nginx lub IIS). Jeżeli korzystasz z hostingu współdzielonego i nie zarządzasz samodzielnie swoim serwerem, najlepiej będzie skontaktować się z administratorem firmy hostingowej z prośbą o włączenie kompresji. Możesz również spróbować włączyć kompresję za pomocą pliku .htaccess umieszczonego w głównym katalogu z plikami swojej strony. Poniżej dowiesz się, jak to zrobić:\nWłączenie gzip na serwerze Apache Za pomocą pliku .htaccess Poszukaj pliku .htaccess na swoim serwerze. Jeżeli go nie znajdziesz, utwórz go w głównym katalogu swojego serwera ( zazwyczaj tam, gdzie znajdują się również pliki takie jak index.html czy index.php). Wklej na jego końcu poniższy tekst:\n\u0026lt;IfModule mod_deflate.c\u0026gt; AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/vnd.ms-fontobject AddOutputFilterByType DEFLATE application/x-font AddOutputFilterByType DEFLATE application/x-font-opentype AddOutputFilterByType DEFLATE application/x-font-otf AddOutputFilterByType DEFLATE application/x-font-truetype AddOutputFilterByType DEFLATE application/x-font-ttf AddOutputFilterByType DEFLATE application/x-javascript AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE font/opentype AddOutputFilterByType DEFLATE font/otf AddOutputFilterByType DEFLATE font/ttf AddOutputFilterByType DEFLATE image/svg+xml AddOutputFilterByType DEFLATE image/x-icon AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/javascript AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/xml \u0026lt;/IfModule\u0026gt; Zwróć uwagę, że wśród typów plików poddawanych kompresji nie ma popularnych rozszerzeń dla plików graficznych takich jak JPEG, PNG czy WEBP. Wynika to z tego, że formaty tych plików już same w sobie obejmują kompresję. Ponowna kompresja nie zmniejszyłaby rozmiaru pliku, a jedynie niepotrzebnie obciążyłaby serwer koniecznymi do wykonania obliczeniami.\nPrzez zmianę konfiguracji serwera Zaloguj się jako użytkownik root (jeżeli nie posiadasz dostępu root do serwera, wypróbuj sposób poprzez zmianę pliku . htaccess).\nNajpierw upewnij się, że masz włączony moduł odpowiedzialny za kompresję na serwerze poleceniem:\na2enmod deflate Następnie utwórz nowy plik w lokalizacji /etc/apache2/conf-available/gzip.conf o następującej treści:\n\u0026lt;IfModule mod_deflate.c\u0026gt; AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/vnd.ms-fontobject AddOutputFilterByType DEFLATE application/x-font AddOutputFilterByType DEFLATE application/x-font-opentype AddOutputFilterByType DEFLATE application/x-font-otf AddOutputFilterByType DEFLATE application/x-font-truetype AddOutputFilterByType DEFLATE application/x-font-ttf AddOutputFilterByType DEFLATE application/x-javascript AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE font/opentype AddOutputFilterByType DEFLATE font/otf AddOutputFilterByType DEFLATE font/ttf AddOutputFilterByType DEFLATE image/svg+xml AddOutputFilterByType DEFLATE image/x-icon AddOutputFilterByType DEFLATE image/gif AddOutputFilterByType DEFLATE image/jpeg AddOutputFilterByType DEFLATE image/png AddOutputFilterByType DEFLATE image/webp AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/javascript AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/xml \u0026lt;/IfModule\u0026gt; Zapisz plik i dołącz go do konfiguracji serwera za pomocą komendy:\na2enconf gzip Następnie zrestartuj serwer:\nsystemctl restart apache2 Włączenie gzip na serwerze Nginx Kompresja gzip jest domyślnie włączona na serwerze, ale jeżeli u Ciebie jest inaczej, otwórz plik /etc/nginx/nginx.conf i wprowadź poniższe zmiany do sekcji \u0026ldquo;Gzip Settings\u0026rdquo;:\n## # Gzip Settings ## gzip on; gzip_types application/javascript application/rss+xml application/vnd.ms-fontobject application/x-font application/x-font-opentype application/x-font-otf application/x-font-truetype application/x-font-ttf application/x-javascript application/xhtml+xml application/xml font/opentype font/otf font/ttf image/svg+xml image/x-icon text/css text/html text/javascript text/plain text/xml; Zapisz, a następnie zrestartuj serwer:\nsystemctl restart nginx Włączenie gzip na serwerze IIS Na początku upewnij się, że masz zainstalowane na serwerze rozszerzenie odpowiedzialne za kompresję: https://learn.microsoft.com/en-us/iis/configuration/system.webServer/httpCompression/.\nAby włączyć kompresję gzip, wykonaj następujące kroki:\nWciśnij jednocześnie przycisk Windows + R i w wyświetlonym polu tekstowym wprowadź frazę: Inetmgr. Możesz również ręcznie odszukać i otworzyć menedżera IIS. Wybierz stronę, dla której chcesz włączyć kompresję. W szczegółach strony w sekcji IIS odszukaj i kliknij ikonę “Kompresja”. W oknie dialogowym zaznacz checkbox odpowiedzialny za włączenie kompresji (jeżeli jest on zablokowany, sprawdź czy na poziomie serwera włączona jest kompresja - wykonaj te same kroki, tylko zamiast strony, wybierz z drzewa po lewej stronie jego najwyższy węzeł. Zazwyczaj jest to nazwa komputera/serwera). Podsumowanie Podsumowując, kompresja gzip jest prostym i skutecznym sposobem na przyspieszenie ładowania stron internetowych poprzez zmniejszenie rozmiaru przesyłanych danych nawet o 70%. Choć ponad 86% stron internetowych już korzysta z tej technologii, wiele z nich wciąż tego nie robi, co oznacza straty w wydajności i dłuższy czas ładowania. Włączenie gzip można łatwo przeprowadzić na różnych serwerach, takich jak Apache, Nginx czy IIS, co pokazaliśmy w tym artykule.\nWłączenie kompresji gzip to tylko jeden ze sposobów na przyspieszenie strony internetowej. Zobacz również pozostałe metody w naszym innym tekście: https://ping.pl/blog/posts/jak-przyspieszyc-strone-internetowa-10-najlepszych-sposobow/.\nMonitoruj szybkość wczytywania się strony na https://ping.pl/.\n","permalink":"https://ping.pl/blog/posts/jak-poprawic-szybkosc-stron-dzieki-kompresji-gzip/","tags":null,"title":"Jak poprawić szybkość strony dzięki kompresji gzip?"},{"categories":null,"content":"Czym jest monitoring stron internetowych? Usługa monitoringu stron internetowych to narzędzie, które pozwala na bieżąco kontrolować stan i wydajność stron internetowych. Jego podstawową funkcją jest regularne sprawdzanie czy strona jest dostępna i powiadamianie wskazanych osób o wykrytych problemach. Ponadto monitoruje jej bezpieczeństwo, prawidłowe funkcjonowanie, szybkość działania oraz stan domeny i certyfikatu SSL. Taki monitoring daje pewność, że strona działa bez zarzutu i jest zawsze dostępna dla użytkowników.\nNajważniejsze powody dlaczego powinieneś monitorować swoją stronę Zapobieganie bezpośrednim stratom finansowym Niezależnie od tego czy prowadzisz sklep internetowych, aplikację z subskrypcyjnym modelem płatności czy po prostu wizytówkę firmową - niedostępna lub nieprawidłowo działająca strona naraża Cię na utratę potencjalnego przychodu. Klienci, którzy napotkają problemy z dostępnością strony, często szybko przenoszą się do konkurencji. Każda minuta niedostępności to potencjalnie stracone zamówienia, co bezpośrednio wpływa na przychody firmy.\nTwoi kliencie mają wiele opcji do wyboru, a problemy z działaniem strony mogą skutkować ich trwałą utratą. Klienci, którzy napotkają trudności w korzystaniu z Twojej strony w przeszłości, mogą już nie wrócić, wybierając konkurencję.\nDbanie o reputację Niedziałająca strona internetowa nie tylko wpływa na bezpośrednie straty finansowe, ale także na wizerunek firmy. Klienci oczekują, że strona będzie działała sprawnie i szybko. Problemy techniczne mogą sprawić, że firma będzie postrzegana jako nieprofesjonalna i niewiarygodna, co negatywnie wpływa na jej reputację.\nKontrola bezpieczeństwa Monitoring stron internetowych obejmuje również aspekty bezpieczeństwa, takie jak ochrona przed szkodliwym oprogramowaniem, która pozwala na wczesne wykrycie i eliminację zagrożeń, co chroni zarówno firmę, jak i jej klientów przed poważnymi konsekwencjami. Zainfekowana lub uznana za szkodliwą z innego powodu strona może zostać całkowicie zablokowana na poziomie przeglądarki oraz zniknąć z wyników wyszukiwań.\nMonitoring funkcjonalności Monitorowanie funkcjonalności polega na regularnym uruchamianiu zaplanowanego scenariusza na stronie internetowej w prawdziwej przeglądarce. Dzięki temu wiesz, że kluczowe funkcjonalności, takie jak proces zakupowy w sklepie internetowym czy formularz ofertowy, działają prawidłowo. Testowanie funkcjonalności pozwalają na szybkie wykrycie i naprawę ewentualnych problemów, zanim wpłyną one na użytkowników i prowadzony biznes.\nKontrola i poprawa wydajności strony Dzięki monitorowaniu strony internetowej, która jest testowana nawet co minutę z różnych lokalizacji w Polsce, uzyskasz dokładny obraz wydajności strony w różnych porach dnia, tygodnia i miesiąca. Pozwoli to na wcześniejszą identyfikację potencjalnych problemów z wydajnością i rozwiązanie ich w zawczasu. Warto nadmienić również, że wolna strona internetowa jest gorzej oceniana przez algorytmy wyszukiwarek, co może skutkować niższą pozycją w wynikach.\nDbanie o terminy ważności domeny i certyfikatu Monitoring strony internetowej to także dbanie o terminy jej kluczowych komponentów sieciowych, takich jak domena i certyfikat SSL. Usługi monitoringu, jak Ping.pl, wysyłają odpowiednio wcześniej powiadomienia o konieczności przedłużenia tych elementów. Jest to kluczowe, ponieważ strona z wygasłą domeną lub nieaktualnym certyfikatem SSL staje się niemal całkowicie niedostępna dla odwiedzających.\nWeryfikacja poziomu dostępności (SLA) partnerów Monitoring strony, który dodatkowo można rozszerzyć o monitoring serwerów lub innych usług internetowych pozwala również na kontrolowanie poziomu dostępności (SLA) partnerów, takich jak firmy hostingowe. Dzięki temu masz pewność, że usługi, z których korzystasz, są zgodne z umowami i oczekiwaniami.\nUsługa monitoringu strony internetowej Jeśli stoisz przed wyborem odpowiedniej usługi do monitorowania strony, oto cechy i funkcjonalności, na które warto zwrócić uwagę:\nWysoka częstotliwość testów: Im częściej strona jest sprawdzana, tym szybciej wykryte zostaną ewentualne nieprawidłowości. Optymalna częstotliwość to 1 minuta. W większości przypadków nie ma potrzeby częstszego wykonywania testów. Lokalizacja serwerów testujących w Polsce: Ważne jest, aby strona była testowana z kraju, z którego pochodzi większość odwiedzających. Monitoring strony wykonywany przez serwery ulokowane za granicą może zafałszować wyniki, zwłaszcza te dotyczące wydajności. Powiadomienia SMS i telefoniczne: Powiadomienia email są standardem, natomiast SMS-y są zazwyczaj dostępne tylko w płatnych usługach, ale mają większą skuteczność. Powiadomienia telefoniczne są realizowane przez normalne połączenie telefoniczne z użyciem syntezatora mowy. SMS-y powinny być wysyłane z polskiego numeru dla większej i szybszej dostarczalności. Okresowe raporty: Raporty dzienne, tygodniowe lub miesięczne zawierające informacje o dostępności, uśrednionym czasie ładowania lub odpowiedzi oraz listę wykrytych problemów. Obsługa wielu użytkowników: Funkcja przydatna, gdy w rozwój lub utrzymanie strony zaangażowanych jest kilka osób. Każda osoba otrzyma swoje konto z odpowiednimi uprawnieniami, bez konieczności dzielenia się danymi logowania do głównego konta. Monitoring domeny i certyfikatu: Strona bez aktualnej domeny lub certyfikatu jest nieużyteczna, dlatego warto monitorować zarówno dostępność strony, jak i terminy ważności tych komponentów, aby otrzymać powiadomienie o konieczności przedłużenia domeny lub certyfikatu. Monitoring szybkości i wydajności strony: Testowanie wydajności i szybkości ładowania strony w prawdziwej przeglądarce, uwzględniając wszystkie jej elementy (obrazki, skrypty, czcionki, style). Monitoring funkcjonalny według scenariusza: Testowanie konkretnej funkcji na stronie według zaplanowanego scenariusza, składającego się z kroków do wykonania, np. procesu zakupowego od wyszukania produktu, przez dodanie go do koszyka, aż po wykonanie płatności. Podsumowanie Monitoring stron internetowych to narzędzie, które umożliwia stałą kontrolę stanu i wydajności strony. Jego podstawowym zadaniem jest regularne sprawdzanie dostępności strony oraz powiadamianie o wszelkich problemach. Monitoring obejmuje również bezpieczeństwo, funkcjonalność, szybkość działania oraz stan domeny i certyfikatu SSL, co zapewnia, że strona działa bez zarzutu i jest zawsze dostępna dla użytkowników, co zabezpiecza zarówno przed stratami finansowymi jak i wizerunkowymi.\nDobór odpowiedniej usługi do monitoringu uzależniony jest od indywidualnych potrzeb, jednak dobrym nad start będzie monitoring dostępności, szybkości wczytywania się strony oraz monitoring domeny, certyfikatu i bezpieczeństwa.\nSprawdź naszą aktualną ofertę monitoringu na https://ping.pl/. Przetestuj usługę bezpłatnie przez 14 dni lub wybierz darmowy wariant na uproszczony monitoring.\n","permalink":"https://ping.pl/blog/posts/dlaczego-monitoring-stron-internetowych-jest-wazny/","tags":null,"title":"Dlaczego monitoring stron internetowych jest ważny?"},{"categories":null,"content":"Dawniej, aby stworzyć nawet najprostszą stronę internetową, trzeba było wykazać się pewną znajomością technologii webowych oraz posiadać ogólne pojęcie z zakresu komputerów i internetu. Większość rzeczy trzeba było wykonać ręcznie, począwszy od projektowania grafiki, przez programowanie, a na rejestracji adresu, serwera i umieszczeniu plików strony na nim skończywszy. Stronę chciała mieć każda firma, a niewielu umiało zrobić ją samodzielnie. Dlatego na rynku istniało bardzo wiele małych, kilkuosobowych firm oferujących tworzenie stron internetowych lub bardziej rozbudowanych serwisów czy sklepów.\nDziś tworzenie stron internetowych wygląda zupełnie inaczej. Wiele prostych stron jest dosłownie wyklikana w odpowiednich narzędziach. Do przygotowania oryginalnej wizytówki internetowej nie trzeba \u0026ldquo;być z branży\u0026rdquo;, nie trzeba też zgłaszać się do firmy. Mało tego, nawet osoby posiadające doświadczenie w tworzeniu stron internetowych nierzadko korzystają z tego typu narzędzi, bo wiedzą, że efekt będzie podobny, jak gdyby zrobili to samodzielnie, a zaoszczędzą przy tym sporo czasu.\nW tym tekście przyjrzymy się kilku popularnym i sprawdzonym przez autora narzędziom oferującym kompleksowe stworzenie strony internetowej - od samego pomysłu, przez hosting, aż do własnej domeny w internecie.\nWix Jedno z bardziej znanych narzędzi do tworzenia stron internetowych bez konieczności programowania. Ma największą bibliotekę gotowych szablonów stron, które dodatkowo mogą zostać mocno dopasowane do indywidualnych potrzeb (biblioteka szablonów: https://pl.wix.com/website/templates). Strony tworzone w Wix rozbudowuje się za pomocą aplikacji. Aplikacją może być np. rozszerzenie strony o sklep internetowy, system rezerwacji wizyt lub nieruchomości, blog, forum itd. Listę dostępnych aplikacji znajdziesz tutaj: https://pl.wix.com/app-market.\nDarmowy wariant usługi pozwala na spokojne przetestowanie usługi przed jej zakupem, ale ma dość duże ograniczenia. Po przejściu na wyższy plan (od 44 zł miesięcznie) ze strony zniknie reklama, zwiększona zostanie przestrzeń dyskowa do 2 GB oraz możliwe będzie podpięcie własnej domeny do strony.\nDzisiaj wszystko jest wspierane sztuczną inteligencją. Nie inaczej jest w przypadku Wix, który posiada kreator strony oparty o kilka pytań zadanych przez AI. Działa to całkiem dobrze i może być docenione przez osoby używające Wix po raz pierwszy. Dla bardziej doświadczonych użytkowników tej platformy lepsze efekty uzyska się, tworząc stronę na podstawie samodzielnie wybranego szablonu.\nTutaj moja próba stworzenia strony internetowej wypożyczalni motocykli:\nOraz jej efekt:\nWix automatycznie wybrał szablon i zaproponował trzy różne opcje kolorystyczne. Dodał sekcję z możliwością rezerwacji motocykla (same pojazdy dodałem już samodzielnie), mapkę, formularz kontaktowy i kilka tekstów wygenerowanych przez AI.\nPodsumowując, Wix pozwoli Ci na stworzenie i opublikowanie strony internetowej. Dzięki licznym rozszerzeniom, będziesz mógł uruchomić system rezerwacji lub sklep internetowy. Kreator Wix jest stosunkowo łatwy w obsłudze, chociaż liczba funkcji może być z początku nieco przytłaczająca. Cena jest nieco wyższa niż u konkurencji, bo zaczyna się od 44 zł miesięcznie (pomijając mocno ograniczoną bezpłatną ofertę).\nHostinger Jeden z większych konkurentów najpopularniejszego na rynku kreatora stron Wix. Proces tworzenia strony jest również wspierany przez AI, który sprawia wrażenie, że działa lepiej niż w Wix. Po wprowadzeniu krótkiego opisu strony naszej przykładowej firmy, jaką jest wypożyczalnia motocykli w Gdańsku, otrzymamy gotową propozycję strony, którą oczywiście w późniejszych krokach możemy dowolnie dostosować do swoich potrzeb:\nHostinger nie posiada bezpłatnej oferty, ale oferuje 30-dniowy zwrot środków, z którego sami skorzystaliśmy - działa. Kreator wydaje się być przyjemniejszy i nieco prostszy w użyciu niż ten w Wix, ale zauważalne jest, że ma mniejsze możliwości. Szkoda, że nie jest dostępny w polskiej wersji językowej.\nZ powodzeniem dodaliśmy system rezerwacji motocykli do naszej strony, ale już nie udało się skonfigurować go w taki sposób, aby czas rezerwacji był dłuższy niż 23 godziny. Jest on jednak w fazie testowej, więc bardzo możliwe, że taka opcja wkrótce będzie dostępna.\nPorównując do kreatora Wix, strona stworzona w Hostinger będzie tańsza w utrzymaniu, bo ok. 27 zł miesięcznie. W momencie pisania tego artykułu dostępna jest promocja obniżająca tę cenę do 13 zł pod warunkiem zakupu na okres dwóch lat. W cenie otrzymamy dostęp do kreatora, utrzymanie strony na serwerze, domenę oraz skrzynkę mailową.\nPodsumowanie W internecie dostępnych jest wiele dobrych kreatorów stron internetowych, które nie wymagają umiejętności programowania. W tym tekście przyjrzeliśmy się dwóm z nich - Wix oraz Hostinger. Pierwszy ma zdecydowanie większe możliwości i z jego pomocą z powodzeniem uruchomimy na stronie sklep czy system rezerwacji. Hostinger również ma dostępne te funkcjonalności, ale już nie tak rozbudowane jak Wix. Jest natomiast prostszy i przyjaźniejszy w obsłudze, a dodatkowo wsparcie sztucznej inteligencji działa tutaj nieco lepiej. Hostinger jest również zauważalnie tańszy niż Wix.\nJeżeli przed Tobą stoi zadanie stworzenia strony internetowej, najlepiej, jeśli wypróbujesz oba narzędzia, zaczynając od kreatora oferowanego przez Hostinger. Dzięki gwarancji zwrotu pieniędzy przez 30 dni nie ryzykujesz ich utraty.\nA może chcesz sprawdzić jeszcze inne kreatory? Sprawdź Webwave lub Webflow.\n","permalink":"https://ping.pl/blog/posts/kreatory-do-szybkiego-tworzenia-stron-www-wix-i-hostinger/","tags":null,"title":"Kreatory do szybkiego tworzenia stron www: Wix i Hostinger"},{"categories":null,"content":"API jest serwisem-interfejsem dostarczającym funkcjonalności na potrzeby działania innego serwisu. Przykładem może być aplikacja z prognozą pogody na urządzenia mobilne, ale również dostępna jako strona internetowa. Niezależnie od miejsca uruchomienia prognozy, źródło danych najczęściej będzie to samo: API.\nNie ma określonego jednego sposobu na pobieranie danych z API, dlatego chcąc zintegrować się z jakimś API, trzeba mieć dostęp do jego dokumentacji, czyli swego rodzaju opisu: jak działa, co daje i w jaki sposób należy z nim rozmawiać. Najpopularniejszym sposobem na wymianę danych z API jest dzisiaj komunikacja po protokole HTTP/S. Zapewnia on dobrą wydajność i łatwość integracji.\nSerwis API można i powinno objąć się monitoringiem, a ponieważ większość API działa na protokole HTTP/S, możemy do tego celu użyć usługi do monitorowania stron internetowych. Na przykładzie wymyślonego serwisu z prognozą pogody pokażę Ci sposób, jak taki monitoring mógłby zostać skonfigurowany w Ping.pl.\nCo z autoryzacją? Większość API wymaga autoryzacji. Dostępnych metod jest wiele, począwszy od prostego dołączania do każdego żądania klucza autoryzacyjnego, przez użycie metody Basic Auth wraz z nazwą użytkownika i hasłem, a skończywszy na autoryzacji poprzez token o określonej trwałości.\nPing.pl ma możliwość wysłania żądania GET i POST z niemal dowolnymi danymi. Dodatkowo, żądania mogą zostać zautoryzowane poprzez dołączenie nazwy użytkownika i hasła (Basic Auth).\nJeżeli API, które chcesz monitorować bazuje na tokenach o określonej trwałości, konieczne będzie zastosowanie skryptu pośredniego. Dowiesz się o nim więcej w ostatnim rozdziale.\nSprawdzenie odpowiedzi Testowanie API to oczywiście nie tylko wysłanie odpowiedniego zapytania do niego, ale również sprawdzenie treści odpowiedzi, czy jest ona zgodna z założeniem. Przy domyślnych ustawieniach Ping.pl sprawdza status odpowiedzi, ale w ustawieniach monitora można wprowadzić listę fraz, które powinny zostać sprawdzone w treści odpowiedzi.\nPierwsza grupa to frazy, które wszystkie powinny znaleźć się w treści odpowiedzi żądania wykonanego podczas testu. Druga grupa fraz zabronionych - żadna z nich nie powinna zostać znaleziona w odpowiedzi. W przypadku przykładowego testu serwisu API do pobierania danych pogodowych, konfiguracja fraz dla metody pobrania prognozy dla Gdańska mogłaby wyglądać następująco:\nJak widzisz na powyższy screenie, podczas definiowania poszczególnych fraz możesz po zaznaczeniu specjalnej opcji skorzystać z wyrażeń regularnych, co znacząco rozszerza możliwości tej funkcji.\nMetody GET, POST i pozostałe Standardowy test dostępności w Ping.pl to żądanie typu GET wysłane na wskazany adres. Z łatwością jednak może zostać ono zamienione na żądanie POST wraz z podaniem danych jakie powinno ono zawierać. Mogą być to dane formularza, JSON lub surowe dane tekstowe:\nObecnie w Ping.pl nie jest możliwe przeprowadzenie testu metodami innymi niż GET i POST. Jeżeli potrzebujesz wykonać zapytanie do API również innymi metodami, rozważ użycie skryptu pośredniego o którym przeczytasz poniżej.\nSkrypt pośredni Skrypt pośredni to kod umieszczony na niezależnym serwerze, którego zadaniem jest przeprowadzenie testów API, których niemożliwe byłoby uruchomienie bezpośrednio w usłudze monitoringu, np. z powodu autoryzacji ze zmiennymi tokenami lub koniecznością wysłania żądań innych niż GET i POST. Usługa monitoringu wówczas co określony czas uruchamia wskazany skrypt i sprawdza jego wynik. Jeżeli będzie on inny niż oczekiwany lub czas jego wykonania będzie zbyt długi, wówczas wysłane zostaną powiadomienia o problemie.\nTaki skrypt może zostać przygotowany w dowolnej technologii i hostowany u dowolnego operatora. Może to być np. plik PHP umieszczony na Twoim serwerze lub funkcja Node.js w chmurze Microsoft Azure lub Google Cloud.\nPrzykład skryptu pośredniego Poniższy skrypt PHP wykona żądanie DELETE i zwróci - w zależności od wyniku - treść SUCCEED lub FAILED:\n$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, \u0026#39;https://example.com/photos/123456\u0026#39;); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, \u0026#39;DELETE\u0026#39;); $result = curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo $httpCode === 200 ? \u0026#39;SUCCEED\u0026#39; : \u0026#39;FAILED\u0026#39;; W ustawieniach monitora wystarczy wprowadzić SUCCEED jako frazę wymaganą w treści monitorowanej strony, a frazę FAILED jako frazę, która w treści strony nie powinna wystąpić.\nUruchom monitoring API na https://ping.pl/.\n","permalink":"https://ping.pl/blog/posts/monitorowanie-api-w-ping-pl/","tags":null,"title":"Monitorowanie API w Ping.pl"},{"categories":null,"content":"Na rynku, zarówno polskim jak i zagranicznym dostępnych jest wiele usług monitorowania stron internetowych. Większość z nich jest płatna, ale niektóre oferują również bezpłatny plan. Nie chodzi tutaj oczywiście o darmowy okres próbny, ale w pełni bezpłatny monitoring bez ograniczeń czasowych. Czym różni się taki monitoring od swojej płatnej odmiany oprócz maksymalnej ilości monitorowanych adresów?\nCzęstotliwość wykonywania testów Monitoring stron polega na regularnym i automatycznym sprawdzaniu poprawności działania strony co określony czas, zazwyczaj co minutę. Wysoka częstotliwość wykonywania testów to szybsze wykrycie problemu na stronie i powiadomienie o nim. Darmowa usługa monitoringu ma często ograniczoną tę częstotliwość, np. do jednego testu na 15 minut. Co to oznacza w praktyce? W niektórych przypadkach o problemie ze stroną dowiemy się nawet z 15-to minutowym opóźnieniem, a o części nie dowiemy się wcale. Dlaczego? Jeżeli niedostępność była krótka, rozpoczęła się i zakończyła pomiędzy poszczególnymi, wykonywanymi co 15 minut testami, to system monitorujący wcale nie zauważy problemu ze stroną. Dlatego jeżeli ważna jest dla Ciebie wysoka dostępność strony, powinieneś wybrać plan oferujący monitoring z wyższą częstotliwością, najlepiej co minutę.\nRodzaje powiadomień Prywatnego użytkownika telefonu wysyłka wiadomości SMS najczęściej nic nie kosztuje lub ich bezpłatna ilość jest wystarczająca. Sprawa ma się jednak inaczej jeżeli chodzi o masową wysyłkę SMS-ów przez firmy. Taka usługa jest płatna i wysłanie każdego SMS-a kosztuje, w szczególności jeżeli są one wysyłane priorytetowym kanałem. Z tego też powodu na próżno szukać darmowej usługi monitoringu strony z bezpłatnymi powiadomieniami SMS. Zazwyczaj powiadomienia w takich przypadkach ograniczone są do wiadomości email, ale to SMS jest skuteczniejszą metodą powiadomień.\nOgraniczenia w funkcjonalnościach Bezpłatny wariant usługi ma też ograniczenia w dostępnych funkcjonalnościach, dlatego przed jego wyborem warto się z nimi zapoznać i zdecydować czy nie będziemy ich potrzebować. Monitorowanie daty wygaśnięcia domeny lub certyfikatu? Monitoring szybkości strony lub procesu? Te przykładowe funkcjonalności nie są dostępne w bezpłatnym monitoringu.\nDla kogo bezpłatny monitoring będzie wystarczający? Każda strona potrzebuje monitoringu, ale czy każda musi być sprawdzana co minutę? Jaki monitoring potrzebuje początkujący bloger lub strona lokalnej parafii? Oczywiście, od przybytku głowa nie boli i najlepszym wyborem byłby monitoring wykonujący testy co minutę, z powiadomieniami SMS oraz uzupełniony sprawdzaniem terminu wygasania domeny i certyfikatu strony. Jednak jeżeli koszt ok. 100 złotych rocznie nie jest w zasięgu właściciela strony to zdecydowanie lepszym pomysłem będzie skorzystanie z darmowego monitoringu niż pozostawienie strony bez opieki. W innych przypadkach lepiej tę jedną kawę miesięcznie wypić w domu niż na mieście i postawić na monitoring o lepszych możliwościach :). Szczególnie w przypadkach gdy nasza strona internetowej jest częścią biznesu. Wówczas jej niedostępność może przełożyć się na przychód biznesu, a jego utracona wartość prawdopodobnie będzie wielokrotnie większa niż koszt usługi monitoringu.\nDarmowy monitoring w Ping.pl Ping.pl jest powstałą w 2014 roku wiodącą usługą monitoringu stron internetowych w Polsce. Od początku oferujemy bezpłatny plan na monitorowanie jednej strony internetowej z częstotliwością wykonywania testów co 15 minut i powiadomieniami email. Plan posiada również pewne ograniczenia jeżeli chodzi o dostępne funkcjonalności, ale nawet z nimi jest to kompletna usługa monitoringu, która znajdzie swoje zainteresowanie wśród blogerów czy właścicieli hobbystycznych witryn.\nDowiedz się więcej o monitoringu stron www na https://ping.pl/.\n","permalink":"https://ping.pl/blog/posts/darmowy-monitoring-stron-jakie-ma-ograniczenia-i-dla-kogo-bedzie-wystarczajacy/","tags":null,"title":"Darmowy monitoring stron. Jakie ma ograniczenia i dla kogo będzie wystarczający?"},{"categories":null,"content":"Oprócz aplikacji uruchamianych w środowisku Node.js, JavaScript jest kodem wykonywanym po stronie klienta, czyli najczęściej przeglądarki internetowej. Z tego też powodu, ewentualne logi zawierające informacje o nieprawidłowym działaniu skryptu dostępne są jedynie w urządzeniu na którym zostały uruchomione - komputerze lub urządzeniu mobilnym.\nIstnieje jednak wiele narzędzi, które uruchomione wraz z naszym skryptem na stronie, reagują na błędy, zapisują je do naszego wglądu i jednocześnie nas o nich informują. W tym artykule przyjrzymy się Sentry. Jest przez nas aktywnie używany w serwisie Ping.pl, którego działanie jest w dużej mierze oparte na kodzie JavaScript. Narzędzie posiada bezpłatną wersję, która w większości przypadków jest wystarczająca.\nSentry Sentry umożliwia monitorowanie błędów zarówno błędy od strony backendowej (np. API) oraz frontendowej (część kliencka, czyli np. strona internetowa). Wachlarz obsługiwanych technologii jest ogromny, poczynając od najbardziej popularnych języków takich jak właśnie JavaScript, .NET, PHP, Python, a skończywszy na mniej popularnych, jak Rust, Kotlin czy Go. Posiada rownież wsparcie nie tylko dla samych języków, ale również dla konkretnych frameworków, m.in.: React, Angular, Django, Rails.\nW tym artykule skupimy się na przetestowaniu Sentry w przypadku monitorowania błędów JavaScript na stronie internetowej.\nInstalacja Sentry Integracja jest prosta i polega na instalacji specjalnej paczki (zalecane jeżeli korzystamy z frameworka, np. React) lub na dodaniu skryptu do kodu strony poprzez tag \u0026lt;script\u0026gt;:\n\u0026lt;script src=\u0026#34;https://js.sentry-cdn.com/bcd64d31432d46c0dc54f2336745b00c.min.js\u0026#34; crossorigin=\u0026#34;anonymous\u0026#34; \u0026gt;\u0026lt;/script\u0026gt; Opcjonalnie możemy wprowadzić dodatkowe dane, które mogą być pomocne podczas diagnostyki problemu, np. id lub email użytkownika. Wówczas w przypadku wystąpienia błędu będziemy mieli dostęp do tych informacji:\n\u0026lt;script\u0026gt; window.sentryOnLoad = function() { Sentry.setUser({ id: 4705, username: \u0026#39;kontakt-pingpl\u0026#39;, email: \u0026#39;kontakt@ping.pl\u0026#39;, }); }; \u0026lt;/script\u0026gt; To czy Sentry został poprawnie zainstalowany najlepiej sprawdzić po prostu wywołując jakiś błąd na stronie, np. próbą uruchomienia nieistniejącej funkcji:\n\u0026lt;input type=\u0026#34;submit\u0026#34; onclick=\u0026#34;itDoesNotExist()\u0026#34; value=\u0026#34;Uruchom test\u0026#34; /\u0026gt; Po chwili od wystąpienia błędu, w panelu Sentry powinien pojawić się nowy rekord:\nAby wydajnie korzystać z Sentry, warto poznać koncepcję statusów oraz akcji, jakie mogą być przeprowadzana na błędach.\nStatusy New: błąd, który został utworzony w ciągu ostatnich 7-miu dni. Ongoing: starszy niż 7-em dni lub ręcznie oznaczony jako sprawdzony Escalating: błąd, którego ilość wystąpień znacząco wzrosła w ostatnim czasie Regressed: oznaczony jako naprawiony, ale wystąpił ponownie Archived: zarchiwizowany - Sentry nie będzie informować o kolejnych jego wystąpieniach Resolved: oznaczony jako naprawiony Akcje Archive: przeniesienie błędu do archiwum (status Archived) na wskazany czas lub dopóki nie zostaną z niego ręcznie usunięte. O błędach znajdujących się w archiwum nie zostaniesz powiadomiony kiedy zostaną ponownie wykryte chyba, że ich liczba wystąpień znacząco wzroście w ostatnim czasie (status Escalating). Wykorzystuj archiwum do utrzymania porządku we wpisach i usunięciu tzw. szumu. Resolve: oznaczenie błędu jako naprawiony (status Resolved) - błąd zostanie ukryty z domyślnego widoku Sentry, ale zostaniesz powiadomiony kiedy wystąpi ponownie (status Regressed). Delete: usunięcie błędu będzie miało taki sam efekt jakby nigdy nie wystąpił. Zniknie z zapisów w Sentry, ale jednocześnie pojawi się w nich ponownie jeżeli wystąpi na stronie. Wykorzystywane w przypadkach kiedy błąd był wynikiem np. przeprowadzanych testów lub świadomych działań dewelopera Poniższy diagram obrazuje sposób w jaki statusy są zmieniane, zarówno w sposób automatyczny jak i ręczny (źródło: dokumentacja Sentry):\nNagranie błędu Fantastyczną funkcją w Sentry jest nagranie obrazujące akcje użytkownika na stronie przed, w trakcie i po wystąpieniu błędu. W celu ochrony prywatności, wszystkie dane tekstowe są zanonimizowane, ale zazwyczaj nie przeszkadza to w zrozumieniu jakie były okoliczności błędu. Nagranie jest ponadto wzbogacone o tekstowy opis akcji użytkownika wraz z lokalizacją elementów z którymi użytkownik wszedł w interakcje.\nCena Sentry posiada darmowy plan, który najprawdopodobniej będzie dla Ciebie wystarczający na początek. Różnice między planami płatnymi są w ilości użytkowników, limicie błędów oraz ilości dostępnych integracji. Najtańszy płatny plan z obsługą wielu użytkowników kosztuje ok. $30 miesięcznie.\nOpinie Według serwisu Capterra Sentry uzyskał ocenę 4.8/5 przy 65 ocenach. Najczęściej jako mocne strony narzędzia oceniający wymieniają:\ndobrą cenę, interfejs i prostotę obsługi dzięki danym jakie dostarcze odnośnie zanotowanego błędy, bardzo ułatwia jego rozwiązanie, aby nie wystąpił ponownie szeroki wachlarz integracji z technologiami, włączając w to frameworki oraz sposoby powiadomień (np. Slack) Jeżeli chodzi o minusy to najczęściej pojawia się informacja o tym, że w Sentry bywa problematyczne kiedy w monitorowanym projekcie mamy do czynienia z bardzo dużą ilością błędów. Błędy niekiedy nie są rejestrowane i ciężko znaleźć te, które są dostępne w systemie.\nMonitorowanie procesu na stronie Ping.pl umożliwia monitoring procesów na stronie według zdefiniowanego scenariusza. Testy w ramach takiego monitoringu uruchamiane są w przeglądarce Chrome, więc strona ładowana jest w całości wraz ze wszystkimi skryptami. Zdefiniuj scenariusz monitorowania kluczowych procesów na Twojej stronie (np. składanie procesu zamówienia lub pozostawienia w swoich danych w formularzu), a zostaniesz powiadomiony o każdym problemie.\n","permalink":"https://ping.pl/blog/posts/jak-monitorowac-bledy-javascript-na-stronie-z-sentry/","tags":null,"title":"Jak monitorować błędy JavaScript na stronie z Sentry?"},{"categories":null,"content":"Uruchom skan szybkości wczytywania strony To powinien być Twój pierwszy krok przed podjęciem kolejnych działań. Uruchom test szybkości strony, który pomoże Ci ocenić wydajność strony i sprawdzić, jak zmieni się ona po wdrożeniu wszystkich ulepszeń.\nWykonanie testu szybkości Istnieje wiele narzędzi do skanowanie stron internetowych pod kątem ich szybkości. Jednym z nich i godnym polecenia jest PageSpeed Insights od Google. Do uruchomienia testu wystarczy wpisać adres strony, nie trzeba niczego instalować. Po wykonaniu testu otrzymamy czytelny raport o stronie, zarówno dla wersji na komputery jak i urządzenia mobilne:\nWynik testu podzielony jest na 4 kategorie:\nWydajność: wydajność strony pod względem jej szybkości ładowania i czasu w jakim gotowa jest do interakcji. Ułatwienia dostępu: określa, w jakim stopniu strona jest dostępna dla użytkowników ze względu na ich niepełnosprawność lub różnorodność sposobów korzystania. Sprawdzone metody: informacja czy strona internetowa spełnia wytyczne dotyczące bezpieczeństwa, skryptów JavaScript, plików graficznych itp. SEO: ocena w jakim stopniu strona przestrzega podstawowych zaleceń dotyczących optymalizacji pod kątem wyszukiwarek (SEO). Zwróć uwagę, że sam wynik testu daje już wiele wskazówek co mogłoby zostać poprawione na stronie, zarówno w celu poprawy jej wydajności jak i zwiększenia dostępności czy optymalizacji SEO. Nie zawsze wprowadzenie wszystkich wymienionych zmian jest możliwe, ale zdecydowanie warto je rozważyć.\nUruchom test kilka razy i zanotuj uśrednioną ocenę swojej strony. Po wykonanych działaniach optymalizujących będziesz mógł wykonać test ponownie i porównać wyniki.\nWłącz kompresję HTTP Dane przesyłane między serwerem, a przeglądarką odwiedzającego stronę powinny być skompresowane. Dzięki temu serwer będzie miał do wysłania nawet do kilkudziesięciu procent mniej danych co z kolei bezpośrednio przełoży się na szybkość ładowania strony.\nTo czy na stronie jest włączona kompresja danych sprawdzisz np. w wyniku testu PageSpeed Insights. Jeżeli kompresja nie jest włączona, zobaczysz stosowną sugestię: Sposób włączenia jest uzależniony od tego z jakiego oprogramowania korzystasz na serwerze. Jeżeli nie zarządzasz samodzielnie swoim serwerem, skontaktuj się ze swoim administratorem.\nZminifikuj kod JS, CSS, HTML Minifikacja kodu polega na usuwaniu wszystkiego, co i tak nie jest potrzebne do zrozumienia i wykonania kodu. Często zmieniane są też długie nazwy zmiennych i funkcji w celu dodatkowej oszczędności finalnego rozmiaru kodu.\nPo przeprowadzonej minifikacji pliki JS, CSS i HTML stają się nieco mniejsze, dzięki czemu szybciej wczytują się w przeglądarce. Pomimo, że minifikacja zwykle zapewnia niewielką poprawę wydajności, nadal jest ważną praktyką.\nJeżeli Twoja strona to zbiór statycznych plików, możesz skorzystać z ręcznego narzędzia do minifikacji kodu, np: https://codebeautify.org/minify-js.\nUżyj CDN CDN to sieć serwerów przechowujących kopie strony internetowej rozmieszczonych w różnych lokalizacjach geograficznych. Kiedy użytkownik odwiedza stronę, CDN dostarcza mu treść z najbliższego serwera, dzięki czemu zmniejsza się czas przesyłania danych przez internet.\nNajwięcej zyskasz z zastosowania sieci CDN jeżeli posiadasz odwiedzających z różnych części świata. Jednym z popularniejszych rozwiązań jest Cloudflare.\nOgranicz liczbę przekierowań Przekierowania choć są bardzo użyteczne, mogą też negatywnie wpłynąć na wydajność strony. Każde przekierowanie wywołuje dodatkowe żądanie serwera, wydłużając czas ładowania strony internetowej.\nupewnij się, że nie wykonujesz niepotrzebnych przekierowań. Dotyczy to zarówno samej strony jak i jej zasobów, np. obrazków, styli czy skryptów. gdy to możliwe, używaj przekierowania stałego 301 (permanent) zamiast tymczasowego 302 (temporary). Przekierowanie stałe jest szybsze. Sprawdź rozmiar i format plików graficznych Sprawdź czy wymiary plików graficznych użytych na stronie nie są niepotrzebnie za duże. Przykładowo, jeżeli logo na Twojej stronie wyświetla się w wymiarach 100x50 pikseli, nawet po uwzględnieniu ekranów o większej gęstości pikseli, nie ma sensu, aby rzeczywiste wymiary grafiki były większe niż 200x100. Sprawdź również format plików - obecnie najpopularniejszy w internecie format PNG można z powodzeniem zastąpić formatem WEBP i zmniejszyć rozmiar nawet o kilkudziesiąt procent.\nPliki graficzne możesz sprawdzić ręcznie, ale istnieje wiele narzędzi robiących to automatycznie, np.: webspeedtest.cloudinary.com. Po wprowadzeniu adresu strony i uruchomieniu testu zobaczysz listę grafik na niej występujących. Narzędzie również zasugeruje Ci co w danej grafice mogłoby zostać poprawione pod kątem uzyskania większej wydajności oraz umożliwi od razu pobranie poprawionych grafik.\nNa powyższym przykładzie widzimy dwie suguestie:\nzmiana format na WEBP zmniejszenie rozmiaru pliku z 676x200 na 186x55 pikseli Po zastosowaniu obu uwag rozmiar pliku zmniejszy się aż o prawie 57%.\nOgranicz wielkość skryptów i arkuszów stylu Czy jesteś pewien, że strona pobiera naprawdę tylko ten kod, który potrzebuje? Zwróć uwagę na duże biblioteki w stylu np. jQuery. Może nie jest wcale potrzebna lub może zostać zastąpiona?\nJeżeli Twoja strona w dużym stopniu opiera się na kodzie JavaScript, rozważ użycie techniki Module Bundling. Polega ona na podzieleniu kodu na moduły w taki sposób, aby odpowiadały one stronom lub rodziną stron w serwisie, np:\nindex.js - moduły główny, zostanie pobrany na każdej stronie w serwisie search.js - moduł wyszukiwaki, pobierany tylko na stronie z wynikami wyszukiwania product.js - moduł produkty, używany tylko na stronie pojedynczego produktu Dzięki takiemu podziałowi na stronie z wynikami wyszukiwania nie będzie pobierany kod strony produktu, który i tak nie jest tam potrzebny.\nUżyj cache przeglądarki Wykorzystanie pamięci podręcznej (cache) przeglądarki to technika polegająca na przechowywaniu w przeglądarce odwiedzającego często pobieranych zasobów, takich jak pliki graficzne, arkusze stylów czy skrypty JavaScript. Dzięki temu zmniejsza się konieczność wielokrotnego pobierania tych zasobów z serwera, co poprawia szybkość działania witryny.\nPrzeglądarka domyślnie zapamiętuje pobrane zasoby, a data ich wygaśnięcia informuje przeglądarkę, jak długo należy przechowywać pliki, zanim pobrane zostaną one ponownie z serwera.\nDzięki modyfikacji daty wygaśnięcia możesz wydłużyć okres przechowywania zasobów przeglądarce i tym samym odciążyć serwer i przyśpieszyć ponowne ładowanie się strony u odwiedzającego. Dwa podstawowe sposoby na zmianę daty wygaśnięcia to:\nPlik .htaccess dla Apache .htaccess jest plikiem konfiguracyjnym serwera Apache. Umieść go w głównym folderze na serwerze, tam gdzie znajduje się plik index.html lub index.php i wklej poniższy kod:\n\u0026lt;IfModule mod_headers.c\u0026gt;\r\u0026lt;FilesMatch \u0026#34;\\.(png|jpg)$\u0026#34;\u0026gt;\rHeader set Cache-Control \u0026#34;max-age=2592000, public\u0026#34;\r\u0026lt;/FilesMatch\u0026gt;\r\u0026lt;FilesMatch \u0026#34;\\.(css)$\u0026#34;\u0026gt;\rHeader set Cache-Control \u0026#34;max-age=86400, public\u0026#34;\r\u0026lt;/FilesMatch\u0026gt;\r\u0026lt;/IfModule\u0026gt; Na powyższym przykładzie zmieniliśmy długoś cache dla wszystkich plików CSS na 1 dzień oraz plików graficznych PNG i JPG na 30 dni. Możesz również użyć innego - bardziej czytelnego - formatu zapisu:\n\u0026lt;IfModule mod_expires.c\u0026gt;\rExpiresActive On\rExpiresByType image/jpg \u0026#34;access 1 month\u0026#34;\rExpiresByType image/png \u0026#34;access 1 month\u0026#34;\rExpiresByType text/css \u0026#34;access 1 day\u0026#34;\r\u0026lt;/IfModule\u0026gt; Serwer nginx Jeżeli korzystasz z serwera nginx, otwórz plik konfiguracyjny strony internetowej i użyj poniższej konfiguracji:\nlocation ~* \\.(jpg|png)$ {\rexpires 1m;\radd_header Cache-Control \u0026#34;public\u0026#34;;\r}\rlocation ~* \\.(css)$ {\rexpires 1d;\radd_header Cache-Control \u0026#34;public\u0026#34;;\r} Nagłówek Cache-Control Możesz też zmienić bezpośrednio wartość nagłówka Cache-Control dla odpowiedzi na żądania, jeżeli masz taką możliwość:\nCache-Control: max-age=2592000, public\nPodana wartość wyrażona jest w sekundach, w tym przykładzie jest to 30 dni. Przez taki okres czasu przeglądarka zapamięta w swojej pamięci pobrany zasób i nie będzie ponownie go pobierać z serwera.\nUżyj cache po stronie aplikacji Odpowiednio użyty cache po stronie oprogramowania uruchomionego na serwerze jest bardzo istotną techniką optymalizacji szybkości ładowania strony. Zależy od niego czas jaki potrzebuje serwer na przeprocesowanie żądania i przygotowanie odpowiedzi. Sposób jego użycia jednak jest ściśle powiązany z oprogramowaniem, dlatego nie ma jednorazowego przepisu na jego wprowadzenie. Jeżeli korzystasz z oprogramowania zewnętrznego, np. platformy do prowadzenia sklepu, najprawdopodobniej cache jest już skonfigurowany.\nNiemniej jednak użycie cache w aplikacji najczęściej sprowadza się do przechowywania w szybkiej pamięci podręcznej serwera (np. z wykorzystaniem Redis) danych, które są często wykorzystywane na stronie. Przede wszystkim będą to dane wyświetlane na stronie głównej. Dzięki temu, aplikacja nie będzie musiała za każdym razem pobierać tych danych z bazy, tylko od razu wykorzysta je do przygotowania odpowiedzi na żądanie.\nOgranicz liczbę zapytań Liczba wysłanych zapytań HTTP ma duży wpływ na szybkość strony internetowej. Co prawda pojedyncze zapytanie HTTP zazwyczaj nie wpływa znacząco na czas ładowania strony, to w momencie, gdy liczba żądań się kumuluje, strona może stać się zauważalnie wolniejsza. Warto więc mieć na uwadzę fakt, że liczy się nie tylko ilość danych do przesłania, ale również z ilu zapytań będą one pochodzić.\nPołącz pliki JS i CSS w jeden Zamiast używać wielu plików JS i CSS, scal je w jeden. Zazwyczaj szybciej zostanie pobrany jeden większy plik niż kilka mniejszych.\nUżyj techniki CSS Sprite Sprite to pojedynczy plik obrazu zawierający wiele mniejszych obrazków. Użyj pozycjonowania CSS, aby w razie wyświetlić części obrazu sprite\u0026rsquo;a, zmniejszając tym samym liczbę ładowanych plików graficznych. Są gotowe i wygodne narzędzia w internecie, który połączą wybrane grafiki w jedną i wygenerują konieczny CSS, np: toptal.com/developers/css/sprite-generator.\nTechnika jest dobra do łączenia mniejszych plików graficznych. Nie używaj jej też przesadnie i nie łącz wszystkich grafik występujących na stronie w jedną.\nOsadzenie małych zasobów w kodzie W przypadku bardzo małych grafik lub krótkich skryptów i stylów możesz osadzić je bezpośrednio w kodzie HTML, np:\n\u0026lt;img src=\u0026#34;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==\u0026#34; alt=\u0026#34;Kropka\u0026#34;/\u0026gt; Zastosuj lazy loading Lazy loading to technika optymalizacji, która polega na odroczeniu ładowania elementów na stronie takich jak obrazy i wideo, do momentu, aż staną się one naprawdę potrzebne. Mówiąc prościej, zamiast ładować całą zawartość strony jednocześnie, przy zastosowaniu techniki lazy loading początkowo ładowana jest tylko część widoczna dla użytkownika. Dodatkowe treści są pobierane i wyświetlane na bieżąco, gdy użytkownik przewija stronę w dół.\nZastosowanie lazy loading jest proste bo jest wspierane obecnie przez wszystkie współczesne przeglądarki i ogranicza się zazwyczaj tylko do dodania atrybutu loading=”lazy” elementom, które mają być objęte tą techniką.\nStale monitoruj szybkość ładowania strony Bez względu na to które z powyższych metod zastosujesz na swojej stronie, dobrym pomysłem będzie stały i automatyczny monitoring szybkości wczytywania się strony. W Ping.pl takie testy wykonywane są nawet co 10 minut z kilku niezależnych lokalizacji w Polsce, co nie tylko da Ci informacje o aktualnej wydajności strony, ale również będziesz wiedział jak jej szybkość ładowania zmienia się na przestrzeni dni i tygodni, a nawet jak pora dnia wpływa na jej prędkość.\nMonitoruj szybkość wczytywania strony na https://ping.pl/.\n","permalink":"https://ping.pl/blog/posts/jak-przyspieszyc-strone-internetowa-10-najlepszych-sposobow/","tags":null,"title":"Jak przyśpieszyć stronę internetową - 10 najlepszych sposobów"},{"categories":null,"content":"Wczoraj uruchomiłeś kampanię reklamową swojego sklepu internetowego. Pracowałeś nad nią przez ostatnie miesiące, inwestując w nią znaczną część swojego budżetu. Wszystko wydawało się dopięte na ostatni guzik: oryginalne materiały graficzne, bezkonkurencyjne promocje, reklamy w prestiżowych lokalizacjach. A jednak… Twoja skrzynka mailowa świeci pustkami. Zamówień brak.\nSprawdzasz sklep kilkakrotnie – wszystko wygląda w porządku. Administrator serwera też nie widzi żadnych nieprawidłowości w logach. W końcu dzwoni telefon. Klient informuje, że nie może złożyć zamówienia – przycisk Zapłać nie działa.\nW tym poradniku pokażę Ci jak skutecznie zminimalizować prawdopodobieństwa, że przydarzy czy się podobna historia. Dzięki poprawnie ustawionemu monitoringu zawsze będziesz pierwszą osobą, która dowie się, że z Twoim sklepem jest coś nie tak. Pokażę Ci również w praktyce jak mógłby wyglądać dobrze przygotowany monitoring sklepu.\nMonitoring dostępności i kodu HTML Zacznijmy od podstaw, czyli od monitorowania dostępności sklepu. Uruchamiany nawet co minutę sprawdzi, czy serwer poprawnie zwraca kod źródłowy strony sklepu. Zapisze również czas odpowiedzi, co pozwoli na sprawdzenie stabilności obciążenia serwera oraz jej zmiany w czasie.\nPodczas konfigurowania monitora typu Strona internetowa polecamy skorzystać z opcji monitoringu treści, która polega na weryfikacji zwróconego przez serwer kodu HTML, np.:\nDzięki takiemu ustawieniu monitora, podczas każdego testu zostanie sprawdzony kod HTML sklepu internetowego pod kątem występowania wymaganych słów oraz słów, które w kodzie nie powinny się znajdować. W wymaganych słowach wprowadź np. nazwę sklepu, która wyświetlana jest w nagłówku sklepu oraz nazwę firmy, która zazwyczaj znajduje się w stopce. Opcjonalnie możesz również podać słowa, które nie powinny znaleźć się w kodzie HTML, np. te, które wyświetlane są w przypadku wystąpienia błędu.\nMonitoring domeny, certyfikatu i bezpieczeństwa Nie należy zapominać o monitorowaniu domeny, certyfikatu SSL i bezpieczeństwa sklepu. Dzięki monitoringu domeny będziesz mógł być spokojny o jej ważność, zostaniesz kilkukrotnie i odpowiednio wcześniej powiadomiony, że konieczne jest jej przedłużenie. To samo dotyczy certyfikatu, ale oprócz jego terminu ważności, warto monitorować również jego poprawność.\nJeżeli chodzi o bezpieczeństwo sklepu to Ping.pl jest zintegrowany z Google Web Risk. Jest to na bieżąco aktualizowany rejestr stron uznanych za niebezpieczne, np. z powodu zainfekowania wirusem, ale nie tylko. Jeżeli adres Twojego sklepu trafi do tego rejestru to możesz być pewien, że automatycznie zniknie on z wyników wyszukiwania Google oraz bardzo prawdopodobne, że po próbie otworzenia go w przeglądarce, zobaczysz taki widok:\nPo usunięciu przyczyny problemu, adres strony Twojego sklepu zostanie usunięty z rejestru. Warto być szybko powiadomionym o fakcie, że strona Twojego sklepu została uznana za niebezpieczna.\nW Ping.pl, monitoring wszystkich tych rzeczy zapewnia monitor typu Kondycja.\nMonitoring szybkości ładowania i wydajności Monitoring typu Szybkość strony to badanie polegające na załadowaniu całej strony w prawdziwej przeglądarce wraz z jej wszystkimi kompontentami i plikami statycznymi (skrypty, obrazki, czcionki, arkusze stylów itp.). Dzięki niemu dowiesz się jaka jest wydajność strony pod kątem szybkości jej ładowania z różnych lokalizacji w kraju oraz jak zmienia się ona w czasie. W przypadku wykrycia, że uśredniony czas ładowania wydłużył się, zostaniesz o tym powiadomiony.\nDodatkowo, Twój sklep zostanie sprawdzony w usłudze Google PageSpeed. Wyszukiwarka Google zwraca uwagę na optymalizacje stron i te o niskiej ocenie wydajności mogą mieć obniżoną pozycje w wynikach wyszukiwania:\nW czytelny sposób będziesz mógł również sprawdzić, które elementy sklepu zajmują najwięcej czasu podczas ładowania i wykorzystać te dane do optymalizacji strony:\nMonitoring kluczowych funkcji sklepu Monitoring funkcjonalny (zwany inaczej monitoringiem wg scenariuszu) to metoda testowania funkcji na stronie internetowej za pomocą przeglądarki oraz symulacji aktywności użytkownika według przygotowanej listy kroków. Przy odpowiednim przygotowaniu scenariusza możesz nawet raz na 10 minut sprawdzić czy kluczowe funkcje Twojego sklepu (np. składanie zamówienia lub wyszukiwanie produktów) działają prawidłowo. Z technicznego punktu widzenia testy tego typu praktycznie nie różnią się niczym od testu, który wykonałbyś samodzielnie w swojej przeglądarce.\nDo przygotowania scenariuszu testu wymagana jest podstawowa znajomość konsoli w przeglądarce w celu pobrania selektora elementu na stronie z którym planujemy wejść w interakcje. Zobacz nasz film instruktażowy: https://youtu.be/f37P4irUdaE.\nTest wyszukiwania produktu Wyszukiwarka produktów to jedna z kluczowych funkcji każdego sklepu. Warto więc mieć pewność, że działa ona prawidłowo. Jeżeli posiadasz w swojej ofercie produkt, który zawsze jest dostępny to możesz go użyć do przygotowania takiego testu.\nJako poligon doświadczalny weźmy przykładowy sklep demo dostępny pod adresem: https://demo.e-store.pl. Chcemy, aby nasz test po kolei:\nOtworzył stronę główną sklepu. Wyszukał produkty wg frazy Lego Star Wars. Sprawdził czy pierwszy znaleziony produkt na liście to Lego Star Wars. Sprawdził czy możliwe jest dodanie tego produktu do koszyka. Scenariusz sprawdzający tę funkcję w sklepie mógłby wyglądać następująco:\nMonitor z taką konfiguracją będzie wykonywał zadany scenariusz regularnie, w pełni automatycznie i z różnych lokalizacji geograficznych, nawet co 10 minut. Jeżeli scenariusz nie zostanie wykonany w całości, natychmiast zostaniesz o tym powiadomiony wraz z zrzutem ekranu strony wykonanym podczas przeprowadzania testu.\nTest procesu składania zamówienia Powyższy test możesz dodatkowo rozbudować o złożenie zamówienia na dodany do koszyka produkt:\nKliknij ikonę Koszyk na stronie. Wprowadź dane osoby zamawiającej. Wprowadź takie dane, abyś w panelu do zarządzania zamówieniami wiedział, że dane zamówienie jest testowe i może zostać usunięte. Wybierz formę płatności. Prawdopodobne na potrzeby testu najłatwiejszym wyborem będzie płatność za pobraniem lub płatność tradycyjnym przelewem. Testowanie z uwzględnieniem operatora płatności jest możliwe, ale uzależnione od danego operatora - skontaktuj się z nim i zapytaj czy istnieje możliwość testowania procesu płatności w środowisku produkcyjnym. Złóż zamówienie klikając przycisk Kupuję i płacę Sprawdź czy zamówienie zostało złożone szukając frazy Dziękujemy za złożone zamówienie w odpowiednim miejscu na stronie Wartym przemyślenia jest sposób w jaki będziemy traktować testowe zamówienia, których w zależności od ustawionej częstotliwości wykonywania testów, może być ponad setka dziennie. Idealną sytuacją byłoby, gdyby takie zamówienia były automatycznie usuwane zaraz po ich złożeniu. Sprawdź w swojej platformie na której posiadasz uruchomiony sklep w jaki sposób możesz usunąć testowe zamówienia. Większość platform udostępnia API, dzięki któremu wyszukasz i usuniesz testowe zamówienia.\nUruchom monitoringu swojego sklepu internetowego na https://ping.pl/.\n","permalink":"https://ping.pl/blog/posts/monitorowanie-sklepu-internetowego-jak-uruchomic-i-na-co-zwrocic-uwage/","tags":null,"title":"Monitorowanie sklepu internetowego. Jak uruchomić i na co zwrócić uwagę?"},{"categories":null,"content":"Strona się nie wczytuje Może być wiele przyczyn sytuacji, że po wejściu na adres strony ta się nie wczytuje, począwszy od problemów natury sieciowej, przez błędne ustawienia DNS, a skończywszy na problemach leżących na serwerze lub w samej stronie internetowej.\nProblemy sieciowe Najprościej zacząć od sprawdzenia swojego połączenia z internetem. Na stronie głównej Ping.pl dostępne jest narzędzie do szybkiego przeprowadzenia testu strony z kilku niezależnych od siebie lokalizacji. Dzięki niemu dowiesz się, czy strona nie działa tylko w Twoim przypadku czy też problem leży gdzie indziej. Godny uwagi jest również serwis IsItDownRightNow?, który wyświetli listę najpopularniejszych stron w internecie i ich aktualny status. Jeżeli strona nie działa tylko u Ciebie, spróbuj zrestartować swój router i/lub komputer, aby odświeżyć swoje połączenie z internetem.\nZłe ustawienia DNS DNS jest serwerem - usługą, która zamienia przyjazny dla człowieka adres strony na adres IP. Jeżeli nie działa prawidłowo, strona mimo, że działa poprawnie, nie będzie dostępna po wejściu na jej adres. Sprawdź w swoim systemie operacyjnym z jakich serwerów DNS korzystasz i przywróć domyślne ustawienia lub zmień je na inne, np. na serwery DNS od Google.\nZłe ustawienia rekordów DNS domeny Każda domena powinna mieć ustawione odpowiednie rekordy DNS. Podstawowy rekord A odpowiada za przekazywanie ruchu na wskazany w nim adres IP serwera. Jeżeli masz dostęp do rekordów DNS swojej domeny, sprawdź czy wartość tego rekordu odpowiada adresowi Twojego serwera. W pozostałych przypadkach skontatuj się z administratorem firmy hostingowej z której usług korzystasz.\nSerwer jest nieosiągalny Jeżeli Twój internet działa prawidłowo, ustawienia DNS są poprawne, być może serwer na którym posiadasz stronę z jakiegoś powodu jest nieosiągalny. Zacznij od jego zrestartowania w panelu użytkownika, który otrzymałeś od firmy hostingowej. Jeżeli mimo to, w dalszym ciągu serwer nie odpowiada, może to oznaczać problemy leżące po stronie firmy hostingowej. Skontaktuj się z ich administratorem.\nPrzekroczony czas oczekiwania (timeout) Czasami żądanie o stronę trafia poprawnie do serwera, ale ten potrzebuje zbyt dużo czasu, aby je wykonać i przeglądarka przerywa proces. Może być to spowodowane np. przeciążeniem serwera. Spróbuj go zrestartować, a gdy problem będzie się powtarzać, poszukaj przyczyny w logach na serwerze lub w panelu do zarządzania stroną jeżeli nie masz bezpośredniego dostępu do konsoli serwera.\nZłe ustawienia serwera Serwer może być dostępny, ale ze względu na jego ustawienia nie jest możliwe wczytanie strony. Jeżeli sam skonfigurowałeś serwer z poziomu konsoli upewnij się, że zainstalowałeś na nim odpowiednie oprogramowanie służące do obsługi ruchu http/https (np. Apache lub Nginx) i właściwie skonfigurowałeś lokalizację plików strony na serwerze. W przypadku gdy korzystasz z usługi firmy hostingowej i nie masz dostępu do konsoli serwera, poszukaj odpowiednich ustawień w panelu do zarządzania stroną lub skontaktuj się z administratorem firmy.\nBłędy o kodach od 400 do 499 Kod odpowiedzi w zakresie od 400 do 499 to tzw. client errors czyli błędy wynikające z zapytania, które zostało przez serwer zrozumiane, ale nie może zostać wykonane z rożnych powodów. Jednym z częstych tego typu odpowiedzi jest znana wszystkim odpowiedź 404 Not Found oznaczająca, że serwer nie może wykonać danego zapytania bo odnosi się do zasobu, który nie istnieje.\nPoniżej znajdziesz listę najczęściej występujących błędów z rodziny 4xx oraz co należy zrobić, aby je naprawić:\n400 Bad Request Zapytanie nie może zostać wykonane ze względu na jego nieprawidłową zawartość, np.\nPrzyczyny niewspierany format danych - np. serwer oczekuje danych w formacie JSON, a otrzymuje je jako XML brak wymaganych danych - np. serwer oczekuje podania adresu email w zapytaniu, ale go nie otrzymuje błędny format danych - np. serwer oczekuje podania adresu email w zapytanie, ale otrzymuje go w złym formacie Rozwiązania upewnij się, że wysyłasz wszystkie wymagane przez serwer dane i mają one poprawny format sprawdź czy serwer oprócz kodu 400 nie zwraca również szczegółów w ciele (body) odpowiedzi - często zawarta jest tam informacja o przyczynie odrzucenia zapytania 401 Unauthorized Zapytanie nie może zostać wykonane ponieważ wymagana jest autoryzacja klienta.\nPrzyczyny brak autoryzacji lub z jakiegoś powodu autoryzacja została odrzucona, np. z powodu nieprawidłowych danych lub błędnego sposobu ich przekazania Rozwiązania upewnij się, że przekazujesz w zapytaniu poprawne dane autoryzacyjne upewnij się, że dane autoryzacyjne przekazujesz we właściwy sposób, np. w postaci tokena w nagłówku zapytania lub w jego ciele 403 Forbidden Odpowiedź podobna do 401 Unauthorized z tą różnicą, że serwer wie kto jest odpowiedzialny za zapytanie w konteksie autoryzacji, ale odmawia jego wykonania. Najczęściej występuje w przypadkach gdy zalogowany użytkownik nie ma odpowiednich praw do danego zasobu.\n404 Not Found Zasób o który prosisz w zapytaniu nie istnieje lub np. został usunięty. Sprawdź adres URL zapytania.\n405 Method Not Allowed Niewłaściwa metoda zapytania. Sprawdź czy używasz odpowiedniej metody w zapytaniu, np. GET zamiast POST.\n409 Conflict Zapytanie nie może zostać zrealizowane z powodu konfliktu. Powyższy błąd zazwyczaj występuje w przypadku próby utworzenia zasobu, który już istnieje, np. podczas tworzenia nowego użytkownika, który został już wcześniej utworzony.\n429 Too Many Request Zbyt dużo zapytań w określonym oknie czasowym. Sprawdź czy nie wysyłasz za wiele zapytań do serwera.\nBłędy o kodach od 500 do 599 Błąd z rodziny 5xx oznacza problem po stronie serwera lub strony, która jest na nim uruchomiona. W przeciwnieństwie do błędów 4xx nie jest to błąd klienta, który wysyła zapytanie.\n500 Internal Server Error Chyba najczęsciej spotykany błąd z tej rodziny. Oznacza problem o bliżej nieokreślonej przyczynie. Spowodowany najczęściej przez nieprzewidzany błąd w stronie zainstalowanej na serwerze.\nPrzyczyny błąd strony lub jej nieprawidłowa konfiguracja nieprawidłowa wersja języka na serwerze lub/i brak odpowiedniego oprogramowania na nim zainstalowanego problem z bazą danych. Jeżeli nieodpowiada na żądania strony, ta zwróci najpewniej błąd 500 Rozwiązania najbardziej słusznym rozwiązaniem tego problemu jest sprawdzenie logów strony i samego serwera, które powinny zawierać informacje o jego przyczynie upewnij się, że Twój serwer jest odpowiedni do uruchomienia strony, która jest na nim zainstalowana, np. jeżeli wymaga ona interpretera PHP, sprawdź czy wersja którą posiadasz na serwerze jest zgodna z wymaganiami strony 502 Bad Gateway Niekiedy przed samym serwerem na którym zainstalowana jest strona internetowa lub strona znajduje się serwer pośredni działający na zasadzie proxy. Błąd 5o2 Bad Gateway zwrócony został właśnie przez serwer pośredni ponieważ nie mógł on uzyskać odpowiedzi od docelowego serwera.\nPrzyczyny serwer docelowy jest niedostępny lub nieodpowiada problemy natury sieciowej przez co niemożliwe jest nawiązanie połączenia z serwerem docelowym Rozwiązania być może jest to tylko chwilowy problem - spróbuj na początek odświeżyć stronę, wyczyścić pamięć podręczną przeglądarki lub najlepiej otwórz stronę w trybie incognito. Niekiedy pomocne może okazać się również zrestartowanie Twojego urządzenia sieciowego, np. routera sprawdź logi na serwerze, zarówno te dotyczące strony internetowej jak i samego serwera jeżeli masz taką możliwość, zrestartuj serwer na którym uruchomiona jest strona internetowa. Ponowne uruchomienie wszystkich komponentów serwera może rozwiązać ten problem 503 Service Unavailable Najczęściej oznacza przeciążenie serwera i oznacza, że zapytanie można spróbować wysłać ponownie za jakiś czas.\nPrzyczyny serwer jest aktualnie przeciążony aktualnie prowadzone prace serwisowe na serwerze lub na stronie zainstalowanej na nim Rozwiązania sprawdź obciążenie serwera w panelu do zarządzania serwerem lub z poziomu konsoli jeżeli masz do niej dostęp. Zwróć uwagę na takiej wskaźniki jak: AVG Load, CPU, RAM, I/O upewnij się, że w panelu do zarządzania serwerem nie ustawiłeś go w tryb serwisowy jeżeli pozrestartuj serwer Uruchom automatyczny monitoring strony Wypróbuj nasze https://ping.pl/, aby otrzymać powiadomienia email/SMS o jakichkolwiek problemach z dostępnością swojej strony. Usługa jest bezpłatna dla uproszczonego monitoringu jednej strony.\n","permalink":"https://ping.pl/blog/posts/najczestsze-przyczyny-niedostepnosci-strony-internetowej/","tags":null,"title":"Najczęstsze przyczyny niedostępności strony internetowej"},{"categories":null,"content":"Chrome Przeglądarka Chrome dla większości wydaje się być pierwszym i oczywistym wyborem, co potwierdzają statystyki. Według serwisu statcounter posiada obecnie prawie 65% udziału w rynku przeglądarek, ale czy to wystarczający dowód na to, że jest to najlepsza dostępna opcja?\nChrome jest rozwijana przez Google i oparta o silnik Chromium (Edge i Opera również z niego korzystają) udostępniany na zasadach open-source. Dzięki swojej popularności daje gwarancje, że strony i aplikacje uruchamiane w przeglądarce będą działały poprawnie i optymalnie. Dla większości bowiem twórców stron Chrome jest przeglądarką, której poświęcają najwięcej uwagi podczas testów. Również ze względu na swoją popularność dostępna jest do niej największa ilość wtyczek, rozszerzeń i motywów. Większość programistów ponadto uważa, że posiada najlepsze narzędzia deweloperskie ułatwiające tworzenie oraz debuggowanie stron i aplikacji internetowych.\nIstotną wadą natomiast może być polityka Google, która obejmuje m.in. zmiany utrudniające działanie rozszerzeń blokujących reklamy (ad-block) oraz wprowadzenie mechanizmów śledzenia ruchu i działań użytkownika w internecie w celu profilowania reklam.\nFirefox Przeglądarka z w pełni otwartym kodem źródłowym. Od początku swojego istnienia ukierunkowana w stronę prywatności i bezpieczeństwa. Wspiera wszystkie aktualne technologie, chociaż przez swój mniejszy udział w rynku (ok 3%) oraz tego, że posiada swój własny silnik, niszowe i gorzej przetestowane strony czy aplikacje mogą wyglądać nieco inaczej niż np. w Chrome.\nJako jedyna posiada mechanizm pozwalający na izolację poszczególnych zakładek co pozwala np. na zalogowanie się do kilku kont do tej samej strony bez konieczności używania trybu prywatnego. Ma również wbudowany menedżer haseł pozwalający na bezpieczne przechowywanie danych i ich synchronizację z wieloma urządzeniami. Sama synchronizacja między urządzeniami działa bardzo dobrze i świetnie sprawdza się np. w przypadku gdy na komputerze dostrzeżemy interesujący artykuł, ale nie mamy czasu na przeczytanie go od razu. Dzięki wbudowanej integracji z Pocket i trybu do czytania możemy wygodnie wrócić do artykułu na innym urządzeniu, np. na telefonie.\nFirefox ponadto łatwo daje się dopasować do swoich potrzeb, dostępnym jest wiele motywów oraz rozszerzeń. Na uwagę zasługuje również specjalnie wersja przeglądarki przeznaczona dla deweloperów Firefox Developer Edition, która zawiera więcej narzędzi deweloperskich niż standardowa wersja.\nSafari Dostępna tylko na urządzeniach marki Apple. Działająca na silniku WebKit, rozwiązaniu będącym udostępnianym na zasadach open-source. Według serwisu caniuse.com posiada najmniejsze wsparcie HTML, CSS i JS. Różnice nie są jednak znaczące i przy typowym korzystaniu z internetu nie sprawi to żadnych problemów. Bardzo szybka, lekka i świetnie integruje się z innymi funkcjami systemów od Apple, np. z wbudowanym menedżerem haseł. Synchronizacja pomiędzy różnymi urządzeniami od tej firmy działa również bardzo dobrze.\nMniej lubiana przez deweloperów przez swoje niekiedy \u0026ldquo;inne\u0026rdquo; działanie i gorsze wsparcie technologiczne. Narzędzia deweloperskie mniej przyjazne niż te dostępne w innych przeglądarkach.\nEdge Obecnie domyślna przeglądarka dostępna w systemie Windows, która zastąpiła Internet Explorer. Posiada ponad 5% udziału w rynku, ale dzięki temu, że również oparta jest o silnik Chrome, gwarantuje kompatybilność, poprawność wyświetlania i działania stron oraz aplikacji. Bardzo dobrze integruje się z innymi programami w Windows, w szczególności z Outlook i pakietem Office. Posiada wiele interesujących funkcji bez konieczności pobierania zewnętrznych rozszerzeń, np. zrzut ekranu całej strony, integracja z czatem AI od Microsoft, personalizowana strona startowa, czytanie na głos zawartości strony.\nWyróżnia się szybkością działania, niskim zużyciem pamięci RAM i przestrzeni dyskowej. Dzięki temu, że bazuje na silniku Chromium, oferuje równie dobre narzędzia deweloperskie co Chrome. Dostępnym jest do niej również wiele rozszerzeń i wtyczek.\nOpera Innowacyjna, oferująca wiele interesujących funkcji przeglądarka bazująca na silniku Chromium co daje gwarancje poprawności działania stron i wsparcia najnowszych standardów. Przykłada dużą wagę do bezpieczeństwa i prywatności, posiada wbudowaną, bezpłatną możliwość połączenia się z serwerem VPN. Wyróżnia ją ponadto zintegrowany mechanizm blokujący reklamy (ad-block), który oprócz blokowania reklam blokuje również potencjalnie niebezpieczne skrypty i trackery.\nPosiada też personalizowany ekran startowy, świetny przelicznik walut (wystarczy zaznaczyć kursorem tekst z obcą walutą, a od razu nad nim zobaczymy równowartość danej kwoty w PLN lub innej ustawionej przez nas waluty), wygodny sposób wyboru plików do przesłania na stronę, pasek boczny, wbudowaną integrację z asystentem AI, portfel do przechowywania kryptowalut.\nKtóra przeglądarka będzie dla mnie najlepsza? Dla ceniących prywatność Opera i Firefox ze względu na swoją polityką to najlepsi kandydaci na przeglądarkę dla osób, dla których prywatność jest ważnym aspektem. Opera dodatkowo oferuje bezpłatną usługę VPN.\nDla lubiących innowacyjność Opera od zawsze wyróżniała się innowacyjnością i wprowadzaniem funkcji, które długo nie były dostępne w konkurencyjnych przeglądarkach. Przeglądarka Edge również posiada wiele wbudowanych interesujących dodatków. Najmniej dodatkowo wyposażoną przeglądarką jest w zsadzie Chrome, ale dostępnym jest do niej wiele dodatków i rozszerzeń do ściągnięcia.\nDla użytkowników Apple Najlepszy wyborem dla użytkowników urządzeń marki Apple będzie prawdopodobnie Safari, dzięki jej integracji z innymi funkcjami systemu. Nic jednak nie stoi na przeszkodzie, aby skorzystać z innej przeglądarki.\nDla deweloperów Deweloperzy najczęściej wybierają przeglądarkę Chrome lub inną, ale bazującą na silniku Chromium. Powód jest prosty - jest to najpopularniejsza przeglądarka, więc na niej się skupiają w pierwszej kolejności. Do tego do dyspozycji w niej mają również świetne narzędzia deweloperskie, który ułatwiają pracę.\nDla osób starszych Osobom starszych przeglądarką godną zaufania będzie Edge. Jest bezpieczna, lekka, posiada opcję czytania strony na głos, a jej ekran startowy może zostać przygotowany specjalnie dla potrzeb i zainteresowań danego użytkownika.\n","permalink":"https://ping.pl/blog/posts/porownanie-przegladarek-czy-chrome-jest-najlepszym-wyborem/","tags":null,"title":"Porównanie przeglądarek. Czy Chrome jest najlepszym wyborem?"}]