WordPress: Krótki link do umieszczenia na Twitterze

Spis treści

W chwili gdy zabierałem się za rozpracowywanie szeregu zagadnień związanych z oczyszczaniem nagłówka generowanego przez WordPress, nie miałem pojęcia, że niektóre opcje nie są dostępne w standardowej instalacji, którą każdy może sobie pobrać z ich strony i wgrać do siebie na serwer. Chodzi oczywiście o krótkie odnośniki (shortlinks). Ich głównym celem jest skracanie linków do paru znaków, tak by można je umieścić np. na Twitterze gdzie długość wiadomości jest znacznie ograniczona i raczej wklejanie tam linku, który by zjadł wszystkie dostępne znaki nie jest zbytnio pożądane.

Co to są krótkie linki?

Zapewne spotkaliśmy się już z serwisami takimi jak http://tinyurl.com/ czy https://bitly.com/ , które umożliwiają skracanie linków. WordPress ma swój własny mechanizm generujący linki w domenie wp.me . Jeśli mamy bloga na wordpress.com, wtedy możliwość korzystania z krótkich odnośników typu http://wp.me/8cz78asd będzie nam zapewniona i do każdego opublikowanego przez nas postu będziemy w stanie wyciągnąć taki linki za pomocą formularza edycji:

wordpress-krotki-link

Natomiast jeśli nasz blog jest hostowany poza stroną WordPress'a, to nie będziemy mogli skorzystać z tych krótkich odnośników. Nie wszystko jednak stracone, bowiem jeśli spróbujemy wygenerować krótki link dla jakiegoś postu, zostanie nam on podany w formie http://domena.com/?p=10 , czyli jest to standardowy link do treści w WordPress'ie przed przepisaniem go do postaci permalinku:

wordpress-krotki-link-permalink

Tak czy inaczej, oba linki będą działać bez żadnych dodatkowych kroków z naszej strony, bo jeśli korzystamy z permalinków, to te krótsze ich wersje zostaną przekierowane automatycznie przy pomocy kodu błędu 301 .

Czyszczenie kodu

WordPress ma jednak specjalną opcję dotyczącą tych krótkich odnośników i skoro z niej nie będziemy korzystać, to przydałoby się ją odznaczyć. Wprawdzie nie zauważymy żadnej różnicy w działaniu bloga, bo w kodzie nawet nie są generowane linijki z rel="shortlink" ale dobrze jest czasem zajrzeć WordPresowi pod maskę i sprawdzić jak on działa.

Za generowanie tych skróconych odnośników odpowiedzialny jest plik wp-includes/default-filters.php , a konkretnie poniższy kod:

add_action( 'wp_head', 'wp_shortlink_wp_head', 10, 0 );

By wyłączyć ten ficzer zupełnie, musimy w pliku functions.php używanego przez nasz serwis motywu usunąć tę akcję, przykładowo:

remove_action( 'wp_head', 'wp_shortlink_wp_head', 10, 0 );

I po bólu. Oczywiście to działanie miało by więcej sensu gdybyśmy hostowali bloga bezpośrednio na stronie WordPress'a ale kto wie, może kiedyś przyjdzie nam się tam przenieść i dobrze jest wiedzieć zawczasu, że tego typu opcje są do dyspozycji i gdzie ich szukać.

Mikhail Morfikov avatar
Mikhail Morfikov
Po ponad 10 latach spędzonych z różnej maści linux'ami (Debian/Ubuntu, OpenWRT, Android) mogę śmiało powiedzieć, że nie ma rzeczy niemożliwych i problemów, których nie da się rozwiązać. Jedną umiejętność, którą ludzki umysł musi posiąść, by wybrnąć nawet z tej najbardziej nieprzyjemniej sytuacji, to zdolność logicznego rozumowania.