Nowe wersja serwisu www a sprawa martwych linków - czyli jak wdrożyć nową wersję strony unikając błędów 404

Data publikacji: 2012-10-20 | Tagi:

Często "odświeżenie" designu strony nie polega tylko na zmianie css i html, im intensywniej o tym myślimy tym bardziej wydaje nam się słuszne przepisanie całego silnika strony od zera.

O korzyściach płynących z tego rozwiązania nie ma co dyskutować - przepisanie całości pozwala od razu uniknąć pewnych błędów, które popełniono przy konstrukcji poprzedniej wersji (przy okazji popełniamy masę innych, ale kto ich nie popełnia ;)). Pozwala - mając już gotowy content - lepiej dostosować logikę biznesową zarówno do potrzeb odbiorcy jak i do posiadanej treści. Niejako szyjemy nowy silnik na miarę o wiele lepiej sprecyzowanych wymagań.

Bez wątpienia jest to praca wartościowa, rozwijająca i jednocześnie bardzo wymagająca.

W tym artykule chciałbym zająć się prawdziwą zmorą, czyli martwymi linkami, które zostają nam po wdrożeniu nowej wersji serwisów pod istniejącą domenę.

Co to są martwe linki?

Martwe linki to linki, których rezultatem końcowym jest kod inny niż 200. Wszelkie 404-ki i (niedoczekanie) 500-ki powodują rosnącą frustrację użytkowników próbujących desperacko dotrzeć do artykułu sprzed dziesięciu lat, który "na starej wersji strony przecież się pokazywał".

Skąd biorą się martwe linki?

Przyczyn powstawania takich linków jest sporo. Przy migracji ze starego silnika do nowego na powstawanie takich linków mają wpływ:

  • Zmiana systemu generowania linków na przyjazne seo (zamiast http://domena.pl/index.php?type=article&id=16 będzie http://domena.pl/artykul-o-produkcji-mielonki_1.html)
  • Zmiana struktury logicznej strony (zamiast wielu kategorii np.: produkcja mielonki, produkcja szynki, produkcja kiełbas tworzymy jedną np.: produkcja wędlin)
  • Niedoskonałość ludzka - część starych linków, które były na starym serwisie po prostu może zostać niezauważona

Czemu martwe linki są złe?

Nie będę wnikał zbyt głęboko w SEO, bo to nie jest moja najmocniejsza strona. Ale po pierwsze - martwe linki (w postaci chociażby linków z serwisów zewnętrznych, wyszukiwarek) prowadzą do strony z błędem - powoduje to frustrację użytkowników. Po drugie, silniki wyszukiwarek nie lubią trafiać na 404-ki lub 500-ki - na podstawie dużej ilości takich linków mogą zakwalifikować serwis jako niestabilny, co w efekcie może zaowocować spadkiem pozycji trafnych wyszukiwań w wynikach wyszukiwania.

Co na to można poradzić

Odpowiedź jest prosta i trudna zarazem. Należy wyłapać linki, które w nowej wersji trafiają na błędy i ustalić tzw. redirecty czyli przekierowania. Wydaje się proste. Co w tym zatem trudnego? Otóż to, że ciężko jest wyłapać wszystkie linki na starej wersji serwisu i sprawdzić je na nowej wersji - praca mozolna, łatwo o pomyłkę i konia z rzędem temu, kto potrafi zrobić to od początku do końca ręcznie, ogarniając 100% linków :).

Jak ułatwić sobie pracę

Jako, że dosyć często borykam się z tego typu aktualizacją serwisów, napisałem sobie małe narzędzie w pythonie, które wykonuje spory kawał pracy za mnie.

Wystarczy podać mu jako parametry starą domenę, domenę testową z nowym serwisem oraz głębokość skanowania (zwykle 3 wystarcza) i cierpliwie czekać na raport. Skrypt skanuje starą domenę w poszukiwaniu linków, gromadzi je, a następnie sprawdza odpowiedzi domeny nowego serwisu i wyświetla raport z listą linków. W ten sposób mamy zbudowaną w łatwy sposób listę np. odpowiedzi 404, odpowiedzi 500, itp. Skrypt używa urllib do pobierania stron oraz BeautifulSoup4 i html5lib do poszukiwania linków - te zależności należy rozwiązać we własnym zakresie.

Skrypt dostępny jest do pobrania na moim bitbuckecie: https://bitbucket.org/pstankiewicz/redirect-finder


Oceń ten post:
Podziel się:

comments powered by Disqus

IT w obrazkach: