668 145 480 info@jacekjagusiak.pl

Posiadając blog na WordPressie niekiedy chcemy wprowadzić parę kosmetycznych zmian i jedną z nich może być pozbycie się z adresu URL wpisu daty. Choć rozwiązanie wydaje się trywialne jeśli chodzi o dopiero co stworzone i niezaindeksowane strony to już dla większych serwisów cała modyfikacja nieco się komplikuje, ale powoli – zaraz wszystko wyjaśnię.

Nie będę rozbijał sposobów na nowe i stare strony i podam rozwiązanie, które zadziała w obu przypadkach i co najważniejsze do całej operacji nie użyjemy żadnej wtyczki. Wystarczy, że klikniemy w jedną opcję i skorzystamy z krótkiego kodu.

Usunięcie daty z adresu url

Najszybsza i najprzyjemniejsza część. Wystarczy wejść do Panelu WordPressa i wybrać tam z bocznego menu Ustawienia -> Bezpośrednie odnośniki. Zaglądamy teraz do części Popularne ustawienia, gdzie możemy wybrać już jedną z gotowych opcji. Z doświadczenia wiem, że najczęściej wybieraną jest Nazwa wpisu.

Bespośrednie odnośniki - nazwa wpisu

Zjeżdżamy nieco niżej i używając przycisku Zapisz zmiany zachowujemy nowy wygląd naszych linków. Od teraz nie będą one wyglądać tak:

ale tak:

Zaznaczenie_174

Czyli cel osiągnięty?

Oczywiście korzystając z własnego formatu możemy poruszyć swoją wyobraźnią i o wiele mocniej pokombinować z adresami, ale tego rodzaju modyfikacje to temat na zupełnie inny poradnik.

Przekierowanie starych adresów na nowe

No dobrze, poradziliśmy sobie ze zmianą adresów, ale co w przypadku, gdy Google zaindeksowało już wszystkie stare i nowe wpisy, jest ich kilkanaście bądź kilkaset? Teraz użytkownicy, którzy znajdą nas w sieci i kliknął w stary adres zostaną pokierowani w przepaść, czyli na stronę z błędem 404 – bo przecież zmieniliśmy adresy i te strony tak naprawdę pod starymi adresami już nie istnieją.

Rozwiązaniem będzie przekierowanie 301 wszelkich wpisów z datą w url na adres nowy – bez daty. Dzięki temu zarówno wyszukiwarki jak i użytkownicy trafią dokładnie tam, gdzie my tego chcemy i gdzie oczywiście trafić powinni.

Oczywiście my użyjemy dziś przekierowania stworzonego w PHP z racji tego, że jest znacznie wydajniejsze i szybsze. Potrzebny będzie Wam klient FTP i połączenie z serwerem, na którym stoi Wasz WordPress. Wchodzimy do katalogu głównego strony, gdzie wyszukujemy plik index.php. Otwieramy go w dowolnym edytorze tekstowym i na początku pliku, tuż po otwarciu znacznika <?php w kolejnej linii wklejamy kod jak poniżej:

if (preg_match("#^/index\.php/[0-9]{4}/[0-9]{2}/[0-9]{2}/(.*)$#", $_SERVER['REQUEST_URI'], $q))
{
header('HTTP/1.1 301 Moved Permanently');
header('Location: http://'.$_SERVER['HTTP_HOST'].'/'.($q[1]));
die();
}

Plik zapisujemy i gotowe. Ale pamiętajmy, aby zmienić przed tym procesem strukturę linków w ustawieniach WordPressa, dokładnie na taką samą jaką opisywałem na początku artykułu.

Mam nadzieje, że nikt z Was nie będzie miał problemów z implementacją kodu czy innymi zmianami, o których wspomniałem wyżej. Cały kod jest uniwersalny i będzie pasował do każdej domeny, ale pamiętajcie, że jest kompatybilny jedynie ze zmianą adresów z:

na:

Zaznaczenie_174

5/5 - (1 vote)
5/5 - (1 vote)