Strona główna  /  Hosting i domeny  /  WordPress table prefix – czym jest i jak go zmienić?

Fragment kodu SQL wyświetlony na ekranie komputera w nowoczesnym centrum danych, symbolizujący zarządzanie bazą danych.

WordPress table prefix – czym jest i jak go zmienić?

Prefiks tabel w WordPressie to ciąg znaków dodawany przed nazwami tabel w bazie danych. Domyślnie jest to wp_. Jego zmiana utrudnia automatycznym skryptom rozpoznanie struktury bazy, ale wymaga aktualizacji pliku wp-config.php, nazw tabel oraz wybranych kluczy w tabelach opcji i metadanych użytkowników.

Czym jest WordPress table prefix?

WordPress zapisuje dane w tabelach MySQL, takich jak wp_posts, wp_users czy wp_options. Fragment wp_ to właśnie prefiks tabel. Podczas instalacji można ustawić własny ciąg znaków, a na działającej stronie zmienić go później.

Domyślna wartość jest przewidywalna. Zautomatyzowane skrypty próbujące wykorzystać SQL injection często zakładają, że tabela nazywa się wp_users lub wp_options. Niestandardowy prefiks nie zastępuje aktualizacji WordPressa, silnego hasła ani zabezpieczeń serwera, ale utrudnia ataki oparte na gotowych założeniach.

Którą metodę zmiany prefiksu wybrać?

Metoda Trudność Ryzyko Najlepsza dla
Wtyczka Niska Niskie Większości witryn i osób bez doświadczenia z SQL
SQL w phpMyAdmin Średnia Średnie Hostingów z dostępem do phpMyAdmin
SQL w Adminerze Średnia Średnie Administratorów pracujących bezpośrednio z bazą

W każdej metodzie trzeba zmienić te same elementy: wartość $table_prefix w wp-config.php, nazwy tabel oraz prefiksy zapisane w tabelach wp_options i wp_usermeta. Różnica dotyczy wyłącznie narzędzia.

Jak zmienić prefiks za pomocą wtyczki?

To najprostsza metoda, ponieważ wtyczka może wykonać wszystkie powiązane operacje z poziomu kokpitu. Przykładem jest Brozzme DB Prefix & Tools. Nazwy pozycji w menu mogą się różnić zależnie od wersji narzędzia.

Przed rozpoczęciem wykonaj pełną kopię zapasową bazy danych. Jeśli masz taką możliwość, najpierw przetestuj zmianę na kopii stagingowej. Backup powinien pozwolić na odtworzenie strony, gdyby zmiana nazw tabel lub danych zakończyła się błędem.

Procedura z użyciem wtyczki wygląda następująco:

  1. Otwórz kokpit WordPressa i przejdź do sekcji wtyczek.
  2. Wyszukaj Brozzme DB Prefix & Tools, zainstaluj wtyczkę i ją aktywuj.
  3. Przejdź do pozycji Narzędzia → DB Prefix i sprawdź aktualny prefiks.
  4. Wpisz nowy prefiks, na przykład newprefix_, i uruchom zmianę przyciskiem dostępnym w wtyczce.
  5. Sprawdź stronę, logowanie do panelu oraz działanie najważniejszych wtyczek.

Jeżeli pojawi się komunikat o braku możliwości zapisu, przyczyną może być brak uprawnień do edycji wp-config.php. W takim przypadku zmień uprawnienia zgodnie z konfiguracją hostingu albo edytuj plik ręcznie. Nie ustawiaj jednak szerokich uprawnień na stałe tylko po to, aby ominąć błąd.

Jak zmienić prefiks ręcznie za pomocą SQL?

1. Zmień wartość w wp-config.php

Pobierz plik wp-config.php przez FTP, SFTP lub menedżer plików hostingu. Znajdź wpis:

$table_prefix = 'wp_';

Zastąp go nową wartością, na przykład:

$table_prefix = 'newprefix_';

Prefiks powinien zawierać litery, cyfry i znaki podkreślenia. Zapisz plik dopiero po upewnieniu się, że nowa wartość będzie dokładnie odpowiadała nazwom tabel w bazie.

2. Zmień nazwy tabel

W phpMyAdmin lub Adminerze wybierz bazę używaną przez WordPressa. Możesz wygenerować polecenia RENAME TABLE dla wszystkich tabel za pomocą poniższego zapytania. Zmień wartości trzech zmiennych na dane swojej instalacji:

SET @database = 'database_name';
SET @oldprefix = 'wp_';
SET @newprefix = 'newprefix_';

SELECT CONCAT(
  'RENAME TABLE `', TABLE_NAME, '` TO `',
  REPLACE(TABLE_NAME, @oldprefix, @newprefix), '`;'
) AS sql_command
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = @database
  AND TABLE_NAME LIKE CONCAT(@oldprefix, '%');

Zapytanie nie zmienia tabel bezpośrednio. Generuje polecenia RENAME TABLE. Skopiuj wygenerowane instrukcje, sprawdź ich treść i wykonaj je w narzędziu do zarządzania bazą.

3. Zaktualizuj prefiksy zapisane w danych

Po zmianie nazw tabel trzeba poprawić wartości używane przez WordPressa. Wykonaj zapytania, zastępując stare i nowe prefiksy własnymi wartościami:

UPDATE `newprefix_usermeta`
SET meta_key = REPLACE(meta_key, 'wp_', 'newprefix_')
WHERE meta_key LIKE 'wp_%';

UPDATE `newprefix_options`
SET option_name = REPLACE(option_name, 'wp_', 'newprefix_')
WHERE option_name LIKE 'wp_%';

Operacja jest potrzebna między innymi dla kluczy takich jak wp_capabilities, wp_user_level i wp_user_roles. Nie zmieniaj bez zastanowienia każdego wystąpienia tekstu wp_ w całej bazie, ponieważ niektóre wartości mogą należeć do wtyczek albo treści i wymagać osobnej interpretacji.

Co sprawdzić po zmianie prefiksu?

Jeśli strona nie działa albo nie możesz zalogować się do panelu, przejdź przez tę listę kontrolną:

  • Sprawdź, czy $table_prefix w wp-config.php dokładnie odpowiada nazwom tabel, włącznie z końcowym podkreśleniem.
  • W tabeli newprefix_usermeta sprawdź, czy istnieje klucz newprefix_capabilities zamiast wp_capabilities.
  • W tej samej tabeli zweryfikuj zmianę wp_user_level na newprefix_user_level.
  • W tabeli newprefix_options sprawdź, czy klucz wp_user_roles został zmieniony na newprefix_user_roles.
  • Wyczyść pamięć podręczną i sprawdź działanie strony oraz najważniejszych wtyczek.

Błąd połączenia z bazą zwykle oznacza niezgodność między nazwami tabel a wartością w wp-config.php. Pętla logowania lub brak uprawnień po zalogowaniu często wynika z pominięcia kluczy w usermeta albo options. Jeżeli nie masz działającej kopii zapasowej i nie potrafisz ustalić, który etap się nie powiódł, bezpieczniej będzie przywrócić backup niż wykonywać kolejne niezweryfikowane zapytania.

Zmiana prefiksu jest rozsądnym, jednorazowym działaniem prewencyjnym, ale nie zapewnia pełnej ochrony. Najważniejsze pozostają aktualny WordPress i wtyczki, kopie zapasowe, ograniczenie dostępu do bazy oraz poprawne uprawnienia plików.

Redakcja wpinternals.pl

WordPressa znamy od kuchni – budujemy na nim strony, migrujemy serwisy i optymalizujemy ich wydajność. Piszemy o wtyczkach, motywach, hostingu i bezpieczeństwie tak, by poradzili sobie także początkujący. Dbamy o to, by Twoja strona była szybka, stabilna i bezpieczna.

Może Cię również zainteresować

Potrzebujesz więcej informacji?