- Przygotowanie: wymagania, kopia zapasowa i pliki graficzne
- Minimalne wymagania i dostęp do plików
- Kopia zapasowa i porządek w repozytorium
- Format pliku i wytyczne graficzne
- Struktura katalogów i porządek w mediach
- Metoda 1: CSS i hook login_enqueue_scripts (bez wtyczek)
- Najprostszy wariant z własnym stylem
- Rozdzielczości retina i skalowanie RWD
- Ustawienie linku i tytułu (brandingu)
- Metoda 2: Motyw potomny, enqueue i czysty CSS
- Dlaczego motyw potomny
- Obsługa SVG i restrykcje bezpieczeństwa
- Zmiana tła i układu formularza
- Metoda 3: Gotowa wtyczka i konfiguracja krok po kroku
- Kiedy warto użyć wtyczki
- Wybór i instalacja
- Plusy i minusy wtyczek
- Ustawienie linku i tytułu bez kodu
- Metoda 4: Snippety, filtry i scenariusze zaawansowane
- Własny plugin (mu-plugin) i separacja odpowiedzialności
- Filtry core i kolejność wczytywania
- Sieć witryn (Multisite)
- Wydajność: cache, CDN i HTTP/2
- Dostępność: kontrast, fokus i czytniki ekranowe
- Tryb awaryjny i fallbacki
- Rozwiązywanie problemów i dobre praktyki
- Najczęstsze błędy ścieżek i uprawnień
- Konflikty z innymi stylami
- Problemy z cache i CDN
- HTTPS, mieszana treść i nagłówki
- Rozmiar i optymalizacja obrazów
- Przenoszenie między środowiskami
- Bezpieczeństwo i porządek w kodzie
- Checklista końcowa
- Przykłady gotowych snippetów i wariantów wdrożenia
- Wariant prosty: logo z biblioteki mediów
- Wariant rozbudowany: preferencje motywu i dark mode
- Wariant z minimalnym CSS i prostą klasą
- FAQ: najczęstsze pytania praktyczne
- Czy mogę użyć samego Customizera do ustawienia logo logowania?
- Czy zmiana logo wpływa na mechanizmy bezpieczeństwa?
- Jak dodać animację logo?
- Gdzie najlepiej przechowywać grafiki brandingu?
- Co, jeśli aktualizacja WordPress nadpisze styl?
- Jak przetestować wdrożenie?
- Najlepsze praktyki utrzymaniowe
- Standaryzacja i dokumentacja
- Monitorowanie i przeglądy kodu
- Unikanie zbędnych zależności
- Elastyczność poprzez opcje
- Filtry i rozszerzalność
- Kontrola nad aktualizacjami
- Checklisty wdrożeniowe dla różnych ról
- Deweloper
- Projektant
- Administrator
- Szybki start: najkrótsza droga do zmiany logo
- 3 kroki bez dotykania backendu
- Rozszerzenie o link i tytuł
- Gotowe do produkcji
- Dodatkowe wskazówki dla dużych projektów i agencji
- Konfiguracja środowiskowa
- Audyt i white-label
- Standardy plików i polityka assetów
- Dokumentacja dla klienta
- Mechanizmy awaryjne i rollback
- Zgodność prawna i licencyjna
Personalizacja strony logowania to szybki sposób na spójny branding i większe zaufanie użytkowników. Zmiana logo na ekranie logowania w WordPress nie musi oznaczać instalacji ciężkich dodatków – możesz zrobić to czysto, bezpiecznie i w pełni kontrolowanie. Poniżej znajdziesz praktyczne metody: od prostego CSS, przez fragmenty w functions.php, aż po zaawansowane techniki, które uwzględniają wydajność, RWD, retina i brak konfliktów z motywem lub wtyczkami.
Przygotowanie: wymagania, kopia zapasowa i pliki graficzne
Minimalne wymagania i dostęp do plików
Zanim zaczniesz, upewnij się, że masz dostęp do panelu administratora oraz do plików strony przez SFTP/FTP lub menedżer plików hostingu. Przyda się też podstawowa znajomość edycji CSS i plików PHP. Jeśli pracujesz na środowisku produkcyjnym, rozważ wykonanie zmiany najpierw na stagingu, aby uniknąć przestojów i niespodzianek.
Kopia zapasowa i porządek w repozytorium
Wykonaj kopię zapasową motywu i bazy danych. Jeśli używasz systemu kontroli wersji (np. Git), utwórz osobny branch na modyfikacje. Dzięki temu łatwo cofniesz zmiany, a inni członkowie zespołu zobaczą, co zostało wdrożone. Sprawdzaj logi błędów PHP, szczególnie gdy dodajesz własne funkcje, aby szybko wykryć literówki czy konflikty.
Format pliku i wytyczne graficzne
Przygotuj plik graficzny: najczęściej PNG (z przezroczystością) lub SVG (ostre na każdym DPI). Dla PNG polecane są wymiary w okolicach 320×84 px lub podobne panoramiczne. Jeśli planujesz użyć SVG, zweryfikuj ustawienia bezpieczeństwa oraz politykę MIME na serwerze. Unikaj zbyt dużych plików – postaraj się, aby grafika miała poniżej 50–80 kB; przy retina możesz przygotować wariant 2x i użyć background-size.
Struktura katalogów i porządek w mediach
Najlepiej trzymaj logo w katalogu motywu potomnego (np. /wp-content/themes/twoj-motyw-child/assets/img/login-logo.png) albo w bibliotece mediów, jeśli preferujesz prostsze wdrożenie. Nazwij plik jasno (login-logo.png), by za kilka miesięcy było oczywiste, gdzie i dlaczego jest używany.
Metoda 1: CSS i hook login_enqueue_scripts (bez wtyczek)
Najprostszy wariant z własnym stylem
To popularna metoda, która wstrzykuje CSS tylko na stronie logowania. Dodaj do pliku functions.php motywu (najlepiej w motywie potomnym) funkcję rejestrującą style:
// functions.php (motyw/child-theme)
function my_login_logo_style() {
echo '<style id=”my-login-logo”>
body.login div#login h1 a {
background-image: url(/wp-content/themes/twoj-motyw-child/assets/img/login-logo.png);
background-size: contain;
background-position: center center;
width: 320px;
height: 84px;
}
</style>’;
}
add_action(’login_enqueue_scripts’, 'my_login_logo_style’);
Po zapisaniu odwiedź /wp-login.php. Jeśli logo jest za duże/małe, zmień width/height lub użyj background-size: contain/cover. Gdy plik jest w bibliotece mediów, wstaw pełny adres URL (np. https://twojadomena.pl/wp-content/uploads/rok/miesiac/login-logo.png).
Rozdzielczości retina i skalowanie RWD
Dla ostrego wyświetlania na ekranach o wysokim DPI przygotuj wariant 2x i dopasuj CSS:
body.login div#login h1 a { background-image: url(/…/login-logo@2x.png); background-size: 320px 84px; width: 320px; height: 84px; }
@media (max-width: 400px) {
body.login div#login h1 a { width: 70vw; height: auto; background-size: 70vw auto; }
}
Jeśli stosujesz tryb ciemny, możesz przełączać logo z użyciem media query prefers-color-scheme:
@media (prefers-color-scheme: dark) {
body.login div#login h1 a { background-image: url(/…/login-logo-dark.png); }
}
Ustawienie linku i tytułu (brandingu)
Domyślnie kliknięcie logo przenosi na wordpress.org, a tytuł nie nawiązuje do Twojej marki. Skoryguj to filtrami:
// functions.php
function my_login_logo_url($url){ return home_url(’/’); } // link na stronę główną
function my_login_logo_title($title){ return 'Powrót do strony’; } // atrybut title
add_filter(’login_headerurl’, 'my_login_logo_url’);
add_filter(’login_headertext’, 'my_login_logo_title’);
W efekcie logo prowadzi do strony głównej, a atrybut title poprawi dostępność i sens interakcji.
Metoda 2: Motyw potomny, enqueue i czysty CSS
Dlaczego motyw potomny
Aktualizacje motywu nadrzędnego mogą nadpisać Twoje zmiany. Dlatego użyj motywu potomnego. Zdefiniuj style w pliku child-theme/style-login.css i dołącz je wyłącznie na ekranie logowania:
// functions.php (w motywie potomnym)
function my_login_enqueue_assets() {
wp_enqueue_style(’my-login-style’, get_stylesheet_directory_uri() . '/style-login.css’, [], '1.0′, 'all’);
}
add_action(’login_enqueue_scripts’, 'my_login_enqueue_assets’);
W pliku style-login.css dodaj reguły odpowiadające za tło, rozmiar logo i ewentualne animacje. Dzięki temu logika (PHP) i prezentacja (CSS) pozostają rozdzielone, a Ty masz łatwiejsze utrzymanie i wersjonowanie.
Obsługa SVG i restrykcje bezpieczeństwa
Jeśli chcesz użyć SVG, pamiętaj, że domyślnie WordPress blokuje jego upload ze względów bezpieczeństwa. Możesz:
- Użyć SVG jako pliku w motywie (nie wgrywać do biblioteki mediów) i wskazać go przez CSS (background-image: url(’/ścieżka/logo.svg’)).
- Włączyć upload SVG przez filtr mime types i sanitizację (np. przy pomocy dedykowanych rozwiązań). Zadbaj o zaufane źródło pliku i walidację.
SVG daje idealną ostrość i mały rozmiar, ale zawsze traktuj go ostrożnie i testuj na stagingu.
Zmiana tła i układu formularza
Poza samym logo możesz dopasować wygląd całej strony logowania:
body.login { background: #f7f7fb; }
#loginform { border-radius: 12px; box-shadow: 0 10px 30px rgba(0,0,0,.06); }
.login form .input, .login input[type=text] { border-radius: 8px; }
.wp-core-ui .button-primary { background: #1a73e8; border-color: #1a73e8; }
Zachowaj umiar – zbyt agresywne modyfikacje mogą utrudnić dostępność (kontrast, fokus, czytelność).
Metoda 3: Gotowa wtyczka i konfiguracja krok po kroku
Kiedy warto użyć wtyczki
Jeśli nie chcesz dotykać kodu, możesz skorzystać z narzędzi typu white-label. Dobre pluginy oferują podgląd na żywo, personalizację kolorów, formularza, komunikatów i backgroundów. To szybkie rozwiązanie dla osób nietechnicznych lub gdy chcesz przekazać edycję zespołowi marketingu.
Wybór i instalacja
W repozytorium znajdziesz wiele dodatków – szukaj takich, które nie są przeładowane funkcjami i mają aktualne wsparcie. Po instalacji przejdź do ustawień i wgraj plik graficzny. Zazwyczaj krok po kroku wygląda to tak:
- Instalacja i aktywacja – w panelu wtyczek wyszukaj i zainstaluj narzędzie do personalizacji loginu.
- Upload logotypu – wgraj PNG lub SVG, ustaw rozmiar i zachowanie (contain/cover).
- Kolorystyka – dopasuj tło i akcenty kluczowych przycisków.
- Zaawansowane – ustaw link, tytuł, ewentualny dodatkowy tekst pod formularzem.
- Podgląd i zapis – sprawdź wynik w trybie incognito i na urządzeniach mobilnych.
Plusy i minusy wtyczek
Zalety: szybkość wdrożenia, brak ryzyka w kodzie, wizualny edytor. Wady: dodatkowa warstwa do utrzymania, potencjalne konflikty, czasem nadmiar CSS/JS. Jeżeli wydajność jest kluczowa, preferuj lekkie rozwiązania i monitoruj rozmiar generowanych zasobów.
Ustawienie linku i tytułu bez kodu
Lepsze dodatki pozwalają określić, gdzie prowadzi logo i jaki ma atrybut tytułu. Ustaw link na stronę główną lub docelową dla Twoich użytkowników (np. portal klienta). Tytuł powinien krótko wyjaśniać akcję, np. „Powrót do serwisu”.
Metoda 4: Snippety, filtry i scenariusze zaawansowane
Własny plugin (mu-plugin) i separacja odpowiedzialności
Zamiast modyfikować motyw, możesz utworzyć mini-wtyczkę (np. /wp-content/mu-plugins/custom-login-branding.php), dzięki czemu personalizacja nie zniknie przy zmianie motywu. To podejście sprawdza się w zespołach, gdzie motywy są aktualizowane niezależnie od brandingu.
// mu-plugins/custom-login-branding.php
<?php
/*
Plugin Name: Custom Login Branding
Description: Logo i branding ekranu logowania.
*/
add_action(’login_enqueue_scripts’, function(){
echo '<style> body.login div#login h1 a { background-image:url(’ . esc_url(get_site_url(null, '/wp-content/uploads/login-logo.png’)) . ’); width:320px; height:84px; background-size:contain; } </style>’;
});
add_filter(’login_headerurl’, function(){ return home_url(’/’); });
add_filter(’login_headertext’, function(){ return 'Powrót do strony’; });
To czyste i niezależne od motywu rozwiązanie. Dodatkowo możesz trzymać tu inne reguły: kolory, tło, ew. komunikaty.
Filtry core i kolejność wczytywania
Strona logowania nie ładuje całego frontu, więc style i skrypty musisz dodać przez odpowiedni hook. Najpewniejszy jest login_enqueue_scripts dla stylów i skryptów, a filtry login_headerurl i login_headertext do linku i tytułu. Unikaj wstrzykiwania CSS w init lub admin_enqueue_scripts – to inne konteksty i mogą nie zadziałać na /wp-login.php.
Sieć witryn (Multisite)
W instalacji Multisite branding bywa różny dla poszczególnych blogów. Najprościej jest użyć mu-plugin i pobrać logo z katalogu uploadów danego bloga (wp_get_upload_dir), aby każdy serwis mógł mieć własne logo. Jeśli brand jest centralny, trzymaj logo w jednym, wspólnym miejscu i generuj URL stosownie do blog_id.
Wydajność: cache, CDN i HTTP/2
Jeśli Twoje logo serwowane jest z CDN, sprawdź nagłówki cache-control i wersjonowanie (np. login-logo.png?ver=1.2). Zmniejsz rozmiar pliku (kompresja bezstratna), a przy SVG upewnij się, że nie zawiera zbędnych metadanych. Pamiętaj o invalidacji cache po zmianie grafiki, zwłaszcza jeśli użytkownicy zgłaszają „stare” logo.
Dostępność: kontrast, fokus i czytniki ekranowe
Logo w CSS to tło linku – czytniki ekranowe nie „zobaczą” obrazu. Dlatego atrybut title w linku jest przydatny, ale nie nadużywaj go. Zapewnij wystarczający kontrast elementów formularza, widoczny fokus i łatwą obsługę z klawiatury. Jeśli to możliwe, rozważ wstawienie logotypu jako elementu z tekstowym opisem ukrytym dla wzroku, ale dostępnym dla screen readerów (np. dodatkowy tekst z klasą ukrywającą wizualnie, wstawiony hookiem login_header).
Tryb awaryjny i fallbacki
Gdy logo nie ładuje się (np. błąd ścieżki, 404), użytkownik nadal powinien bez problemu się zalogować. Ustaw neutralne tło i zadbaj o brak krytycznych zależności (np. nie blokuj CSS zewnętrznych przez błędny URL). Dobrą praktyką jest test w trybie prywatnym i z wyłączonymi wtyczkami cache przeglądarki.
Rozwiązywanie problemów i dobre praktyki
Najczęstsze błędy ścieżek i uprawnień
Jeżeli nie widać logo, sprawdź: poprawność ścieżki (czy jest pełna/relatywna), kropki w rozszerzeniu (login-logo.PNG vs .png), wielkość liter na serwerach Linux, oraz uprawnienia pliku (najczęściej 644). Otwórz obrazek w nowej karcie – jeśli zobaczysz 403/404, potwierdzi to problem z dostępem lub katalogiem.
Konflikty z innymi stylami
Niektóre wtyczki iniekcyjnie zmieniają wygląd wp-login. Użyj bardziej specyficznych selektorów (np. body.login #login h1 a) lub !important tylko w ostateczności. Pamiętaj, że zbyt agresywne reguły mogą zepsuć układ po aktualizacji WordPressa.
Problemy z cache i CDN
Po zmianie grafiki dodaj wersjonowanie do URL (np. …/login-logo.png?ver=2). W CDN ustaw krótką pamięć dla plików logowania lub skorzystaj z funkcji purge. Po stronie WordPress odśwież cache wtyczek wydajnościowych (LiteSpeed, WP Super Cache, itp.).
HTTPS, mieszana treść i nagłówki
Jeżeli witryna ma SSL, używaj pełnych adresów https://. Mieszana treść (HTTP w CSS) może zablokować logo przez politykę przeglądarki. Sprawdź DevTools (zakładka Console/Security), czy nie ma komunikatów Mixed Content lub CSP (Content Security Policy), które blokują zasób.
Rozmiar i optymalizacja obrazów
Dla PNG użyj kompresji bezstratnej. Dla JPEG – sensowne 70–80% jakości. Możesz też wykorzystać WebP (jeśli nie używasz SVG), ale pamiętaj o wsparciu przeglądarek i nagłówkach. Używaj background-size, aby nie wysyłać wielu wariantów plików, chyba że tworzysz bardzo zaawansowaną wersję responsywną.
Przenoszenie między środowiskami
Na stagingu ścieżki często różnią się domeną. Zamiast wpisywać adres na sztywno, buduj go funkcjami WordPress (np. get_stylesheet_directory_uri, get_site_url). To ogranicza ryzyko, że po deployu logo zniknie z powodu twardych URL-i.
Bezpieczeństwo i porządek w kodzie
Własne snippety dodawaj w kontrolowany sposób: sprawdzaj, czy funkcje nie istnieją pod tą samą nazwą; enkapsuluj je w przestrzeń nazw lub klasy; używaj esc_url i esc_attr tam, gdzie przekazujesz wartości do HTML. Unikaj edytowania plików motywu przez wbudowany edytor w panelu – edytuj lokalnie i wdrażaj przez SFTP lub CI/CD.
Checklista końcowa
- Czy logo ładuje się na /wp-login.php oraz podczas resetu hasła?
- Czy link w logo prowadzi tam, gdzie chcesz, i ma sensowny tytuł?
- Czy wygląd jest czytelny na mobile (małe ekrany, tryb ciemny)?
- Czy rozmiar pliku jest zoptymalizowany i cachowany?
- Czy zmiany są utrwalone w motywie potomnym lub w dedykowanej wtyczce?
- Czy brak konfliktów z innymi stylami i czy wszystko działa po wylogowaniu?
Przykłady gotowych snippetów i wariantów wdrożenia
Wariant prosty: logo z biblioteki mediów
// functions.php
add_action(’login_enqueue_scripts’, function(){
$url = wp_get_attachment_image_url( get_option(’my_login_logo_id’), 'full’ );
if(!$url){ $url = get_stylesheet_directory_uri() . '/assets/img/login-logo.png’; }
echo '<style> body.login #login h1 a { background-image:url(’ . esc_url($url) . ’); background-size:contain; width:320px; height:84px; } </style>’;
});
add_filter(’login_headerurl’, function(){ return home_url(’/’); });
add_filter(’login_headertext’, function(){ return 'Powrót do strony’; });
Tu logo może być kontrolowane z panelu: wystarczy, że zapiszesz ID załącznika (np. przez własne pole opcji w Settings).
Wariant rozbudowany: preferencje motywu i dark mode
// functions.php
add_action(’login_enqueue_scripts’, function(){
$light = get_theme_mod(’login_logo_light’, get_stylesheet_directory_uri().’/assets/img/login-logo-light.png’);
$dark = get_theme_mod(’login_logo_dark’, get_stylesheet_directory_uri().’/assets/img/login-logo-dark.png’);
echo '<style>
body.login #login h1 a { background-image:url(’ . esc_url($light) . ’); width:320px; height:84px; background-size:contain; }
@media (prefers-color-scheme: dark) { body.login #login h1 a { background-image:url(’ . esc_url($dark) . ’); } }
</style>’;
});
Ustawienia light/dark możesz dodać w Customizerze (theme_mods), by nietechniczne osoby mogły zmieniać grafiki bez edycji plików.
Wariant z minimalnym CSS i prostą klasą
Jeśli zależy Ci na absolutnym minimum, pozostaw domyślny rozmiar linku i wyłącznie podmień tło:
// functions.php
add_action(’login_enqueue_scripts’, function(){
echo '<style> .login h1 a { background-image:url(/wp-content/uploads/login-logo.png) !important; } </style>’;
});
Ten wariant jest najprostszy, ale pamiętaj, że !important może utrudniać późniejszą rozbudowę stylów.
FAQ: najczęstsze pytania praktyczne
Czy mogę użyć samego Customizera do ustawienia logo logowania?
Domyślnie Customizer ustawia logo nagłówka witryny (front), nie ekranu logowania. Możesz zdefiniować własne pola (theme_mod) i pobierać je w hooku login_enqueue_scripts, co daje efekt prawie jak natywna opcja.
Czy zmiana logo wpływa na mechanizmy bezpieczeństwa?
Sama zmiana grafiki nie modyfikuje logiki uwierzytelniania. Pamiętaj jednak, by nie ujawniać zbędnych informacji (np. wersji WP w komentarzach) i by zachować poprawne reguły logowania. Dodatkowo rozważ ograniczenia prób logowania, 2FA i egzekwowanie HTTPS.
Jak dodać animację logo?
Możesz to zrobić wyłącznie CSS-em (transition, transform, keyframes). Uważaj na wydajność i preferuj delikatne efekty, które nie odwracają uwagi od formularza. Animacje testuj na mobile, by uniknąć spadków FPS.
Gdzie najlepiej przechowywać grafiki brandingu?
Najbezpieczniej w motywie potomnym (assets/img) lub w uploads. W produkcji wiele zespołów preferuje uploads, co ułatwia zarządzanie przez panel i synchronizację między środowiskami.
Co, jeśli aktualizacja WordPress nadpisze styl?
Zmiany wprowadzaj przez hooki i motyw potomny lub mu-plugin. Dzięki temu aktualizacje rdzenia nie nadpiszą Twojego kodu. Jeżeli korzystasz z wtyczki, aktualizuj ją regularnie i miej kopię ustawień.
Jak przetestować wdrożenie?
- Wyloguj się i otwórz /wp-login.php w trybie incognito.
- Przetestuj mobile i małe ekrany, sprawdź czy logo jest czytelne.
- Sprawdź konsolę przeglądarki pod kątem błędów doładowania zasobów.
- Zweryfikuj atrybut linku i tytułu (hover/focus).
Najlepsze praktyki utrzymaniowe
Standaryzacja i dokumentacja
Ustal standard: nazwa pliku (login-logo.*), ścieżka, sposób enqueue, wersjonowanie. Zapisz to w README projektu. Nowe osoby w zespole szybko zrozumieją, gdzie i jak zmienić logo, bez przekopywania się przez repozytorium.
Monitorowanie i przeglądy kodu
Wprowadź code review dla snippetów w functions.php lub mu-plugins. Dzięki temu łatwiej wyłapać konflikty i potencjalne regresje. Weryfikuj, czy nie używasz zbędnych !important i czy selektory są wystarczająco specyficzne, ale nie kruche.
Unikanie zbędnych zależności
Jeśli wystarczy kilka linijek CSS, nie instaluj rozbudowanych dodatków. Każda dodatkowa wtyczka to potencjalne aktualizacje, konflikty i narzut zasobów. Z kolei jeżeli zespół potrzebuje panelu wizualnego – wybierz lekkie rozwiązanie i wyłączaj funkcje, których nie używasz.
Elastyczność poprzez opcje
Dodaj prostą stronę opcji, która pozwoli wgrać logo z poziomu wp-admin. Przechowuj ID załącznika w opcji i czytaj je w hooku login_enqueue_scripts. To kompromis między elastycznością panelu a lekkością własnego kodu.
Filtry i rozszerzalność
Zapewnij filtr (np. apply_filters(’my_login_logo_url’, $url)), by inne elementy projektu mogły nadpisać adres w razie potrzeby. W dużych wdrożeniach to standard, który ułatwia skalowanie i reużywalność kodu. Pamiętaj o walidacji danych, gdy udostępniasz punkty rozszerzeń przez filtry.
Kontrola nad aktualizacjami
Testuj nowe wersje WP na stagingu – strona logowania sporadycznie dostaje poprawki UI, które mogą wymagać korekt CSS (np. odległości, nazwy klas). Zautomatyzowane testy wizualne (porównanie zrzutów ekranów) szybko wychwycą różnice w układzie.
Checklisty wdrożeniowe dla różnych ról
Deweloper
- Hook: login_enqueue_scripts użyty do stylów; login_headerurl i login_headertext ustawione.
- Logo zoptymalizowane, wariant retina lub SVG, brak mixed content.
- Ścieżki generowane funkcjami WP, brak twardych URL-i.
- Zmiany w motywie potomnym lub mu-plugin; wersjonowanie i cache-busting.
Projektant
- Logo czytelne na jasnym i ciemnym tle; spójne z księgą znaku.
- Dobry kontrast elementów formularza; wygodny focus state.
- Responsywne skalowanie; brak pikselizacji na retina.
Administrator
- Instrukcja edycji logo (gdzie wgrać plik, jakie formaty i rozmiary).
- Procedura testów po zmianie (incognito, mobile, CDN purge).
- Harmonogram przeglądu po aktualizacjach WordPressa.
Szybki start: najkrótsza droga do zmiany logo
3 kroki bez dotykania backendu
- Wgraj obraz do Media – najlepiej optymalny PNG lub SVG.
- Skopiuj adres URL pliku z biblioteki.
- W functions.php dodaj prosty snippet z login_enqueue_scripts i podstaw swój URL.
Rozszerzenie o link i tytuł
Dodaj filtry login_headerurl i login_headertext, by logo kierowało na stronę główną i miało czytelny tytuł. To mała zmiana o dużym znaczeniu dla użyteczności.
Gotowe do produkcji
Sprawdź w przeglądarce prywatnej, przetestuj mobile, wyczyść cache i – jeśli korzystasz z CDN – przepchnij invalidację. Po zatwierdzeniu zmian w repo ustaw tag wersji i dopisz dwuliniową notatkę w changelogu.
Dodatkowe wskazówki dla dużych projektów i agencji
Konfiguracja środowiskowa
W kodzie wskaż logo przez stałe środowiskowe (np. DOMAIN_LOGO_URL), by łatwo zarządzać różnymi zasobami na dev/stage/prod. W przypadku wielu marek użyj mapowania domeny na zestaw assetów.
Audyt i white-label
Jeśli celem jest white-label, uzupełnij zmianę logo o usunięcie linków do WordPressa na ekranie logowania (wyłącznie w warstwie UI, nie ingerując w core). Dodatkowo ujednolić kolory przycisków, linków i komunikatów o błędach, zachowując standardy dostępności.
Standardy plików i polityka assetów
Ustal standard nazewnictwa, organizacji katalogów i minimalnych wymagań (rozmiar, format, kolorystyka). Dla SVG wymagaj weryfikacji bezpieczeństwa i zgodności z polityką CSP. Dla PNG – trzymaj warianty @1x/@2x tylko jeśli to faktycznie potrzebne.
Dokumentacja dla klienta
Przygotuj proste instrukcje z obrazkami, gdzie kliknąć i jak podmienić plik. Klienci docenią możliwość samodzielnej zmiany bez wchodzenia w kod. Warto też dodać krótkie FAQ z najczęstszymi problemami i checklistą testów.
Mechanizmy awaryjne i rollback
Przed wdrożeniem utwórz tag w repo i zapis punktu przywracania. Jeśli po deployu zauważysz problem (np. połamany CSS logowania), możesz w kilka minut wrócić do poprzedniej wersji i spokojnie przeanalizować przyczynę.
Zgodność prawna i licencyjna
Upewnij się, że masz prawa do używania logotypu i że wersje eksportowe nie naruszają wytycznych księgi znaku. Sprawdź, czy dołączone fonty nie wymagają dodatkowych licencji lub osadzenia w postaci plików webfont.