Jak wygenerować krótki link w WordPress: Kompletny przewodnik techniczny
Krótkie linki WordPress to skrócone adresy URL, które przekierowują do konkretnego wpisu, strony lub niestandardowego typu wpisu w Twojej witrynie. Mają format https://yourdomain.com/?p=POST_ID i są generowane natywnie przez WordPress przy użyciu wbudowanego systemu przepisywania permalinków — bez potrzeby korzystania z zewnętrznych usług.
Ten przewodnik opisuje każdą metodę generowania, dostosowywania i śledzenia krótkich linków WordPress, w tym natywne przepływy pracy w edytorze, polecenia WP-CLI, rozwiązania oparte na wtyczkach oraz zachowanie przekierowań na poziomie serwera. Niezależnie od tego, czy korzystasz z oszczędnego środowiska współdzielonego, czy w pełni zarządzanej konfiguracji VPS Hosting, poniższe techniki mają bezpośrednie zastosowanie.
Czym są krótkie linki WordPress i jak działają
WordPress generuje krótki link dla każdego fragmentu treści w momencie jego zapisania jako wersja robocza lub opublikowania. Krótki link jest konstruowany z parametru ciągu zapytania ?p= po którym następuje wewnętrzny identyfikator bazy danych wpisu. Ten identyfikator jest przypisywany sekwencyjnie przez tabelę wp_posts w MySQL lub MariaDB i nigdy się nie zmienia, nawet jeśli później zmienisz slug wpisu lub strukturę permalinków.
Gdy odwiedzający uzyskuje dostęp do krótkiego linku, ładuje się bootstrap index.php WordPressa, silnik przepisywania analizuje ciąg zapytania, a żądanie jest wewnętrznie przekierowywane do kanonicznego permalinku przy użyciu odpowiedzi HTTP 301 Moved Permanently. Oznacza to, że krótkie linki są bezpieczne dla SEO — wyszukiwarki podążają za przekierowaniem 301 i przypisują cały kapitał linków do kanonicznego adresu URL.
Kluczowe fakty techniczne:
- Krótkie linki są rozwiązywane wyłącznie na warstwie aplikacji PHP/WordPress, nie na poziomie serwera WWW.
- Parametr
?p=działa niezależnie od ustawienia struktury permalinków. - Zmiana slugu wpisu nie psuje jego krótkiego linku.
- Usunięcie i ponowne utworzenie wpisu przypisuje nowy identyfikator, co unieważnia stary krótki link.
Metoda 1: Generowanie krótkiego linku w Klasycznym Edytorze
Klasyczny Edytor udostępnia dedykowany przycisk Pobierz krótki link bezpośrednio w meta boxie publikowania, umieszczonym nad obszarem edytora wpisów.
Instrukcja krok po kroku:
- Otwórz lub utwórz wpis w Klasycznym Edytorze.
- Zapisz wpis jako wersję roboczą lub opublikuj go — krótki link nie może być wygenerowany dla niezapisanej treści, ponieważ identyfikator wpisu jeszcze nie istnieje.
- Kliknij Pobierz krótki link w meta boxie publikowania. Okno dialogowe wyświetla adres URL krótkiego linku.
- Skopiuj adres URL z pola dialogowego.
Jeśli przycisk Pobierz krótki link nie jest widoczny, mógł zostać ukryty przez Opcje ekranu. Kliknij kartę Opcje ekranu w prawym górnym rogu ekranu edytora i upewnij się, że opcja Slug lub opcja związana z krótkim linkiem jest zaznaczona. Niektóre motywy i wtyczki również usuwają ten element interfejsu za pomocą remove_action('admin_head', 'wp_shortlink_header') lub filtrują pre_get_shortlink, aby zwrócić pusty ciąg.
Metoda 2: Generowanie krótkiego linku w Edytorze Blokowym Gutenberg
Edytor Gutenberg usunął dedykowany przycisk krótkiego linku z domyślnego interfejsu. Jednak krótki link nadal istnieje i jest dostępny za pomocą dwóch podejść.
Podejście A — Ręczna konstrukcja na podstawie identyfikatora wpisu:
- Otwórz wpis w edytorze Gutenberg.
- Spójrz na pasek adresu przeglądarki. Adres URL będzie zawierał
post=XXXX, gdzieXXXXto numeryczny identyfikator wpisu. - Skonstruuj krótki link ręcznie:
https://yourdomain.com/?p=XXXXZastąp XXXX rzeczywistym identyfikatorem wpisu.
Podejście B — Panel boczny Ustawień wpisu:
- Otwórz wpis w Gutenbergu.
- W prawym panelu ustawień Wpis rozwiń sekcję Permalink.
- Identyfikator wpisu jest widoczny w adresie URL edytora. Niektóre konfiguracje wyświetlają również krótki link w panelu Podsumowanie, jeśli aktywna jest kompatybilna wtyczka.
Podejście C — Przywrócenie przycisku krótkiego linku za pomocą fragmentu kodu:
Jeśli chcesz przywrócić przycisk krótkiego linku w Gutenbergu, dodaj następujący kod do pliku functions.php swojego motywu lub wtyczki specyficznej dla witryny:
add_filter( 'get_shortlink', function( $shortlink, $id, $context, $allow_slugs ) {
return home_url( '/?p=' . $id );
}, 10, 4 );Ten filtr zapewnia, że wp_get_shortlink() zawsze zwraca wartość, co ponownie włącza wyświetlanie krótkiego linku w kompatybilnych komponentach interfejsu.
Metoda 3: Generowanie krótkich linków za pomocą WP-CLI
Dla administratorów zarządzających WordPress z wiersza poleceń — szczególnie na VPS z cPanel lub dedykowanym Serwerze Dedykowanym — WP-CLI zapewnia bezpośredni sposób pobierania krótkich linków bez korzystania z panelu administracyjnego.
Pobierz krótki link dla konkretnego wpisu według identyfikatora:
wp post get 42 --field=url --path=/var/www/htmlWylistuj wszystkie opublikowane wpisy z ich identyfikatorami i krótkimi linkami:
wp post list --post_status=publish --fields=ID,post_title,post_name --format=tableGdy masz już identyfikator, krótki link to po prostu https://yourdomain.com/?p=ID. Możesz również wywołać funkcję WordPress bezpośrednio za pomocą WP-CLI eval:
wp eval 'echo wp_get_shortlink(42);'Wyświetla to ciąg krótkiego linku dokładnie tak, jak WordPress by go obsłużył, uwzględniając wszelkie aktywne filtry.
Metoda 4: Krótkie linki oparte na wtyczkach z niestandardowymi slugami i śledzeniem
Natywne krótkie linki WordPress używają formatu ?p=ID, który jest funkcjonalny, ale nie jest łatwy do zapamiętania ani brandowalny. Wtyczki znacznie rozszerzają tę możliwość.
Pretty Links
Pretty Links to najszerzej wdrożona wtyczka do krótkich linków w ekosystemie WordPress. Przechowuje niestandardowe przekierowania w dedykowanej tabeli bazy danych (wp_pretty_link i wp_pretty_link_clicks) i zapewnia śledzenie kliknięć, dane geolokalizacyjne oraz wstrzykiwanie parametrów UTM.
Przepływ pracy konfiguracji:
- Zainstaluj i aktywuj Pretty Links z repozytorium wtyczek WordPress.
- Przejdź do Pretty Links > Dodaj nowy link.
- Wprowadź docelowy adres URL (kanoniczny permalink Twojego wpisu).
- Zdefiniuj niestandardowy slug, na przykład
go/my-post. - Wybierz typ przekierowania:
301dla stałego,302dla tymczasowego lub307dla tymczasowego z zachowaniem metody. - Zapisz. Krótki link staje się
https://yourdomain.com/go/my-post.
Uwaga techniczna: Przepisania Pretty Links są obsługiwane na warstwie aplikacji WordPress za pomocą add_rewrite_rule(), nie na poziomie Apache lub Nginx. Oznacza to, że każde trafienie krótkiego linku wiąże się z pełnym bootstrapem WordPress. Na witrynach o dużym ruchu może to dodać 50–200ms opóźnienia na przekierowanie w porównaniu z RewriteRule na poziomie serwera. Jeśli wydajność przekierowania jest krytyczna, rozważ przeniesienie linków o dużym wolumenie do dyrektyw Nginx map lub dedykowanego mikroserwisu przekierowań.
ThirstyAffiliates
Dla marketerów afiliacyjnych ThirstyAffiliates zapewnia krótkie linki z maskowaniem kliknięć, automatycznym linkowaniem słów kluczowych i regułami przekierowań opartymi na geolokalizacji. Przechowuje linki w niestandardowych typach wpisów (thirstylink), a nie w osobnej tabeli, co czyni go kompatybilnym ze standardowymi przepływami pracy tworzenia kopii zapasowych i migracji WordPress.
Wtyczka Redirection
Wtyczka Redirection zarządza zarówno krótkimi linkami, jak i ogólnymi przekierowaniami 301/302 z jednego interfejsu. Przechwytuje również błędy 404 i sugeruje cele przekierowań, co jest cenne podczas migracji witryn.
Porównanie: Metody krótkich linków WordPress
| Metoda | Niestandardowy slug | Śledzenie kliknięć | Wymaga wtyczki | Wpływ na wydajność | Najlepsze zastosowanie |
|---|
| — | — | — | — | — | — |
|---|
| Natywny `?p=ID` | Nie | Nie | Nie | Minimalny | Szybkie udostępnianie wewnętrzne |
|---|
| Przycisk Klasycznego Edytora | Nie | Nie | Nie | Minimalny | Starszy przepływ pracy |
|---|
| WP-CLI `wp eval` | Nie | Nie | Nie | Brak (CLI) | Operacje masowe, skryptowanie |
|---|
| Pretty Links | Tak | Tak | Tak | Umiarkowany (warstwa PHP) | Linki brandowane, marketing |
|---|
| ThirstyAffiliates | Tak | Tak (zaawansowane) | Tak | Umiarkowany (warstwa PHP) | Zarządzanie linkami afiliacyjnymi |
|---|
| Wtyczka Redirection | Tak | Podstawowe | Tak | Umiarkowany (warstwa PHP) | Migracje witryn, obsługa błędów 404 |
|---|
| Dyrektywa Nginx `map` | Tak | Nie (zewnętrzne narzędzie) | Nie | Bliski zeru | Odciążanie przekierowań o dużym ruchu |
|---|
Kwestie dotyczące wydajności krótkich linków na poziomie serwera
Na hostingu współdzielonym każde przekierowanie krótkiego linku przechodzi przez pełny stos WordPress: inicjalizuje się PHP-FPM lub mod_php, ładuje się wp-config.php, otwiera się połączenie z bazą danych, a silnik przepisywania rozwiązuje zapytanie. Dla ruchu od niskiego do umiarkowanego jest to całkowicie akceptowalne.
Na witrynach o dużym ruchu lub przy obsłudze tysięcy śledzonych krótkich linków, obciążenie zapytaniami bazy danych wynikające z rejestrowania kliknięć może stać się wąskim gardłem. Praktyczne środki zaradcze obejmują:
- Buforowanie obiektów: Zainstaluj Redis lub Memcached i skonfiguruj
WP_CACHEwwp-config.php. Buforuje to wyszukiwanie celu przekierowania i znacznie zmniejsza liczbę odczytów z bazy danych. - Asynchroniczne rejestrowanie kliknięć: Skonfiguruj Pretty Links do asynchronicznego rejestrowania kliknięć przy użyciu procesu w tle, zamiast blokowania odpowiedzi przekierowania.
- Przekierowania na poziomie CDN: Jeśli używasz Cloudflare, możesz wdrożyć masowe reguły przekierowań na brzegu sieci, całkowicie omijając WordPress dla linków o dużym wolumenie.
- Bloki map Nginx: W środowiskach administrowanych przez serwer zdefiniuj mapy przekierowań bezpośrednio w konfiguracji Nginx:
map $request_uri $redirect_target {
/go/my-post https://yourdomain.com/full-canonical-url/;
/go/another https://yourdomain.com/another-post/;
}
server {
if ($redirect_target) {
return 301 $redirect_target;
}
}To podejście obsługuje przekierowania w mikrosekundach bez wywoływania PHP.
SSL, bezpieczeństwo i integralność krótkich linków
Krótkie linki obsługiwane przez HTTP i przekierowujące do celów HTTPS są technicznie funkcjonalne, ale narażają użytkowników na potencjalne okno degradacji. Zawsze upewnij się, że Twoja witryna WordPress ma zainstalowany ważny certyfikat SSL, aby krótkie linki były obsługiwane od początku z https://. Krótki link z mieszanym protokołem (http://yourdomain.com/?p=42 przekierowujący do https://yourdomain.com/post-slug/) dodaje dodatkowy skok przekierowania i może wywoływać ostrzeżenia bezpieczeństwa przeglądarki w niektórych konfiguracjach.
Jeśli korzystasz z WordPress na infrastrukturze AlexHost, połączenie witryny z prawidłowo wystawionym Certyfikatem SSL całkowicie eliminuje ten problem i zapewnia, że wszystkie krótkie linki są rozwiązywane przez pojedynczy, bezpieczny łańcuch przekierowań 301.
Ponadto punkty końcowe krótkich linków mogą być nadużywane w kampaniach phishingowych, ponieważ cel jest ukryty. Jeśli używasz Pretty Links lub podobnej wtyczki, włącz opcję noindex na stronach przekierowań i rozważ dodanie atrybutu rel="nofollow" do krótkich linków udostępnianych zewnętrznie, aby zapobiec niezamierzonym ścieżkom indeksowania.
Programowe pobieranie identyfikatora wpisu
Podczas budowania niestandardowych integracji — na przykład dynamicznego generowania krótkich linków w odpowiedzi REST API lub szablonie e-mail — użyj natywnej funkcji WordPress:
$post_id = get_the_ID(); // Inside The Loop
$shortlink = wp_get_shortlink( $post_id );
echo esc_url( $shortlink );Poza Pętlą przekaż identyfikator wpisu jawnie:
$shortlink = wp_get_shortlink( 42 );Funkcja wp_get_shortlink() stosuje filtr get_shortlink, co oznacza, że każda aktywna wtyczka modyfikująca zachowanie krótkich linków będzie automatycznie respektowana. To czyni ją właściwą funkcją do użycia zamiast ręcznego łączenia home_url('/?p=') z identyfikatorem.
Macierz decyzyjna: Wybór właściwego podejścia do krótkich linków
Użyj tej macierzy, aby wybrać odpowiednią metodę na podstawie Twoich wymagań operacyjnych:
Używaj natywnych krótkich linków ?p=ID gdy:
- Potrzebujesz szybkiego rozwiązania bez konfiguracji do wewnętrznego udostępniania lub testowania.
- Nie zależy Ci na brandowanych adresach URL ani analityce kliknięć.
- Korzystasz z planu Hostingu Współdzielonego z ograniczonymi zasobami i chcesz zerowego narzutu wtyczek.
Używaj Pretty Links lub ThirstyAffiliates gdy:
- Potrzebujesz brandowanych, czytelnych dla człowieka krótkich slugów.
- Wymagane jest śledzenie kliknięć, parametry UTM lub atrybucja konwersji.
- Prowadzisz operację content marketingową lub witrynę afiliacyjną.
Używaj dyrektyw map Nginx lub reguł przekierowań Cloudflare gdy:
- Wolumen przekierowań przekracza dziesiątki tysięcy trafień dziennie.
- Potrzebujesz opóźnienia przekierowania poniżej milisekundy bez narzutu PHP.
- Zarządzasz infrastrukturą bezpośrednio na Serwerze Dedykowanym lub wydajnym VPS.
Używaj WP-CLI gdy:
- Skryptujesz masowe operacje na wpisach lub migracje.
- Musisz programowo pobierać krótkie linki bez sesji przeglądarki.
Kluczowe wnioski techniczne
- Każdy wpis WordPress ma stały krótki link pod adresem
/?p=POST_IDod momentu pierwszego zapisania; ten identyfikator nigdy się nie zmienia, chyba że wpis zostanie usunięty i ponownie utworzony. - Edytor Gutenberg usunął przycisk interfejsu krótkiego linku, ale nie usunął funkcjonalności krótkich linków — funkcja
wp_get_shortlink()i parametr?p=pozostają w pełni operacyjne. - Krótkie linki oparte na wtyczkach (Pretty Links, ThirstyAffiliates) działają na warstwie aplikacji PHP; w scenariuszach o dużym ruchu przenieś przekierowania do Nginx lub reguły brzegowej CDN.
- Zawsze obsługuj krótkie linki przez HTTPS, aby uniknąć wieloskokowych łańcuchów przekierowań i potencjalnych ostrzeżeń bezpieczeństwa.
- Używaj
wp_get_shortlink()w niestandardowym kodzie zamiast ręcznego konstruowania adresu URL, aby aktywne filtry wtyczek były respektowane. - Asynchroniczne rejestrowanie kliknięć i buforowanie obiektów Redis to dwie optymalizacje o największym wpływie dla witryn z intensywnym ruchem krótkich linków.
- Okresowo sprawdzaj wzrost tabeli bazy danych swojej wtyczki do krótkich linków —
wp_pretty_link_clicksmoże gromadzić miliony wierszy na aktywnych witrynach, degradując wydajność zapytań bez odpowiedniego indeksowania.
Często zadawane pytania
Czy zmiana slugu permalinku wpisu psuje jego krótki link?
Nie. Krótki link jest powiązany z identyfikatorem bazy danych wpisu, a nie z jego slugiem. Zmiana slugu aktualizuje kanoniczny adres URL, ale krótki link ?p=ID nadal poprawnie się rozwiązuje poprzez przekierowanie 301 do nowego kanonicznego permalinku.
Dlaczego przycisk Pobierz krótki link jest niewidoczny w moim edytorze WordPress?
W Gutenbergu przycisk został usunięty z domyślnego interfejsu. Może być również ukryty w Klasycznym Edytorze przez Opcje ekranu lub wyciszony przez wtyczkę używającą filtra pre_get_shortlink zwracającego pusty ciąg. Użyj wp eval 'echo wp_get_shortlink(POST_ID);' przez WP-CLI, aby pobrać krótki link niezależnie od stanu interfejsu.
Czy krótkie linki WordPress wpływają na SEO?
Natywne krótkie linki używają przekierowań HTTP 301 do kanonicznego adresu URL, więc wyszukiwarki podążają za przekierowaniem i przypisują wszystkie sygnały rankingowe do kanonicznego permalinku. Same krótkie linki nie są indeksowane. Upewnij się, że Twoja wtyczka do krótkich linków nie ustawia przypadkowo stron przekierowań na 200 OK z cienką treścią, co mogłoby powodować problemy z indeksowaniem.
Jaka jest różnica między krótkim linkiem WordPress a skracaczem URL takim jak Bitly?
Krótkie linki WordPress są hostowane samodzielnie i rozwiązują się na Twojej własnej domenie, zachowując zaufanie do marki i utrzymując analitykę w Twojej infrastrukturze. Zewnętrzne skracacze takie jak Bitly kierują ruch przez zewnętrzną domenę, wprowadzając zależność od usługi zewnętrznej i potencjalnie ukrywając Twoją markę w udostępnianych linkach.
Czy krótkie linki mogą być używane w odpowiedziach REST API WordPress?
Tak. Wywołaj wp_get_shortlink( $post->ID ) w wywołaniu zwrotnym niestandardowego punktu końcowego REST API lub użyj filtra rest_prepare_post, aby dołączyć pole krótkiego linku do standardowych odpowiedzi wpisów. Jest to przydatne w konfiguracjach headless WordPress, gdzie aplikacja front-endowa potrzebuje krótkiego adresu URL do udostępniania bez konstruowania go po stronie klienta.
