Porady

Niedoceniany plik wp-config

Niedoceniany plik wp-config

Można powiedzieć, że WordPress słynie ze swojej prostoty użytkowania oraz konfiguracji. Z poziomu jego kokpitu można przecież zmienić wiele ustawień, a brakujące funkcje dopełnić przygotowywanymi przez społeczność wtyczkami. Istnieją jednak bardzo przydatne funkcje oraz triki, które można aktywować bezpośrednio w pliku konfiguracyjnym wp-config.php. W tym artykule podzielimy się niektórymi z najbardziej przydatnych sztuczek, które pomogą Tobie rozwiązać problemy na stronie, zoptymalizować jej pracę oraz podnieść poziom bezpieczeństwa.

Optymalizacja pracy z WordPress za pomocą wp-config.php

Plik wp-config.php jest jednym z najważniejszych plików konfiguracyjnych WordPress. Mimo jego wysokiej wagi dla całej instalacji strony wielu użytkowników nie ma potrzeby wykonywania jego edycji. Wielu użytkowników może nawet nie wiedzieć o jego istnieniu. Wynika to najpewniej z faktu, iż w dzisiejszych czasach instalacja WordPress sprowadza się zazwyczaj do jednego kliknięcia. Taki szybki sposób instalacji WordPress opisaliśmy w ramach artykułu w naszej bazie wiedzy.

Pamiętaj proszę, że plik wp-config.php jak wskazuje jego nazwa, jest plikiem konfiguracyjnym i jest niezbędny do prawidłowego działania WordPress. Tym samym jeśli tylko nie czujesz się na siłach, nie dokonuj jego modyfikacji. Dobrym wyjściem przed przystąpieniem do wprowadzania zmian jest upewnienie się, że mamy pod ręką jego kopię.

Podpowiadamy: Plik konfiguracyjny WordPress domyślnie dostępny jest w głównym katalogu, w którym został on zainstalowany. Domyślnie jeżeli instalacja WordPress została wykonana w katalogu domeny mnich.pl, ścieżka do pliku będzie wyglądała następująco: /domains/moja-strona.pl/public_html/wp-config.php

Sprawdzamy dane konfiguracyjne dla bazy danych, z której korzysta WordPress

W przypadku, kiedy na przykład migrujesz swoją stroną na nowy hosting lub do nowej domeny i potrzebujesz dokonać zmiany danych potrzebnych do połączenia z bazą danych powinieneś zajrzeć do pliku konfiguracyjnego.

Wszystkie informacje niezbędne do wykonania połączenia z bazą danych znajdują się w specjalnie przygotowanej sekcji:

/** The name of the database for WordPress */
define( 'DB_NAME', 'nazwa_bazy_danych' );

/** MySQL database username */
define( 'DB_USER', 'nazwa_uzytkownika_bazy_danych' );

/** MySQL database password */
define( 'DB_PASSWORD', 'haslo_uzytkownika_bazy_danych' );

/** MySQL hostname */
define( 'DB_HOST', 'localhost' );

Podpowiadamy: Edycja połączenia z bazą danych przyda się również w przypadku, kiedy zaktualizujesz swoje hasło użytkownika do istniejącej już bazy danych, na przykład ze względów bezpieczeństwa.

Wyłączamy automatyczne aktualizacje

Funkcja ta przyda Ci się w przypadku, kiedy Twoja strona wykorzystuje wtyczki, których aktualizacja może doprowadzić do problemów z jej działaniem. W tej sytuacji, możesz zablokować automatyczną instalację aktualizacji po stronie WordPress. Do tego celu wykorzystaj poniższą definicję:

define( 'AUTOMATIC_UPDATER_DISABLED', true );

Podpowiadamy: Pamiętaj, aby mimo wyłączenia automatycznych aktualizacji przeprowadzać okresowe przeglądy dostępnych aktualizacji oraz w miarę możliwości ich instalację. Aktualna wersja skryptu oraz zainstalowanych wtyczek podniesie również bezpieczeństwo Twojej strony internetowej WordPress.

Aktywujemy kosz w mediach

Część w WordPress, która obsługuje media charakteryzuje się tym, że nie ma opcji kosza. Brak tej funkcji sprawia, że usunięte elementy, są usuwane natychmiast. Można to bardzo łatwo zmienić dodając w wp-config zmienną:

define( 'MEDIA_TRASH', true );

W efekcie tej zmiany po stronie menedżera mediów pojawi się kosz. Dzięki niemu w przypadku omyłkowego usunięcia grafiki będziesz miał możliwość jej szybkiego przywrócenia.

Kosz w mediach dzięki modyfikacji pliku konfiguracyjnego WordPress wp-config.php
Kosz w mediach WordPress

Podpowiadamy: Pamiętaj, aby regularnie zaglądać do kosza, aby usuwać dane które zostały usunięte i nie są już potrzebne na Twojej stronie. Dzięki temu będziesz mógł odzyskać dodatkową przestrzeń na koncie hostingowym.

Wgrywamy pliki o dowolnym rozszerzeniu

Menadżer zarządzania mediami w WordPress jest ograniczony do pewnej grupy plików. Tak więc nie można korzystać z tej części naszego serwisu www tak jak z managera plików dostępnego wprost z poziomu klienta FTP. Można to jednak bardzo łatwo zmienić.

define( 'ALLOW_UNFILTERED_UPLOADS', true );

Podpowiadamy: Ta zmienna zapewnia wygodną funkcjonalność. Należy jednak mieć na uwadze, że o ile poszerzając ilość obsługiwanych rozszerzeń plików w ramach WordPress możemy również nieumyślnie pozwolić na załadowanie plików potencjalnie szkodliwych. Korzystaj więc z tej funkcji bardzo ostrożnie.

Wyłączamy lub ograniczamy wersjonowanie wpisów

WordPress kolekcjonuje wersje wpisów w sposób automatyczny. Funkcja ta może okazać się bardzo wygodna, gdy my czy któryś z naszych współpracowników dokonał zmiany, którą chcemy przywrócić. Gdy jednak prowadzimy serwis samodzielnie lub też nie odczuwamy potrzeby przetrzymywania pełnej historii takich edycji możemy ją wyłączyć całkowicie zmienną:

define('WP_POST_REVISIONS', false );

Jeżeli jednak chcesz mieć dostęp do awaryjnej kopii wpisu sprzed wprowadzonej aktualizacji, możesz ograniczyć ilość wykonywanych kopii. W tym celu skorzystaj z poniższej zmiennej, która ograniczy ilość tworzonych wersji do 2:

define('WP_POST_REVISIONS', 2 );

Aktywujemy automatyczny zapis edytowanej treści

Automatyczny zapis treści, nad którą aktualnie pracujemy jest ważny i często potrafi uratować w sytuacji awaryjnej, podobnie jak wspomniane wcześniej wersjonowanie wpisów. Ciekawostką jest, że możecie określić co ile sekund tego typu automatyczny zapis ma następować.

define('AUTOSAVE_INTERVAL', 240 );

Podpowiadamy: Powyższa definicja dokonuje automatycznego zapisu wpisów co 240 sekund. Jeżeli potrzebujesz zmniejszyć ten interwał, wystarczy, że zmniejszysz liczbę na końcu funkcji.

Blokujemy edycję kodu wtyczek oraz szablonu z poziomu WordPress

Ze względów bezpieczeństwa bardzo dobrą praktyką jest zablokowanie edycji kodu WordPress oraz plików szablonu i wtyczek z poziomu samego skryptu. W przypadku przejęcia dostępu do konta administracyjnego strony przez nieautoryzowaną osobę w przypadku ataku, pozwoli to na uniknięcie wstrzyknięcia złośliwego kontu.

define('DISALLOW_FILE_EDIT',true);

Określamy ciasteczka dla domeny

Niektórzy uznają za stosowne serwowanie plików graficznych czy też skryptów z domeny bez ciasteczek, a więc statycznego źródła. Najczęściej ma to miejsce przy zastosowaniu dodatkowych zewnętrznych rozwiązań typu CND (Content Delivery Network). Określenie ciasteczka serwisu zmienną na pewno w tym pomoże.

define('COOKIE_DOMAIN', 'www.twojadomena.pl');

Dodajemy klucze bezpieczeństwa WordPress

Domyślna instalacja WordPress automatycznie dodaje klucze bezpieczeństwa do pliku konfiguracyjnego. Te klucze bezpieczeństwa służą do dodania dodatkowej warstwy bezpieczeństwa do logowania do WordPressa i uwierzytelniania plików cookie.

Zawsze możesz ponownie wygenerować klucze bezpieczeństwa, jeśli uważasz, że ktoś może uzyskać dostęp do Twojej witryny bez odpowiedniego uwierzytelnienia. Aby wygenerować nowe klucze powinieneś skorzystać z oficjalnego generatora na stornie WordPress: Generator kluczy bezpieczeństwa.

define( 'AUTH_KEY',         'umieść tutaj swój unikalny klucz' );
define( 'SECURE_AUTH_KEY',  'umieść tutaj swój unikalny klucz' );
define( 'LOGGED_IN_KEY',    'umieść tutaj swój unikalny klucz' );
define( 'NONCE_KEY',        'umieść tutaj swój unikalny klucz' );
define( 'AUTH_SALT',        'umieść tutaj swój unikalny klucz' );
define( 'SECURE_AUTH_SALT', 'umieść tutaj swój unikalny klucz' );
define( 'LOGGED_IN_SALT',   'umieść tutaj swój unikalny klucz' );
define( 'NONCE_SALT',       'umieść tutaj swój unikalny klucz' );

Podpowiadamy: Wygenerowane klucze zawierają pełną strukturę kodu PHP, zatem wystarczy ich skopiowanie oraz podmienienie całego bloku w pliku wp-config.php

Uruchamiamy CRON po stronie serwera

Domyślny CRON WordPress aktywowany jest podczas każdego odpowiedzenia serwisu. W tym momencie sprawdzana jest lista zadań do wykonania w ramach skryptu oraz wtyczek. Jeżeli zależy Ci na tym, aby zadanie CRON było realizowane w określonych odstępach czasu należy skorzystać z poniższej funkcji:

define('DISABLE_WP_CRON', 'true');

Następnie należy wykonać odpowiednią konfigurację zadań CRON po stronie hostingu. Dla naszych Klientów przygotowaliśmy odpowiedni poradnik opisujący jak uruchomić CRON serwerowych w WordPress.

Uruchamiamy tryb debugowania WordPress

Punktem wieńczącym to zestawienie jest coś co spowoduje zapewne uśmiech po stronie developerów. Tryb debugowania, który już jest dodany w pliku wp-config.php jednak domyślnie ma status false. Powoduje, że nie jest on aktywna, jednak bardzo szybko można go aktywować.

Ta wbudowana funkcja pomoże uratować nasz serwis gdy wydarzy się coś, co spowoduje, że przestanie on działać prawidłowo. Powodem może być na przykład niezgodna z daną wersją WP wtyczka czy też motyw.

define('WP_DEBUG', true );

Jeżeli analizujesz swoją stroną oraz spodziewasz się, że jest na niej duży ruch możesz włączyć debugowanie, ukrywając błędy wyświetlane na stronie. Aby to zrobić, dodaj następujące wiersze do ustawień konfiguracyjnych:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

Wszystkie zbierane błędy będą zapisywane w pliku debug.log. Dostęp do pliku jest możliwy z katalogu wp-content.

Podpowiadamy: Po zakończeniu analizy działania strony pamiętaj, aby ponownie wyłączyć tryb debugowania. W tym celu zmień parametr true na false.

Dotarliśmy do końca!

W ramach tego wpisu przedstawiliśmy zaledwie małą część funkcji, które możesz aktywować w ramach pliku wp-config.php. Pełną listę możliwości edycji pliku wp-config.php możesz znaleźć na stronach dokumentacji WordPress. Powiedz nam proszę czy znałeś je wszystkie? A może korzystasz z innych ciekawych definicj? Podziel się z nimi z nami w komentarzu!