Skracacz URL w WordPress zamienia długie permalinki generowane przez CMS w krótkie, brandowane, śledzone linki, które możesz udostępniać poza stroną. WordPress doskonale radzi sobie z publikowaniem. Nie jest zbudowany do mówienia Ci, ile osób kliknęło link, który wrzuciłeś do newslettera, tweeta lub ulotki drukowanej. Ta luka jest powodem, dla którego sięgasz po skracacz.
Oto krótka wersja przed szczegółami. Skracasz i śledzisz linki z WordPress z czterech powodów: brandowane udostępnienia społecznościowe pasujące do Twojej witryny zamiast generycznej domeny, śledzone linki wychodzące i partnerskie, żeby wiedzieć, co faktycznie jest klikane, kody QR dla druku i opakowań wskazujące na link, który możesz zmienić później, oraz analityka kliknięć, której Twój CMS po prostu nie dostarcza. WordPress wie, że post został opublikowany. Nie wie, że link w nim uzyskał 4000 kliknięć z Niemiec we wtorek.
Są cztery sposoby na podłączenie tego, a każdy wymienia wysiłek na kontrolę. Wtyczka to najmniej pracy, jeśli istnieje kompatybilna. REST API Elido jest najbardziej elastyczne i to na nim ostatecznie ląduje większość zespołów. Zapier siedzi pośrodku jako most bez kodu. I zawsze możesz wklejać linki ręcznie. Reszta tego posta omawia każdą ścieżkę, a następnie błędy, które ludzie popełniają: ładne permalinki kontra krótkie linki, zastępowanie kruchych wtyczek przekierowań i gdzie przekierowanie powinno faktycznie się odbywać, żeby nigdy nie spowalniało Twojej witryny.
Co właściwie robi skracacz URL w WordPress#
Odrzuć marketing, a skracacz wykonuje dwa zadania. Mapuje krótki slug na długie miejsce docelowe i liczy każdy razem, gdy ktoś podąża za tym slugiem. WordPress nie robi żadnego z tych rzeczy dla linków, które udostępniasz w innym miejscu.
Twoje posty mają już URL-e. WordPress buduje permalink dla każdego z nich, zazwyczaj czytelny slug na Twojej własnej domenie. Ten permalink jest dla osób czytających Twoją witrynę. Nie jest krótki, nie jest brandowany do udostępniania na platformie z budżetem znaków, a WordPress nie prowadzi rejestru, kto go kliknął, gdy opuści Twoją stronę. Krótki link to osobny obiekt: zwarty URL na domenie przekierowań, opcjonalnie Twojej własnej brandowanej domenie, który przekierowuje do miejsca docelowego i rejestruje kliknięcie.
Rozróżnienie ma znaczenie, bo te dwa są łatwe do pomylenia. Ładny permalink i krótki link wyglądają podobnie i oba prowadzą gdzieś. Tylko jeden z nich jest zbudowany do udostępniania w świecie i mierzenia. Wrócimy do tego.
Ścieżka pierwsza: wtyczka WordPress#
Ścieżka przez wtyczkę to ta, której większość ludzi szuka w pierwszej kolejności - i słusznie. Wtyczka instaluje się z katalogu wtyczek WordPress, łączysz ją tokenem API i krótkie linki zaczynają się pojawiać bez konieczności dotykania linijki PHP.
Chcę być uczciwa co do stanu tej ścieżki, bo dostępność wtyczek się zmienia i wolę, żebyś znał kształt ścieżki, niż ufał nieaktualnemu zrzutowi ekranu ustawień. Ogólny wzorzec, za którym podąża każda wtyczka skracacza, jest taki sam: instalujesz ją, wklejasz token API o zakresie przestrzeni roboczej ze swojego narzędzia do linków, a wtyczka wywołuje API skracacza w Twoim imieniu przy publikacji lub kliknięciu przycisku w edytorze. Niektóre wtyczki automatycznie tworzą krótki link przy publikacji i zapisują go w niestandardowym polu. Inne dodają meta box, w którym generujesz jeden na żądanie. Dobre pozwalają wybrać brandowaną domenę i dodawać tagi, żeby link trafiał w odpowiednie miejsce w analityce.
Jeśli w panelu jest wymieniona utrzymywana wtyczka Elido dla WordPress, zainstaluj ją i połącz tokenem z /settings/api. Jeśli nie możesz potwierdzić aktualnej, utrzymywanej wtyczki dla swojego skracacza, nie forsuj. Pół-porzucona wtyczka, która psuje się przy kolejnej aktualizacji WordPress, jest gorsza niż ścieżka przez API, którą kontrolujesz. Gdy wtyczka pasuje, to opcja o najmniejszym wysiłku. Gdy nie pasuje - przejdź do API.
Jedna rzecz do sprawdzenia przed zaufaniem jakiejkolwiek wtyczce: gdzie odbywa się przekierowanie. Wtyczka, która tylko rejestruje link u zewnętrznego skracacza, jest w porządku. Wtyczka, która też instaluje lokalny handler przekierowań, żeby linki rozwiązywały się przez Twój własny serwer WordPress, to wolny wzorzec, który omówimy później. Chcesz, żeby link był tworzony w WordPress i rozwiązywany na brzegu sieci, a nie w PHP.
Ścieżka druga: REST API Elido#
To ścieżka z największą liczbą ruchomych części i największą kontrolą, i to do niej sięgają zespoły, gdy chcą krótkich linków tworzonych automatycznie i niezawodnie przy każdej publikacji.
WordPress uruchamia akcję, gdy post zmienia status. Odpowiednia to transition_post_status, która uruchamia się zawsze, gdy post przechodzi między stanami, w tym przejście do stanu publish. Podpinasz do niej handler, wywołujesz API Elido, żeby stworzyć link dla permalinka posta, i przechowujesz zwrócony krótki URL w meta posta, żeby móc go wyświetlić w szablonie, edytorze lub widżecie udostępniania. Podręcznik wtyczek WordPress dokumentuje system haków, a referencja REST API WordPress omawia endpointy meta, jeśli chcesz udostępnić krótki link edytorowi blokowego.
Strona Elido to trzy linijki. Oto handler publikowania w PHP tworzący brandowany krótki link przy pierwszym opublikowaniu posta i pomijający go przy późniejszych edycjach:
add_action( 'transition_post_status', 'elido_shorten_on_publish', 10, 3 );
function elido_shorten_on_publish( $new_status, $old_status, $post ) {
if ( $new_status !== 'publish' || $old_status === 'publish' ) {
return; // only on the first publish, not on every edit
}
if ( get_post_meta( $post->ID, '_elido_short_url', true ) ) {
return; // already has one
}
$res = wp_remote_post( 'https://api.elido.app/v1/links', array(
'headers' => array(
'Authorization' => 'Bearer ' . ELIDO_TOKEN,
'Content-Type' => 'application/json',
'Idempotency-Key' => 'wp-post-' . $post->ID,
),
'body' => wp_json_encode( array(
'destination_url' => get_permalink( $post ),
'tags' => array( 'wordpress', 'auto-publish' ),
) ),
) );
if ( is_wp_error( $res ) ) {
return; // log and move on; publish should never fail on this
}
$link = json_decode( wp_remote_retrieve_body( $res ), true );
if ( ! empty( $link['short_url'] ) ) {
update_post_meta( $post->ID, '_elido_short_url', $link['short_url'] );
}
}
Dwa szczegóły zasługują na uwagę. Idempotency-Key pochodzi z ID posta, więc jeśli hak publikowania uruchomi się dwukrotnie - co się zdarza - otrzymujesz ten sam link z powrotem zamiast duplikatu. A handler połyka własne błędy. Tworzenie krótkiego linku nie może nigdy blokować publikacji; jeśli wywołanie API nie powiedzie się, post nadal wychodzi, a link tworzysz później. Szybki start na stronie API i SDK szczegółowo omawia model idempotentności i obsługę błędów w pięciu językach, a strona funkcji API i SDK zawiera pełną listę endpointów.
Jeśli chcesz, żeby link żył na Twojej własnej domenie zamiast na generycznym hoście skracacza, przekaż domain_id i najpierw skonfiguruj domenę. Przewodnik po niestandardowych domenach omawia rekord DNS i automatyczne TLS, a funkcja niestandardowych domen wyjaśnia, dlaczego brandowany link na Twoim własnym hoście przewyższa generyczny pod kątem zaufania i klikalności.
Ścieżka trzecia: Zapier, most bez kodu#
Między wtyczką a handlerem kodu siedzi Zapier. To właściwa odpowiedź, gdy chcesz automatyzacji, nie chcesz wysyłać PHP i nie możesz znaleźć wtyczki, której ufasz.
Połączenie to dwuetapowy Zap. Wyzwalaczem jest "Nowy post opublikowany w WordPress". Akcją jest "Utwórz link w Elido". Mapujesz permalink posta na pole miejsca docelowego, opcjonalnie przekazujesz tytuł posta jako tag i włączasz go. Od tej pory każdy opublikowany post tworzy krótki link bez dotykania edytora przez kogokolwiek. Możesz dodać trzeci krok do zapisania krótkiego URL z powrotem do Google Sheets, opublikowania na Slack lub wciśnięcia do harmonogramu społecznościowego.
Zapier kosztuje Cię opłatę per zadanie i kilka sekund latencji, i nie masz drobnoziarnistej kontroli, którą daje API nad idempotencją i obsługą błędów. W zamian dostajesz działającą integrację w dziesięć minut bez deployu. Dla większości zespołów wydawniczych to właściwy kompromis, dopóki wolumen lub precyzja nie przepchnie ich do API. Dedykowany artykuł poradnik automatyzacji Zapier omawia wieloetapowe Zapy szczegółowo.
Ścieżka czwarta: ręcznie#
Nie lekceważ ręcznej ścieżki. Jeśli publikujesz kilka postów tygodniowo i udostępniasz każdy celowo, tworzenie krótkiego linku ręcznie w panelu Elido i wklejanie go do posta lub narzędzia społecznościowego jest całkowicie rozsądne. Dostajesz brandowane linki i pełne śledzenie kliknięć bez żadnej integracji do utrzymania.
Ręczna ścieżka przestaje skalować się, gdy publikujesz często, gdy kilka osób udostępnia te same linki i potrzebuje spójności, lub gdy chcesz mieć link w treści posta przed kliknięciem publikuj. To jest moment na automatyzację. Do tego czasu panel plus kopiuj-wklej to legalna konfiguracja, a nie tymczasowe rozwiązanie.
Ładne permalinki to nie krótkie linki#
To ciągle wszystkich wprowadza w błąd, więc powiedzmy wprost. Permalinki WordPress i krótkie linki rozwiązują różne problemy i zazwyczaj chcesz obu.
Ładny permalink to czytelny dla człowieka URL posta na Twojej własnej domenie. Pomaga czytelnikom i wyszukiwarkom zrozumieć stronę. Nie jest zwarty, nie jest zaprojektowany do udostępniania na platformie liczącej znaki, a WordPress nie śledzi na nim kliknięć, gdy link opuszcza Twoją witrynę. WordPress ma też stary format krótkiego URL-a ?p=123 i hak wp_shortlink, ale to tylko alias na Twojej własnej domenie. Nie jest brandowany i nie jest śledzony.
Krótki link to celowy, udostępnialny, mierzony obiekt. Żyje na domenie przekierowań, może nieść Twoją markę, może dołączać parametry UTM w czasie przekierowania, może wygasać i rejestruje każde kliknięcie w analityce, którą faktycznie możesz odpytać. Gdy udostępniasz post w newsletterze lub w mediach społecznościowych, chcesz krótkiego linku, a nie surowego permalinku - bo krótki link to jedyny, który mówi Ci, co się stało po kliknięciu. Post o brandowanych krótkich linkach omawia konfigurację domeny marki, a skracacze URL dla wydawców szczegółowo omawia przepływ pracy wydawniczej.
Zastępowanie kruchych wtyczek przekierowań WordPress#
Wiele witryn WordPress nagromadza wtyczki przekierowań. Niektóre służą do uzasadnionej higieny SEO - naprawienia przekierowania 301 po zmianie permalinku. Inne są rozciągane do robienia czegoś, w czym są złe: zarządzania linkach wychodzącymi i partnerskimi, które udostępniasz i chcesz śledzić.
To drugie zastosowanie jest tym, gdzie zawodzą. Wtyczka przekierowań rozwiązująca "ładny" link wychodzący uruchamia przekierowanie przez PHP i bazę danych przy każdym kliknięciu. Przy każdym realnym ruchu dodaje obciążenie do hosta obsługującego Twoją właściwą treść, a dane o kliknięciach, jakie dostarcza - jeśli w ogóle - są mizerne. Wzorzec wygląda schludnie w panelu i zachowuje się źle pod obciążeniem.
Czyste rozdzielenie: zachowaj wtyczki przekierowań dla wewnętrznych przekierowań 301 na własnych URL-ach - gdzie należą - i przenieś udostępniane linki wychodzące i partnerskie do skracacza, który rozwiązuje się poza stroną i śledzi prawidłowo. Przestajesz płacić podatek od przekierowań PHP za linki, które nigdy nie były zadaniem Twojej witryny do obsługi, i dostajesz prawdziwą analitykę dla tych, które mają znaczenie.
Przekierowanie na brzegu sieci, nie w PHP#
To jest kwestia wydajności, która decyduje o tym, czy skracacz pomaga, czy szkodzi - i to jest powód, dla którego architektura ma większe znaczenie niż wtyczka.
Gdy krótki link rozwiązuje się przez WordPress, kliknięcie trafia w Twój stos PHP i bazę danych, zanim ktokolwiek dotrze do miejsca docelowego. To jest w porządku przy małym ruchu i bolesne przy dużym, i wiąże szybkość Twoich udostępnianych linków z obciążeniem Twojej witryny z treścią. Gdy krótki link rozwiązuje się na brzegu sieci, kliknięcie w ogóle nie dotyka WordPress. Trafia w POP przekierowań bliski użytkownikowi, jest odpowiadany z cache i przekierowywany dalej.
Elido rozwiązuje przekierowania w wieloregionalnych brzegowych punktach obecności z p95 poniżej 15ms przy trafieniu w cache. Twój host WordPress nie jest w tej ścieżce. Niezależnie od tego, czy użyłeś wtyczki, API, Zapier lub własnych rąk do tworzenia linku, samo kliknięcie jest obsługiwane poza stroną - więc wiralowy post nie wlecze Twojego CMS za sobą. Post o przekierowaniu p95 poniżej 15ms wyjaśnia, jak ten budżet latencji jest utrzymywany, a strona funkcji analityki omawia, co jest logowane przy każdym z tych kliknięć.
To cały argument za rozwiązywaniem poza stroną w jednej linijce: link, w który klikają Twoi czytelnicy, nigdy nie powinien współdzielić serwera ze stroną, którą chcesz, żeby przeczytali.
Wybór ścieżki#
Jeśli chcesz najmniejszej pracy i istnieje utrzymywana wtyczka dla Twojego skracacza, użyj jej. Jeśli chcesz automatyzacji bez kodu, użyj Zapier. Jeśli chcesz pełnej kontroli i linków tworzonych niezawodnie przy każdej publikacji, użyj API i haka transition_post_status. Jeśli publikujesz rzadko i udostępniasz celowo, rób to ręcznie. Większość zespołów zaczyna ręcznie lub przez Zapier i przechodzi do API, gdy krótkie linki stają się częścią sposobu wysyłania każdego posta.
Niezależnie od wybranej ścieżki, doprowadź dwie rzeczy do porządku: twórz link z własną brandowaną domeną, żeby pasował do witryny, z której pochodzi, i upewnij się, że przekierowanie rozwiązuje się na brzegu sieci, a nie przez PHP WordPress. Brandowane linki strona marketingowa chce, rozwiązywanie na brzegu strona inżynieryjna chce, i nie są ze sobą w konflikcie. Możesz mieć jedno i drugie. Zobacz stronę rozwiązań dla marketerów dla strony śledzenia kampanii i stronę cenową dla tego, co zawiera każdy plan.