KREATYWNI

... Z NATURY

Więcej o nas

NASZA OFERTA

co robimy ?

Od momentu założenia w 2004 roku, rozwija się bardzo dynamicznie. Dzięki ciągłemu rozszerzaniu świadczonych przez nas usług, stale powiększamy grupę zadowolonych klientów. To co przekonało naszych klientów to nasza elastyczność i uwzględnianie ich indywidualnych potrzeb.

Strony internetowe
optymalizacja seo

Strona WWW jest głównym źródłem informacji i interaktywnym środowiskiem kontaktu z klientem.

Czytaj więcej

SKLEPY INTERNETOWE PRESTASHOP

Nowoczesne, funckjonalne i łatwe w obsłudze rozwiązanie e-commerce dostosowane do Twoich potrzeb.

Czytaj więcej

SEO /SEM
audyty

Zwiększanie widoczności strony, podniesienie pozycji w wyszukiwarce Google. Pozycjonowanie sklepów internetowych - SEO PrestaShop. Audyty SEO.

Czytaj więcej
Strona WWW jest głównym źródłem informacji i interaktywnym środowiskiem kontaktu z klientem. Jest to równocześnie najtańszy sposób zareklamowania się szerokiemu gronu klientów i kontrahentów. Jakie funkcje powinna spełniać Twoja strona internetowa?

PORTFOLIO

Nasze prace

Awaryjne wyłączenie wysyłki maili w WordPressie

Czasami podczas pracy nad stroną WordPress zachodzi potrzeba pilnego zatrzymania wysyłki wszystkich wiadomości e-mail. Może być to konieczne podczas naprawy błędu, problemów z bezpieczeństwem lub nagłego ataku spamerów.

Jak szybko wyłączyć wysyłkę maili w WordPressie?

WordPress umożliwia błyskawiczne wyłączenie wszystkich wiadomości e-mail za pomocą jednej linijki kodu w pliku functions.php w motywie lub poprzez wtyczkę snippetów:

add_filter('pre_wp_mail', '__return_true');

Ten prosty filtr całkowicie blokuje wysyłkę e-maili, powodując że WordPress nie będzie już wysyłać żadnych wiadomości, niezależnie od ich typu (powiadomienia, wiadomości z formularzy, itp.).

Kiedy stosować takie rozwiązanie?

Awaryjne wyłączenie maili może pomóc w sytuacjach:

  • gdy zauważysz, że Twój serwer zaczyna wysyłać dużą liczbę niekontrolowanych maili,
  • podczas ataków spamowych lub gdy formularze kontaktowe są nadużywane,
  • jeśli pracujesz na środowisku testowym i nie chcesz wysyłać maili do rzeczywistych użytkowników.

Czy to najlepsze rozwiązanie?

Wyłączenie wysyłki maili powinno być traktowane jako tymczasowy środek bezpieczeństwa, a nie stałe rozwiązanie. Jeśli masz problem z dużą ilością spamu, zdecydowanie lepszym i trwalszym rozwiązaniem będzie zastosowanie skutecznej ochrony typu CAPTCHA (np. reCAPTCHA od Google).

Stosując zabezpieczenie typu CAPTCHA:

  • skutecznie ograniczasz spam i fałszywe wiadomości,
  • zachowujesz podstawową funkcjonalność strony, taką jak formularze kontaktowe,
  • nie tracisz ważnych powiadomień, które mogą być kluczowe dla Twojego biznesu.

Podsumowanie

Awaryjne wyłączenie wysyłki maili w WordPress jest szybkie i skuteczne, ale powinno być używane tylko w sytuacjach wyjątkowych. Na co dzień warto zainwestować w narzędzia zabezpieczające, takie jak CAPTCHA, które zapewnią bezpieczeństwo strony i zachowają komfort użytkowników.

Wybierz rozwiązania skuteczne, trwałe i bezpieczne!

Jak usunąć sierotki w WordPressie? Automatyczna poprawa typografii

Czym są sierotki i dlaczego warto je usuwać?

Sierotki to pojedyncze, krótkie słowa (np. „i”, „a”, „w”), które zostają na końcu linii w tekście. Z punktu widzenia estetyki i poprawnej typografii warto je eliminować, aby treść wyglądała profesjonalnie i była łatwiejsza do czytania.

W WordPressie można to zrobić automatycznie, dodając odpowiednią funkcję do pliku functions.php. W tym wpisie pokażę Ci, jak to zrobić!

Automatyczne usuwanie sierotek w WordPressie

1 Dodanie funkcji do functions.php

Aby dodać automatyczne usuwanie sierotek w treści wpisów, tytułach i widżetach, wystarczy wkleić poniższy kod do pliku functions.php Twojego motywu:

function usun_sierotki($text) {
    $sierotki = array(
        'i', 'a', 'o', 'u', 'w', 'z',
        'na', 'po', 'za', 'do', 'od', 'we', 'ze', 'ku', 'pod', 'bez',
        'czy', 'ale', 'lub', 'oraz', 'ani', 'więc', 'gdy', 'bo', 'lecz'
    );

    foreach ($sierotki as $sierotka) {
        $text = preg_replace('/\s(' . $sierotka . ')\s/iu', ' ' . $sierotka . ' ', $text);
    }

    return $text;
}

add_filter('the_title', 'usun_sierotki', 10);
add_filter('the_content', 'usun_sierotki', 10);
add_filter('widget_text', 'usun_sierotki', 10);

2 Jak działa ten kod?

Tworzymy listę słów, które nie powinny pozostawać na końcu linii.

Zastępujemy zwykłą spację twardą spacją ( ), dzięki czemu te słowa zawsze zostaną przeniesione do nowej linii razem z kolejnym wyrazem.

Kod działa w tytułach wpisów, treści wpisów i widżetach tekstowych.

3 Jakie są zalety tego rozwiązania?

✅ Automatycznie poprawia estetykę tekstu bez ręcznej edycji.
✅ Działa na całym WordPressie, więc nie trzeba ręcznie poprawiać każdego wpisu.
✅ Nie wpływa negatywnie na wydajność strony.
✅ Możesz łatwo dodać inne słowa do listy sierotek.

Opcjonalne rozszerzenia

Jeśli chcesz, aby usuwanie sierotek działało również w komentarzach, fragmentach wpisów i opisach kategorii, dodaj te dodatkowe linijki:

add_filter('the_excerpt', 'usun_sierotki', 10); 
add_filter('comment_text', 'usun_sierotki', 10); 
add_filter('term_description', 'usun_sierotki', 10); 

Dzięki tej prostej funkcji możesz poprawić wygląd tekstu w WordPressie i uniknąć sierotek, które psują estetykę treści. To proste rozwiązanie sprawi, że Twoje artykuły będą wyglądały bardziej profesjonalnie i czytelnie.

Nowa Ustawa o WCAG 2.1 – Kto musi dostosować swoją stronę?

Ustawa z dnia 26 kwietnia 2024 r. o zapewnianiu spełniania wymagań dostępności niektórych produktów i usług przez podmioty gospodarcze.

  • Data ogłoszenia: 15 maja 2024 r.
  • Data wejścia w życie: 28 czerwca 2025 r.
  • Status aktu prawnego: Oczekujący na wejście w życie
  • Organ wydający: SEJM
  • Organ zobowiązany: Prezes Rady Ministrów

W czerwcu 2025 roku wchodzi w życie ustawa o zapewnianiu spełniania wymagań dostępności cyfrowej, oparta na dyrektywie European Accessibility Act (EAA). Nakłada ona obowiązek dostosowania stron internetowych i aplikacji mobilnych do standardów WCAG 2.1 na poziomie AA. Poniżej znajduje się szczegółowa tabela, kto musi spełniać wymagania ustawy, a kto jest z nich zwolniony.

Sprawdź, czy musisz wdrożyć WCAG

PodmiotCzy musi spełniać WCAG 2.1?Uwagi
Podmioty publiczne (urzędy, szkoły, szpitale itp.)✅ TakObowiązek istnieje od 2019 r. dla instytucji publicznych.
Banki i instytucje finansowe✅ TakObejmuje serwisy bankowe, aplikacje mobilne, systemy logowania.
Sklepy internetowe (e-commerce)✅ TakObowiązek dla wszystkich sklepów internetowych B2C.
Firmy telekomunikacyjne✅ TakDotyczy stron i aplikacji operatorów telefonicznych, dostawców internetu.
Firmy transportowe (linie lotnicze, kolej, komunikacja miejska itp.)✅ TakDotyczy stron i aplikacji do zakupu biletów, rezerwacji itp.
Dostawcy energii, wody, gazu✅ TakObejmuje platformy obsługi klienta.
Firmy zajmujące się e-bookami i e-publikacjami✅ TakDotyczy portali sprzedających e-booki, audiobooki.
Portale zdrowotne (przychodnie, telemedycyna, apteki internetowe)✅ TakDotyczy e-recept, telekonsultacji, dostępu do wyników badań.
Platformy edukacyjne (kursy online, e-learning)✅ TakObowiązek dla serwisów e-learningowych, uniwersytetów.
Platformy streamingowe (filmy, muzyka)✅ TakDotyczy platform z filmami, muzyką, audiobookami.
Serwisy ogłoszeniowe (nieruchomości, motoryzacja)✅ TakObejmuje platformy sprzedaży ogłoszeń dla konsumentów.
Małe firmy (do 10 pracowników i obrót < 2 mln euro)❌ Nie**Mogą być zwolnione, jeśli wykażą „nieproporcjonalne obciążenie” kosztami dostosowania.
Strony prywatne (blogi, portfolio, strony hobbystyczne)❌ NieBrak obowiązku.

Nowe przepisy mają na celu zwiększenie dostępności cyfrowej i ułatwienie korzystania z internetu osobom z niepełnosprawnościami. Warto dostosować swoje serwisy już teraz, aby uniknąć konsekwencji prawnych oraz zapewnić lepszą jakość użytkowania wszystkim użytkownikom.

Realizujemy audyty WCAG 2.1 dostępności cyfrowej oraz wdrożeniach standardów WCAG 2.1 na stronach internetowych. Pomagamy firmom i instytucjom dostosować serwisy www do wymogów nowej ustawy o dostępności cyfrowej, zapewniając zgodność z European Accessibility Act (EAA).
Co oferujemy?

✅ Audyt dostępności strony – sprawdzamy zgodność z WCAG 2.1 AA
✅ Wdrożenia dostosowań – poprawki kodu, ulepszenia UX/UI
✅ Szkolenia i konsultacje – pomagamy zrozumieć obowiązki prawne
✅ Stałe wsparcie – monitorujemy zmiany i pomagamy w długofalowym utrzymaniu dostępności

Dzięki naszym usługom Twoja strona będzie przyjazna dla wszystkich użytkowników, zgodna z przepisami oraz lepiej widoczna w wyszukiwarkach (SEO). Skontaktuj się z nami, aby dostosować swoją stronę do nowych wymagań!

Kolory: HEX, CMYK i RGB

Kolory to kluczowy element każdego projektu graficznego i wizualnego. Bez względu na to, czy tworzysz stronę internetową, projektujesz logo czy przygotowujesz materiały do druku, zrozumienie różnych przestrzeni kolorów, takich jak HEX, CMYK i RGB, jest niezbędne. W tym artykule wyjaśniamy, czym są te modele kolorów, jak działają i kiedy warto je stosować.

1. Co to są kolory HEX?

Definicja HEX

HEX (skrót od Hexadecimal) to sześciocyfrowy kod, który reprezentuje kolor w formacie cyfrowym. Jest powszechnie stosowany w projektach internetowych i aplikacjach cyfrowych, ponieważ każdy kolor HEX jest kompatybilny z przeglądarkami internetowymi i CSS.

Struktura kodu HEX

Każdy kolor w formacie HEX jest zapisany jako:

#RRGGBB

RR – komponent czerwony (Red)

GG – komponent zielony (Green)

BB – komponent niebieski (Blue)

Każda para cyfr (od 00 do FF) określa intensywność danego koloru.

Przykłady kolorów HEX

  • Biały: #FFFFFF
  • Czarny: #000000
  • Czerwony: #FF0000
  • Niebieski: #0000FF
  • Zielony: #00FF00

Zastosowanie HEX

Prace związane z grafiką cyfrową.

Projektowanie stron internetowych (HTML, CSS).

Tworzenie interfejsów użytkownika (UI).

2. Co to są kolory RGB?

Definicja RGB

RGB (Red, Green, Blue) to model kolorów używany do wyświetlania kolorów na ekranach, takich jak monitory, telewizory czy smartfony. Opiera się na zasadzie addytywnego mieszania kolorów – łączenie czerwonego, zielonego i niebieskiego światła tworzy różne barwy.

Struktura RGB

W modelu RGB każdy kolor jest zdefiniowany przez trzy wartości w zakresie od 0 do 255:

rgb(R, G, B)
  • R – ilość czerwieni.
  • G – ilość zieleni.
  • B – ilość niebieskiego.

Przykłady kolorów RGB

  • Biały: rgb(255, 255, 255)
  • Czarny: rgb(0, 0, 0)
  • Czerwony: rgb(255, 0, 0)
  • Zielony: rgb(0, 255, 0)
  • Niebieski: rgb(0, 0, 255)

Zastosowanie RGB

  • Grafika cyfrowa i multimedia.
  • Projekty przeznaczone na ekrany.
  • Animacje, filmy i gry komputerowe.

3. Co to są kolory CMYK?

Definicja CMYK

CMYK (Cyan, Magenta, Yellow, Key/Black) to model kolorów używany w druku. W przeciwieństwie do RGB, który jest modelem addytywnym, CMYK działa na zasadzie subtraktywnej – kolory są tworzone przez odejmowanie światła od białego podłoża (np. papieru).

Struktura CMYK

Każdy kolor w modelu CMYK jest reprezentowany przez cztery wartości w procentach:

cmyk(C%, M%, Y%, K%)
  • C – cyjan (błękit).
  • M – magenta (purpura).
  • Y – żółty.
  • K – czarny.

Przykłady kolorów CMYK

  • Biały: cmyk(0%, 0%, 0%, 0%) (brak farby na papierze).
  • Czarny: cmyk(0%, 0%, 0%, 100%).
  • Czerwony: cmyk(0%, 100%, 100%, 0%).
  • Niebieski: cmyk(100%, 100%, 0%, 0%).
  • Zielony: cmyk(100%, 0%, 100%, 0%).

Zastosowanie CMYK

  • Materiały drukowane: ulotki, plakaty, wizytówki, katalogi.
  • Poligrafia i przygotowanie do druku.
  • Projektowanie opakowań.

4. Porównanie modeli kolorów: HEX, RGB i CMYK

CechaHEXRGBCMYK
DefinicjaSześciocyfrowy kod koloru w zapisie szesnastkowym.Model koloru oparty na świetle – Red, Green, Blue.Model koloru stosowany w druku – Cyan, Magenta, Yellow, Key (Black).
Struktura zapisu#RRGGBB – np. #FF0000rgb(R, G, B) – np. rgb(255, 0, 0)cmyk(C%, M%, Y%, K%) – np. cmyk(0%, 100%, 100%, 0%)
Zakres wartości00–FF dla każdego z trzech składników (RR, GG, BB)0–255 dla każdego koloru (R, G, B)0%–100% dla każdego składnika (C, M, Y, K)
Typ modeluKolor cyfrowy (szesnastkowy)Addytywny (dodawanie światła)Subtraktywny (odejmowanie światła)
ZastosowanieStrony internetowe, aplikacje cyfrowe, UIEkrany: monitory, smartfony, telewizory, multimediaDruk: ulotki, plakaty, wizytówki, opakowania
Przykłady kolorów Biały: #FFFFFF
Czarny: #000000
Czerwony: #FF0000
Niebieski: #0000FF
Zielony: #00FF00
Biały: rgb(255, 255, 255)
Czarny: rgb(0, 0, 0)
Czerwony: rgb(255, 0, 0)
Niebieski: rgb(0, 0, 255)
Zielony: rgb(0, 255, 0)
Biały: cmyk(0%, 0%, 0%, 0%)
Czarny: cmyk(0%, 0%, 0%, 100%)
Czerwony: cmyk(0%, 100%, 100%, 0%)
Niebieski: cmyk(100%, 100%, 0%, 0%)
Zielony: cmyk(100%, 0%, 100%, 0%)

5. Jak konwertować między modelami kolorów?

HEX do RGB:

Kolor zapisany w formacie HEX (szesnastkowym) wygląda tak: #RRGGBB, gdzie:

  • RR: komponent czerwony (Red),
  • GG: komponent zielony (Green),
  • BB: komponent niebieski (Blue).

Każda para znaków (RR, GG, BB) reprezentuje liczbę szesnastkową, którą należy przekonwertować na liczbę dziesiętną (RGB działa w zakresie 0–255).

Przykład: Konwersja HEX #FF5733 na RGB

  1. Podziel kod HEX na składniki:
    • RR = FF: komponent czerwony.
    • GG = 57: komponent zielony.
    • BB = 33: komponent niebieski.
  2. Przekonwertuj wartości szesnastkowe na dziesiętne:
    FF → 255
    57 → 87
    33 → 51
                
    • FF: (15 × 16) + 15 = 255.
    • 57: (5 × 16) + 7 = 87.
    • 33: (3 × 16) + 3 = 51.
  3. Złóż wynik: Kolor HEX #FF5733 to rgb(255, 87, 51).

RGB do HEX:

Kolor w formacie RGB to zapis w postaci rgb(R, G, B), gdzie:

  • R: wartość czerwieni (0–255),
  • G: wartość zieleni (0–255),
  • B: wartość niebieskiego (0–255).

Konwersja RGB do HEX polega na zamianie każdej liczby dziesiętnej na liczbę szesnastkową.

Przykład: Konwersja RGB rgb(255, 87, 51) na HEX

  1. Przekonwertuj każdy komponent na system szesnastkowy:
    • R = 255: (255 ÷ 16 = 15 reszta 15) → FF.
    • G = 87: (87 ÷ 16 = 5 reszta 7) → 57.
    • B = 51: (51 ÷ 16 = 3 reszta 3) → 33.
  2. Złóż wynik: Kolor RGB rgb(255, 87, 51) to #FF5733.

Podsumowanie:

– **HEX → RGB**: Odczytujemy składniki i zamieniamy je z systemu szesnastkowego na dziesiętny.
– **RGB → HEX**: Zamieniamy każdą wartość z systemu dziesiętnego na szesnastkowy i łączymy w ciąg #RRGGBB.

RGB do CMYK:

  1. Przelicz wartości RGB na skalę od 0 do 1:
    • Dziel każdą wartość RGB przez 255:
    • R_scaled = R / 255
      G_scaled = G / 255
      B_scaled = B / 255
                      
  2. Oblicz wartość K (czarnego):
    • Znajdź maksymalną wartość spośród R_scaled, G_scaled i B_scaled:
    • K = 1 - max(R_scaled, G_scaled, B_scaled)
                      
  3. Oblicz wartość C (cyjanowego):
    • Użyj wzoru:
    • C = (1 - R_scaled - K) / (1 - K), jeśli K ≠ 1
      C = 0, jeśli K = 1
                      
  4. Oblicz wartość M (magenty):
    • Podobnie jak dla C:
    • M = (1 - G_scaled - K) / (1 - K), jeśli K ≠ 1
      M = 0, jeśli K = 1
                      
  5. Oblicz wartość Y (żółtego):
    • Podobnie jak dla C i M:
    • Y = (1 - B_scaled - K) / (1 - K), jeśli K ≠ 1
      Y = 0, jeśli K = 1
                      

CMYK do RGB:

  1. Przelicz wartości CMYK na skalę RGB:
    • Użyj wzorów dla skali od 0 do 1:
    • R_scaled = (1 - C) * (1 - K)
      G_scaled = (1 - M) * (1 - K)
      B_scaled = (1 - Y) * (1 - K)
                      
  2. Przelicz wartości z powrotem na skalę 0–255:
    • Pomnóż każdą skalowaną wartość przez 255:
    • R = R_scaled * 255
      G = G_scaled * 255
      B = B_scaled * 255
                      

Aby przekonwertować kolor w formacie HEX na CMYK, wykonaj następujące kroki:

  1. Przekonwertuj HEX na RGB:

    Rozdziel HEX na komponenty RR, GG, BB, a następnie przekonwertuj każdą wartość szesnastkową na dziesiętną. (Szczegóły opisano w sekcji „HEX do RGB”).

  2. Przelicz wartości RGB na skalę od 0 do 1:
    • Dziel każdą wartość RGB przez 255:
    • R_scaled = R / 255
      G_scaled = G / 255
      B_scaled = B / 255
                      
  3. Użyj formuł subtraktywnych do obliczenia wartości CMYK:
    • Oblicz K (czarny):
    • K = 1 - max(R_scaled, G_scaled, B_scaled)
                      
    • Oblicz C (cyjanowy):
    • C = (1 - R_scaled - K) / (1 - K), jeśli K ≠ 1
      C = 0, jeśli K = 1
                      
    • Oblicz M (magenta):
    • M = (1 - G_scaled - K) / (1 - K), jeśli K ≠ 1
      M = 0, jeśli K = 1
                      
    • Oblicz Y (żółty):
    • Y = (1 - B_scaled - K) / (1 - K), jeśli K ≠ 1
      Y = 0, jeśli K = 1
                      
  4. Przelicz wartości CMYK na procenty:
    • Pomnóż każdą wartość CMYK (C, M, Y, K) przez 100, aby uzyskać wynik w procentach.

Przykład:

Weźmy kolor HEX: #FF5733

  1. Przekonwertuj HEX na RGB:

    #FF5733R = 255, G = 87, B = 51

    Kolor RGB: rgb(255, 87, 51)

  2. Przelicz RGB na skalę od 0 do 1:
    • R_scaled = 255 / 255 = 1
    • G_scaled = 87 / 255 ≈ 0.341
    • B_scaled = 51 / 255 ≈ 0.2
  3. Oblicz wartości CMYK:
    • K = 1 - max(1, 0.341, 0.2) = 1 - 1 = 0
    • C = (1 - 1 - 0) / (1 - 0) = 0
    • M = (1 - 0.341 - 0) / (1 - 0) ≈ 0.659
    • Y = (1 - 0.2 - 0) / (1 - 0) ≈ 0.8
  4. Przelicz wartości CMYK na procenty:
    • C = 0 × 100 = 0%
    • M = 0.659 × 100 ≈ 66%
    • Y = 0.8 × 100 = 80%
    • K = 0 × 100 = 0%

Wynik: CMYK: cmyk(0%, 66%, 80%, 0%)

Zamień Kolor

HEX ↔ RGB

RGB ↔ CMYK

HEX ↔ CMYK

Narzędzie RGB z Suwakami

RGB Suwaki

RGB: rgb(0, 0, 0)

HEX: #000000

CMYK: 0%, 0%, 0%, 100%

Narzędzie CMYK z Suwakami

CMYK Suwaki

CMYK: 0%, 0%, 0%, 0%

RGB: rgb(255, 255, 255)

HEX: #FFFFFF

Czym jest PPI i czym różni się od DPI?

Kalkulator parametrów monitora

W świecie technologii, grafiki komputerowej i druku często spotykamy się z pojęciami PPI oraz DPI. Choć obie jednostki dotyczą rozdzielczości i jakości obrazu, różnią się zastosowaniem i znaczeniem. W tym artykule dowiesz się, czym dokładnie są PPI oraz DPI, jak je stosować, i dlaczego często bywają mylone.

Co to jest PPI?

PPI (Pixels Per Inch), czyli „piksele na cal”, to jednostka określająca gęstość pikseli na ekranie urządzenia, takiego jak monitor, telefon, tablet czy telewizor. Im wyższy PPI, tym więcej pikseli przypada na jeden cal, co skutkuje bardziej szczegółowym i ostrzejszym obrazem.

Jak oblicza się PPI?

PPI oblicza się, biorąc pod uwagę fizyczne wymiary wyświetlacza oraz jego rozdzielczość (liczbę pikseli). Przykładowo, jeśli ekran ma przekątną 10 cali i rozdzielczość 1920×1080 pikseli, obliczenie PPI będzie wyglądać tak:

  • Przekątna w pikselach:
    sqrt(1920^2 + 1080^2) ≈ 2202 pikseli
  • PPI:
    2202 / 10 = 220.2 PPI

Tak obliczone PPI pozwala określić gęstość pikseli na ekranie. Ekrany o wysokim PPI, jak w nowoczesnych smartfonach czy monitorach 4K, mają szczegółowy, wyraźny obraz, podczas gdy ekrany o niższym PPI (np. starsze monitory komputerowe) wydają się bardziej ziarniste.

Co to jest DPI?

DPI (Dots Per Inch), czyli „punkty na cal”, jest jednostką stosowaną głównie w druku, która określa, ile punktów tuszu przypada na jeden cal kwadratowy. W odróżnieniu od PPI, DPI jest miarą gęstości punktów drukowanych przez drukarkę lub ploter.

Dlaczego DPI jest istotne?

DPI wpływa na ostrość oraz jakość wydruku. Im więcej punktów na cal, tym bardziej szczegółowy i gładki będzie wydruk. Na przykład:

  • 300 DPI to standardowa rozdzielczość druku dla wysokiej jakości, odpowiednia dla większości materiałów drukowanych (np. zdjęć, broszur, ulotek).
  • 600 DPI i więcej stosuje się w zaawansowanych drukarkach i urządzeniach przemysłowych, gdzie wymagana jest najwyższa jakość druku.

DPI nie odnosi się do wyświetlania obrazu na ekranie – jest to miara fizyczna, która dotyczy wyłącznie druku. Podobnie jak PPI, wyższe DPI daje bardziej szczegółowe efekty, ale wiąże się z wyższymi wymaganiami co do jakości i szybkości druku.

Dlaczego PPI i DPI są często mylone?

Choć PPI i DPI różnią się zastosowaniem, są do siebie na tyle podobne, że ich znaczenia często się mieszają. Oto główne powody tej zamienności:

  • Ustalanie rozdzielczości: Obie jednostki odnoszą się do „gęstości” obrazu. Zarówno wysoki PPI na ekranie, jak i wysoki DPI w druku oznaczają większą szczegółowość.
  • Grafika cyfrowa: Projektanci graficzni często pracują nad obrazami, które będą wyświetlane zarówno na ekranach, jak i drukowane. Dlatego w programach graficznych, takich jak Photoshop, wartość DPI (lub PPI) jest ustawiana, aby wskazać rozdzielczość końcowego obrazu.
  • Niepoprawne użycie terminów: Wiele urządzeń, jak np. drukarki, mylnie stosuje oba terminy zamiennie w ustawieniach, mimo że technicznie są one różne.

Kiedy używać PPI, a kiedy DPI?

Wybór między PPI a DPI zależy od zastosowania:

  • PPI: Stosuj dla obrazów wyświetlanych na ekranie, jak strony internetowe, aplikacje, zdjęcia na urządzeniach cyfrowych. Wyższy PPI jest wskazany, jeśli zależy nam na jakości obrazu i wyrazistości szczegółów (np. ekrany o dużej rozdzielczości w smartfonach lub monitorach 4K).
  • DPI: Stosuj dla druku, szczególnie przy projektowaniu materiałów do wydruku. Wyższe DPI zapewni bardziej szczegółowy i wyraźny wydruk, co jest kluczowe dla zdjęć i grafiki wysokiej jakości.

Jak PPI i DPI wpływają na jakość obrazu?

Wysokie PPI na ekranie powoduje, że obraz jest ostrzejszy, a szczegóły wyraźniejsze. Przykłady to smartfony z ekranami o wysokiej rozdzielczości, które mają powyżej 300 PPI, zapewniając ostrość obrazu nawet z bardzo bliska.

Wysokie DPI w druku zapewnia gładkie przejścia kolorów i wyraźne szczegóły. Jeśli chcesz wydrukować obraz o wysokiej jakości, najlepiej wybrać DPI na poziomie 300 lub więcej.

Praktyczna wskazówka: Jak ustawić odpowiednią wartość PPI i DPI?

Jeśli przygotowujesz obraz do druku, ważne jest, aby ustawić odpowiednią wartość DPI:

  • Zdjęcia i grafiki na ekran: 72–150 PPI, ponieważ standardowe ekrany mają około 72–150 PPI.
  • Wydruki wysokiej jakości: 300 DPI, co pozwala na uzyskanie szczegółowych i gładkich wydruków.

Jeśli projektujesz grafikę do druku, pamiętaj, aby przygotować plik w odpowiednim DPI – zapisując w 300 DPI, unikniesz rozmycia i niskiej jakości wydruków, nawet jeśli obraz wyświetlany na ekranie wygląda dobrze przy 72 PPI.

Czy warto stosować wyższe wartości PPI niż 72 dla obrazów na ekran?

Przygotowując grafiki na potrzeby wyświetlania na ekranach, warto wiedzieć, że standardowe monitory przez lata były projektowane z myślą o rozdzielczości około 72 PPI. Choć nowoczesne ekrany (jak te w smartfonach czy monitorach 4K) obsługują wyższe PPI, w praktyce większość użytkowników nie zauważy różnicy w jakości przy przekroczeniu tego standardu, zwłaszcza na przeciętnych ekranach komputerów.

Zwiększanie PPI powyżej 72 dla grafik używanych w internecie ma więcej wad niż zalet. Przede wszystkim, pliki obrazów o wyższej rozdzielczości zajmują więcej miejsca na dysku i dłużej się wczytują. Dla użytkowników oznacza to wolniejsze ładowanie strony, co nie tylko wpływa negatywnie na ich doświadczenie, ale także na pozycjonowanie w wyszukiwarkach (SEO). Google i inne wyszukiwarki faworyzują strony z szybkim czasem ładowania, dlatego optymalizacja rozdzielczości grafik jest kluczowa.

W praktyce zaleca się utrzymywanie wartości PPI na poziomie 72–150 dla obrazów na potrzeby internetu. Wyższa wartość nie poprawi zauważalnie jakości na ekranie, a jedynie zwiększy rozmiar pliku, co w konsekwencji pogorszy wydajność strony i obniży jej ocenę w wynikach wyszukiwania. Dla użytkowników internetu liczy się szybkość i efektywność – nie warto przesadzać z rozdzielczością, jeśli nie ma ku temu konkretnego powodu.

Aby lepiej zrozumieć, jak rozmiar pliku wpływa na czas ładowania przy różnych prędkościach internetu, zapraszam do naszego kalkulatora pobierania plików. W prosty sposób możesz sprawdzić, ile czasu zajmie pobranie obrazu przy określonej wielkości pliku i prędkości łącza. Sprawdź, jak zoptymalizować swoje grafiki, aby przyspieszyć ładowanie strony!

Podsumowanie

PPI i DPI to różne jednostki używane do opisu gęstości obrazu. PPI dotyczy ekranów i pikseli, podczas gdy DPI odnosi się do drukarek i punktów tuszu. Wysokie PPI zapewnia ostrą jakość obrazu na ekranie, a wysokie DPI – jakość wydruku. Zrozumienie różnicy między nimi pozwala na wybór odpowiednich ustawień i osiągnięcie lepszej jakości obrazu, zarówno na ekranie, jak i w druku.

BingBot – zbyt intensywne indeksowanie

Czym jest BingBot?

BingBot to internetowy robot indeksujący, używany przez wyszukiwarkę Bing do przeszukiwania i zbierania informacji z witryn internetowych. Jego zadaniem jest odwiedzanie stron WWW, analizowanie ich zawartości i zapisywanie zebranych informacji w indeksie Bing. Dzięki temu wyszukiwarka Bing może dostarczać aktualne i odpowiednie wyniki użytkownikom, którzy szukają informacji online. BingBot jest jednym z wielu „botów” używanych przez wyszukiwarki do indeksowania stron internetowych i jest odpowiednikiem GoogleBot, który wykonuje tę samą funkcję dla wyszukiwarki Google.

Jak działa BingBot?

BingBot działa według ustalonych algorytmów i instrukcji, które kierują jego działaniem podczas indeksowania stron. Główne kroki, jakie wykonuje, to:

  1. Odwiedzanie stron – BingBot regularnie odwiedza strony internetowe, zaczynając od tych najpopularniejszych i najczęściej aktualizowanych.
  2. Pobieranie zawartości – Gdy bot odwiedza stronę, pobiera jej zawartość, analizując tekst, obrazy, linki i inne elementy.
  3. Analiza i indeksacja – Zebrane informacje są następnie analizowane pod kątem jakości, unikalności i zgodności z wytycznymi. Na podstawie tej analizy, zawartość strony jest dodawana do indeksu wyszukiwarki Bing.
  4. Aktualizacja informacji – BingBot regularnie wraca na strony internetowe, aby sprawdzić, czy ich zawartość została zaktualizowana. Jeśli tak, aktualizuje swoje dane, aby w wynikach wyszukiwania pojawiały się najnowsze informacje.

Jeśli korzystasz z CMS PrestaShop na dedykowanym serwerze VPS, mogłeś zauważyć, że robot indeksujący Bing, czyli BingBot (bingbot/2.0), może czasami zbyt agresywnie przeszukiwać twoją stronę. Taka intensywność odwiedzin może powodować nadmierne obciążenie serwera, co z kolei może prowadzić do zawieszania się procesu HTTPD (serwera Apache) i całkowitego przestania działania strony. Całkowita blokada BingBot mogłaby rozwiązać problem przeciążenia, ale jednocześnie obniżyłaby widoczność twojej strony w wynikach wyszukiwania Bing. W takim przypadku najlepszym rozwiązaniem jest dostosowanie częstotliwości indeksowania przez BingBot. W artykule przedstawiamy kroki, które pozwolą ci kontrolować, jak często robot Bing odwiedza twoją stronę.

log bingbot

1. Zweryfikuj swoją stronę w narzędziach dla webmasterów Bing

Aby móc dostosować ustawienia indeksowania, najpierw musisz zweryfikować swoją stronę w Bing Webmaster Tools. Proces weryfikacji wymaga dodania kodu weryfikacyjnego do twojej strony, co można zrobić na kilka sposobów:

  • Dodanie tagu meta do kodu źródłowego strony (na głównej stronie PrestaShop).
  • Wgranie pliku HTML do głównego katalogu serwera.
  • Alternatywnie, możesz skorzystać z Google Search Console, jeśli twoja strona jest tam już zweryfikowana – Bing umożliwia import ustawień z GSC.

2. Znajdź opcję Kontrola przeszukiwania w Bing Webmaster Tools

Po zakończeniu weryfikacji, przejdź do panelu Bing Webmaster Tools i wybierz swoją stronę. Następnie:
Wejdź do zakładki Konfiguracja.
Wybierz Kontrola przeszukiwania.


Ustaw spowolnienie przeszukiwania
W sekcji Kontrola przeszukiwania możesz zmienić intensywność odwiedzin BingBot. Zazwyczaj opcje pozwalają na:


Zmniejszenie szybkości przeszukiwania – co redukuje liczbę żądań wysyłanych przez BingBot na twoją stronę w określonym czasie. Dzięki temu bot będzie mniej obciążał serwer.


Dostosowanie harmonogramu indeksowania – umożliwia ustalenie, kiedy BingBot może przeszukiwać stronę intensywniej, a kiedy wolniej (np. w godzinach nocnych, gdy ruch na stronie jest mniejszy).


Ustawienia te pomogą ci dostosować aktywność BingBot tak, aby nie wpływała negatywnie na wydajność serwera.

Adres adres IP – co to jest?

Przejdź do zagadnienia związanego z adresem IP, które Cię interesuje.

Geolokalizacja adresu IP
Twoje IP – tu dowiesz się jaki jest twój publiczny adres IP
Przelicz IP na postać binarną i odwrotnie
Kalkulator IP v4
Kalkulator IP v6
Klasy adresów IP
IPv4 co to adres IP v4 i jego podział
IPv6 co to jest adres IP v6
Anycast, Unicast i Multicast – wyjaśnienie pojęć
Mechanizmy zarządzania adresami IP

Jaki jest mój adres IP?

Informacje o Twoim połączeniu

Adres IP: Ładowanie…

Przeglądarka i system operacyjny: Ładowanie…

Referer (odniesienie): Ładowanie…

Status HTTPS: Ładowanie…

Host: Ładowanie…

Czas żądania: Ładowanie…

Reprezentacja IP w postaci binarnej

Konwersja IPv4 na binarny

Konwersja binarnego na IPv4

Kalkulator IP

Kalkulator sieci IPv4

Kalkulator sieci IPv6

Konwersja IPv4 na IPv4-mapped IPv6 address

Konwersja IPv4 na IPv4-mapped IPv6

Geolokalizacja adresu IP

Czym jest to narzędzie?

Jest to proste, intuicyjne narzędzie umożliwiające identyfikację kraju, z którego pochodzi dowolny adres IP. Wykorzystując odpowiednie zakresy IP, narzędzie mapuje podany adres do odpowiadającego mu państwa, ułatwiając analizę geograficznego pochodzenia użytkownika lub urządzenia.

To rozwiązanie jest przydatne w wielu sytuacjach, takich jak:

  • Zarządzanie ruchem sieciowym.
  • Blokowanie lub ograniczanie dostępu dla adresów IP spoza wybranych regionów.
  • Analiza bezpieczeństwa i ochrona przed atakami z określonych obszarów geograficznych.
  • Ulepszanie konfiguracji usług, np. serwerów pocztowych czy aplikacji internetowych.

Po co korzystać z tego narzędzia?

  1. Poprawa bezpieczeństwa:
    • Możesz identyfikować adresy IP pochodzące z krajów o wysokim ryzyku cyberataków.
    • Dzięki integracji z zaporami sieciowymi (np. CSF) można łatwo blokować lub ograniczać dostęp do usług dla wybranych regionów.
  2. Zgodność z regulacjami prawnymi:
    • W niektórych przypadkach przepisy prawne wymagają ograniczenia dostępu do usług lub danych w zależności od kraju użytkownika.
  3. Optymalizacja usług:
    • Analiza geograficznego pochodzenia ruchu pomaga w dostosowywaniu treści i usług do specyfiki lokalnego użytkownika.

Jak działa to narzędzie?

Źródło danych: Narzędzie korzysta z bazy danych zakresów adresów IP dostarczanej przez serwis ipdeny.com. Ta baza zawiera precyzyjne informacje o przypisaniu adresów IP do poszczególnych krajów w formacie .zone.

Korzyści z korzystania z bazy IPDeny

  • Szeroka dokładność: Baza zawiera aktualne zakresy IP przypisane do większości krajów na świecie.
  • Łatwość integracji: Dane w formacie .zone są proste w obsłudze, co umożliwia ich łatwą implementację w aplikacjach.
  • Regularne aktualizacje: IPDeny zapewnia możliwość pobierania najnowszych danych, co pozwala unikać problemów związanych z przestarzałymi zakresami IP.

Sprawdzanie kraju na podstawie adresu IP

Klasy adresów IP

Adresy IP są fundamentalnym elementem współczesnych sieci komputerowych, umożliwiając identyfikację i komunikację urządzeń w Internecie oraz w sieciach lokalnych. W niniejszym artykule przedstawimy wyczerpujący podział adresów IP, obejmujący zarówno IPv4, jak i IPv6, oraz różne ich rodzaje, takie jak adresy publiczne, prywatne, multicast, anycast, broadcast, a także mechanizmy takie jak NAT (Network Address Translation) i DHCP.

Adresy IPv4 według klas adresowych

KategoriaZakres / PrzykładOpisPubliczne / Prywatne
Klasa A1.0.0.0 – 126.255.255.255Adresy dużych sieci. Pierwszy oktet identyfikuje sieć, pozostałe są używane do adresowania hostów.Publiczne
Klasa A (Prywatne)10.0.0.0 – 10.255.255.255Adresy prywatne używane w sieciach lokalnych.Prywatne
Klasa B128.0.0.0 – 191.255.255.255Adresy średnich sieci. Pierwsze dwa oktety identyfikują sieć, pozostałe są używane do adresowania hostów.Publiczne
Klasa B (Prywatne)172.16.0.0 – 172.31.255.255Adresy prywatne używane w większych sieciach lokalnych.Prywatne
Klasa C192.0.0.0 – 223.255.255.255Adresy małych sieci. Pierwsze trzy oktety identyfikują sieć, ostatni oktet służy do adresowania hostów.Publiczne
Klasa C (Prywatne)192.168.0.0 – 192.168.255.255Adresy prywatne używane w sieciach lokalnych, często w domowych sieciach Wi-Fi.Prywatne
Loopback127.0.0.0 – 127.255.255.255Adresy do komunikacji z lokalną maszyną, zwykle używane do testów sieciowych.Prywatne
Broadcast255.255.255.255Adres używany do wysyłania pakietów do wszystkich urządzeń w sieci lokalnej.Zarezerwowane
APIPA169.254.0.0 – 169.254.255.255Adresy przydzielane automatycznie przez system operacyjny, gdy nie ma dostępu do serwera DHCP.Prywatne

Adresy IPv6

KategoriaZakres / PrzykładOpisPubliczne / Prywatne
Adresy IPv62001:db8::/32 (przykład)Nowa wersja adresacji IP z większą przestrzenią adresową (128-bitowe adresy).Publiczne / Prywatne
IPv6 Link-Localfe80::/10Adresy IPv6 używane tylko do komunikacji w lokalnej sieci, nie routowane w Internecie.Prywatne

1. Klasyczne klasy adresów IPv4

Protokół IPv4 (Internet Protocol version 4) został podzielony na kilka klas, które określają sposób adresowania urządzeń w sieciach. Najważniejsze z nich to klasy A, B i C, przeznaczone dla różnej wielkości sieci, natomiast klasy D i E mają specjalne zastosowania.

Klasa A

Adresy klasy A, z zakresem od 1.0.0.0 do 126.255.255.255, przeznaczone są dla bardzo dużych sieci. Pierwszy oktet (pierwsza liczba adresu IP) identyfikuje sieć, podczas gdy pozostałe trzy oktety są używane do adresowania hostów. Adresy te mogą być publiczne, umożliwiając bezpośrednią komunikację w Internecie. Istnieje również specjalny zakres prywatnych adresów klasy A, tj. 10.0.0.0 – 10.255.255.255, który jest używany w sieciach wewnętrznych, takich jak sieci firmowe.

Klasa B

Klasa B obejmuje zakres od 128.0.0.0 do 191.255.255.255 i jest używana przez średniej wielkości sieci. W tym przypadku dwa pierwsze oktety identyfikują sieć, a dwa pozostałe służą do adresowania hostów. Adresy publiczne klasy B są powszechnie stosowane w Internecie. Zakres prywatnych adresów klasy B wynosi 172.16.0.0 – 172.31.255.255 i jest często wykorzystywany w większych sieciach lokalnych.

Klasa C

Klasa C, obejmująca zakres od 192.0.0.0 do 223.255.255.255, jest przeznaczona dla małych sieci. Pierwsze trzy oktety identyfikują sieć, a czwarty oktet służy do identyfikacji hostów. Najbardziej znanym prywatnym zakresem adresów klasy C jest 192.168.0.0 – 192.168.255.255, powszechnie stosowany w sieciach domowych, np. w routerach.

Klasa D (Multicast)

Adresy klasy D (zakres 224.0.0.0 – 239.255.255.255) są zarezerwowane dla transmisji multicast. Multicast to metoda przesyłania danych do grupy odbiorców jednocześnie, co jest użyteczne w transmisjach wideo lub audio. W przeciwieństwie do unicastu (gdzie dane są wysyłane do jednego odbiorcy), multicast pozwala na bardziej efektywne zarządzanie przepustowością w dużych sieciach.

Klasa E (Zarezerwowane)

Klasa E, obejmująca zakres 240.0.0.0 – 255.255.255.255, jest zarezerwowana do celów eksperymentalnych i nie jest używana w publicznych sieciach.

2. Specjalne rodzaje adresów IPv4

Loopback

Adresy z zakresu 127.0.0.0 – 127.255.255.255, z których najczęściej używany jest 127.0.0.1, to tzw. adresy loopback. Służą one do komunikacji wewnętrznej maszyny (np. komputera) i umożliwiają testowanie połączeń sieciowych na poziomie lokalnym.

Broadcast

Adres 255.255.255.255 jest używany do wysyłania pakietów do wszystkich urządzeń w sieci lokalnej. To tzw. adres rozgłoszeniowy (broadcast), umożliwiający komunikację typu „jedno-do-wielu” w ramach danej sieci.

APIPA

Zakres adresów 169.254.0.0 – 169.254.255.255 jest przypisywany automatycznie przez system operacyjny w przypadku, gdy urządzenie nie uzyska adresu z serwera DHCP. Adresy te są używane do lokalnej komunikacji między urządzeniami, ale nie są routowane w Internecie.

3. IPv6 – przyszłość adresacji IP

Ze względu na ograniczoną liczbę adresów IPv4 (około 4,3 miliarda), wprowadzono protokół IPv6, który wykorzystuje 128-bitową adresację, co pozwala na niemal nieskończoną liczbę unikalnych adresów (około 3.4×10383.4 \times 10^{38}3.4×1038). Adresy IPv6 są zapisywane jako osiem grup po cztery cyfry szesnastkowe, np. 2001:0db8:85a3:0000:0000:8a2e:0370:7334.

Link-Local (IPv6)

Adresy link-local w IPv6, z zakresu fe80::/10, są używane wyłącznie do komunikacji w lokalnej sieci i nie są routowane w Internecie. Są przydatne do lokalnej komunikacji między urządzeniami.

4. Anycast, Unicast i Multicast

Unicast

Najczęściej używanym rodzajem adresacji IP jest unicast, gdzie dane są przesyłane od jednego nadawcy do jednego odbiorcy. Jest to podstawowy model komunikacji w sieci.

Anycast

Adresy anycast są używane do wysyłania danych do najbliższego odbiorcy z grupy możliwych adresatów. Ten rodzaj adresacji jest używany głównie w serwerach DNS oraz systemach balansowania obciążenia, aby poprawić wydajność i skrócić opóźnienia.

5. Mechanizmy zarządzania adresami IP

NAT (Network Address Translation)

NAT to technologia stosowana w routerach, która umożliwia mapowanie wielu prywatnych adresów IP na jeden publiczny adres IP. Dzięki NAT można ukryć całą wewnętrzną sieć za jednym adresem publicznym, co pozwala zaoszczędzić publiczne adresy IP oraz zwiększa bezpieczeństwo sieci wewnętrznej.

DHCP (Dynamic Host Configuration Protocol)

Protokół DHCP automatycznie przydziela adresy IP urządzeniom w sieci. Zamiast ręcznie konfigurować każdy adres, serwer DHCP przydziela dynamicznie adresy IP na określony czas. Adresy te mogą być zarówno prywatne, jak i publiczne, zależnie od konfiguracji sieci.

Mechanizmy i protokoły adresacji

KategoriaZakres / PrzykładOpisProtokół
Multicast224.0.0.0 – 239.255.255.255Używane do przesyłania danych multicastowych – jednoczesna transmisja do wielu odbiorców.IPv4
AnycastZależny od implementacjiAdresy, które kierują pakiety do najbliższego (w sensie topologicznym) odbiorcy z grupy.IPv4 / IPv6
UnicastZależny od implementacjiTradycyjne adresy używane do komunikacji jeden-do-jednego.IPv4 / IPv6
NAT (Network Address Translation)Zależny od konfiguracjiMechanizm tłumaczenia adresów prywatnych na publiczne w celu ograniczenia zużycia adresów publicznych.IPv4 / IPv6
DHCP (Dynamiczne adresy IP)Zależny od konfiguracjiProtokół przydzielania dynamicznych adresów IP przez serwer DHCP.IPv4 / IPv6

Jak w PrestaShop sprawić, by produkty niedostępne były wyświetlane na końcu?

W sklepie internetowym kluczowe jest odpowiednie prezentowanie produktów – szczególnie istotne jest, aby produkty dostępne były widoczne przed tymi, których obecnie nie ma w magazynie. Ułatwia to klientom zakupy i zwiększa konwersję. Jeśli korzystasz z PrestaShop i chcesz uporządkować produkty w taki sposób, aby dostępne były wyświetlane przed niedostępnymi, można to łatwo osiągnąć, modyfikując odpowiednie zapytanie SQL.

W PrestaShop, w module Filtrów Nawigacyjnych (ps_facetedsearch), można tego dokonać modyfikując plik MYSQL.php znajdujący się w:

\modules\ps_facetedsearch\src\Adapter\MYSQL.php

Domyślne sortowanie produktów

Domyślne sortowanie produktów w PrestaShop odbywa się na podstawie wartości pola, które jest przekazywane do zapytania SQL. Może to być cena, nazwa produktu, data dodania, itd. Wygląda to mniej więcej tak:

$query .= ' ORDER BY ' . $orderField . ' ' . strtoupper($this->getOrderDirection());

Ten fragment kodu tworzy zapytanie SQL, które sortuje produkty według pola zdefiniowanego w zmiennej $orderField oraz kierunku sortowania określanego przez funkcję getOrderDirection().

produktu nie dostępne na końcu kategorii

Modyfikacja sortowania, aby produkty niedostępne były na końcu

Jeśli chcesz zmodyfikować sortowanie, aby produkty niedostępne (czyli takie, których ilość w magazynie wynosi 0) były wyświetlane na końcu listy, możesz dodać do zapytania SQL dodatkowe warunki, które sprawią, że produkty z ilością większą niż 0 pojawią się wcześniej.

Zamiast domyślnego sortowania, modyfikujemy kod na:

$query .= ' ORDER BY (CASE WHEN p.quantity > 0 THEN 1 ELSE 0 END) DESC, ' . $orderField . ' ' . strtoupper($this->getOrderDirection());

Jak działa ta zmiana?

  1. CASE WHEN: To wyrażenie w SQL sprawdza ilość produktu w magazynie (p.quantity). Jeśli ilość jest większa niż 0, zwraca wartość 1 (produkt jest dostępny). Jeśli ilość wynosi 0, zwraca wartość 0 (produkt jest niedostępny).
    • p.quantity > 0: Produkty dostępne (ilość większa niż 0) otrzymują wartość 1.
    • p.quantity = 0: Produkty niedostępne otrzymują wartość 0.
  2. DESC: Dzięki temu produkty z wartością 1 (czyli dostępne) będą wyświetlane na początku listy, a produkty z wartością 0 (niedostępne) będą wyświetlane na końcu.
  3. Dalsze sortowanie: Po posortowaniu według dostępności, zapytanie SQL nadal sortuje produkty według wybranego pola, np. ceny, nazwy czy daty dodania, co umożliwia dalsze precyzyjne uszeregowanie produktów.

Praktyczne korzyści z tej modyfikacji

Wprowadzenie tego typu sortowania jest szczególnie korzystne w dużych sklepach, gdzie produkty często się wyprzedają. Klienci mogą wówczas przeglądać ofertę bez konieczności natrafiania na niedostępne produkty, co minimalizuje ich frustrację i poprawia wrażenia z zakupów. Produkty niedostępne, choć nadal widoczne (jeśli nie zostały ukryte), będą widniały na końcu listy, nie przeszkadzając w przeglądaniu aktualnej oferty.

Jak wprowadzić zmianę w PrestaShop?

Aby wprowadzić tę zmianę w swoim sklepie PrestaShop, wykonaj poniższe kroki:

1 Otwórz plik MYSQL.php w lokalizacji:

\modules\ps_facetedsearch\src\Adapter\MYSQL.php

2 Znajdź fragment kodu odpowiedzialny za sortowanie (zapytanie SQL, które zawiera ORDER BY).

Dla PrestaShop 8.1 w linii 131 instrukcja warunkowa

if ($orderField) { ...

3 Zmień kod sortowania z:

$query .= ' ORDER BY ' . $orderField . ' ' . strtoupper($this->getOrderDirection());

na

$query .= ' ORDER BY (CASE WHEN p.quantity > 0 THEN 1 ELSE 0 END) DESC, ' . $orderField . ' ' . strtoupper($this->getOrderDirection());

Zapisz plik i przetestuj działanie sortowania w sklepie.

Dzięki prostej modyfikacji zapytania SQL w module ps_facetedsearch możesz w swoim sklepie PrestaShop wprowadzić sortowanie, które umieści produkty dostępne w magazynie na początku listy, a niedostępne na końcu. To rozwiązanie ułatwia klientom przeglądanie oferty i zakup produktów, które mogą natychmiast zamówić, co z kolei zwiększa szanse na konwersję i poprawia wrażenia zakupowe.

Jeśli masz pytania dotyczące optymalizacji swojego sklepu w PrestaShop lub potrzebujesz wsparcia przy wdrażaniu powyższych rozwiązań, skontaktuj się z nami! Jesteśmy tu, aby pomóc Ci osiągnąć najlepsze wyniki. Zachęcamy również do zapoznania się z naszym cennikiem, gdzie znajdziesz szczegóły naszych usług i ofert.

Problem z przeciążeniem serwera spowodowanym przez boty: facebookexternalhit i meta-externalagent

Ostatnio na jednym z naszych serwerów VPS, gdzie działał sklep internetowy oparty na PrestaShop, napotkaliśmy poważny problem związany z nadmiernym obciążeniem przez boty. W ciągu zaledwie 1,5 godziny boty z domen związanych z Facebookiem i Meta wygenerowały 2394 zapytań, co doprowadziło do zawieszenia serwera.

Boty odpowiedzialne za problem:

facebookexternalhit/1.1

Jest to bot, który służy Facebookowi do pobierania treści podczas udostępniania linków na platformie. W logach serwera pojawiał się wpis w postaci:

1662 "-" "facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)"

meta-externalagent/1.1

Ten bot działa w podobnym celu, aby pobierać dane do Meta, co znajduje potwierdzenie w jego identyfikatorze w logach serwera:

302 0 "-" "meta-externalagent/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler)"

Skutki

Wskutek nadmiernej liczby zapytań serwer VPS, na którym znajdował się nasz sklep, całkowicie przestał działać. Restart oraz próby przywrócenia usługi nie przyniosły oczekiwanych efektów, a sklep był niedostępny przez dłuższy czas. Stało się jasne, że boty te skutecznie uniemożliwiały prawidłowe funkcjonowanie serwera.

Rozwiązanie

Na początku próbowaliśmy zablokować bota facebookexternalhit bezpośrednio w pliku .htaccess, co często jest zalecaną metodą ograniczania dostępu dla konkretnych user-agentów. Przykładowa reguła, którą dodaliśmy do pliku .htaccess, wyglądała następująco:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTP_USER_AGENT} facebookexternalhit [NC]
    RewriteRule .* - [F,L]
</IfModule>

Jednak z informacji dostępnych na różnych forach i od innych administratorów stron wynika, że bot facebookexternalhit często ignoruje tego rodzaju blokady w pliku .htaccess. Dlatego, aby zapobiec dalszemu przeciążeniu serwera i niestabilności działania strony, zdecydowaliśmy się całkowicie zablokować boty z Facebooka na poziomie firewall, do momentu pełnego wyjaśnienia sytuacji i zapewnienia stabilności serwera.

Ostatecznie problem udało się rozwiązać poprzez blokadę na firewallu konkretnych zakresów adresów IP, z których pochodziły zapytania od botów. Oto zakresy IP, które zostały zablokowane:

  • 173.252.64.0/18
  • 57.141.0.0/24
  • 69.63.176.0/20
  • 66.220.144.0/20
  • 69.63.184.0/21
  • 69.63.176.0/21

Po wdrożeniu tych zmian praca serwera wróciła do normy, a obciążenie spadło do poziomu umożliwiającego normalne funkcjonowanie sklepu.

Wnioski

Z tego doświadczenia możemy wyciągnąć kilka ważnych wniosków:

  1. Monitoring ruchu – Ważne jest, aby regularnie monitorować ruch na serwerze i logi, szczególnie pod kątem botów. Dzięki temu można wykryć potencjalne zagrożenia zanim doprowadzą do przeciążenia.
  2. Ochrona serwera – Firewall jest kluczowym narzędziem w ochronie przed niechcianym ruchem. Warto przygotować reguły blokujące zakresy IP pochodzące od podejrzanych botów.
  3. Boty od dużych platform – Nawet boty od zaufanych i renomowanych platform takich jak Facebook mogą powodować nieprzewidziane problemy, jeśli zbyt intensywnie skanują treści na stronie.

Zadbajmy o zabezpieczenie naszych serwerów, a jednocześnie o monitorowanie ruchu, aby unikać podobnych incydentów w przyszłości.

Pokaż więcej projektów
Zamów wycenę
Polityka prywatności | Regulamin
Pro-link 2005-2020