Error 404: file not found – co to oznacza i jak naprawić ten błąd?

HTTP (Hypertext Transfer Protocol) jest protokołem, za pomocą którego przeglądarka komunikuje się serwerem webowym. W przypadku gdy coś pójdzie nie tak, wyświetlony zostanie komunikat z kodem zaistniałego błędu.

Błąd 404 jest często występującym problemem na stronie. Oznacza on, że przeglądarka pomyślnie połączyła się z serwerem, ale nie mogła uzyskać informacji pod podanym adresem.

Powodów występowania 404 jest kilka

  • Strona została usunięta, ale link do niej pozostał.
  • Cała strona została przeniesiona pod inny adres URL.
  • Wprowadzony został błędny adres strony.
  • Domena została usunięta, ale linki do niej pozostały.
  • Serwer działa niepoprawnie (możliwe, ale mało prawdopodobne).

Dlaczego powinno się unikać występowania 404?

Najważniejszym zadaniem każdej strony internetowej jest zatrzymanie użytkownika na jak najdłużej. Może one wtedy zainteresować się oferowaną treścią i zostać stałym odwiedzającym, kupić więcej produktów oferowanych przez sklep lub wyświetlić więcej reklam znajdujących się na stronie.

Każdy błąd sprawia, że użytkownik zniechęca się do dalszego kontaktu z domeną. Istnieje wtedy szansa, że uda się do konkurencji, co oznacza straty. Nie bez znaczenia jest fakt występowania błędów 404 dla osób, które interesuje pozycjonowanie stron. Strona, która przestaje istnieć dość szybko znika z wyników wyszukiwania.

Jak pozbyć się błędu 404?

Istnieje wiele metod, które pozwolą naprawić występowanie błędu 404.

Dokładny przegląd i test strony

Prostą metodą jest przeklikanie każdej możliwej zakładki domeny, aby upewnić się, że nie występuje niepoprawne połączenie. Jeśli znajdziemy takowe, należy je poprawić w ten sposób, by przywrócić niedostępną podstronę.

Przekierowanie 301

Jeżeli jest się pewnym, że stara domena została usunięta lub zmieniona, ale w wielu miejscach znajduje się do niej odnośnik, powinno się zastosować przekierowanie 301. Sposobów na przekierowanie użytkownika jest kilka.

  • Wiele serwerów hostingowych z panelem administratora posiada osobną wydzieloną i intuicyjną sekcję, w której można ustawić przekierowania.
  • Można również tego dokonać ręcznie przy pomocy pliku .htaccess

Konfiguracja pliku .htaccess

Najpierw należy utworzyć plik (jeżeli taki nie istnieje) o nazwie .htaccess w głównym katalogu strony (łącząc się protokołem FTP lub bezpośrednio na maszynie). Plik można edytować w dowolnym programie obsługującym edycję plików tekstowych. Warto zwrócić uwagę na kodowanie UTF-8.

Przekierowanie jednej lub więcej domen na nowy adres

W przypadku, gdy przenieśliśmy się na nowy adres domenowy, ale stary dalej posiadamy w użytku, można przekierować ruch ze starych adresów na nowy.

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^(www\.)?stara_domena_1.pl$ [OR] 
RewriteCond %{HTTP_HOST} ^(www\.)?stara_domena_2.pl$ 
RewriteRule ^(.*)$ http://www.nowa_domena.pl/$1 [R=301,L]

Przekierowanie każdej nieistniejącej subdomeny na jedną stronę

Jeżeli użytkownik popełni literówkę w adresie lub będzie chciał uzyskać dostęp do nieistniejącej subdomeny, zostanie przekierowany na podany adres (w tym przypadku jest to strona główna). Przykładowo użytkownik będzie chciał dostać się do abdcefg.domena.pl, a subdomena abcdefg nie istnieje.

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(.*).domena.pl
RewriteRule ^(.*)$ https://domena.pl/$1 [R=301,L]

Przekierowane starego adresu podstrony na nowy

Jeżeli zmieniliśmy nazwę daje podstrony a chcemy umożliwić klientowi dalszy dostęp do niej po starym adresie należy go przekierować na nowy adres podstrony

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?domena\.pl$ [NC]
RewriteRule ^stara_podstrona(\/.*)?$ http://www.domena.pl/nowa_podstrona[R=301,L]

Jak zniwelować skutki błędu?

Jeżeli mamy odpowiednio skonfigurowane przekierowania i nie posiadamy martwych odnośników, ale chcemy się dalej zabezpieczyć przed 404, powinno utworzyć się customową podstronę z komunikatem o błędzie.

Będzie się ona wyświetlała zamiast podstawowej zawartości wyświetlanej przez przeglądarkę.

Jak stworzyć stronę informującą o błędzie 404?

1. W pliku .htaccess należy dodać linijkę tekstu, która będzie przekierowywać na podstronę z komunikatem

ErrorDocument 404 /zawartosc_niedostepna_404.html

zawartosc_niedostepna_404 jest przykładową nazwą pliku i można ją zmienić. Nie wolno jednak zapomnieć o rozszerzeniu .html.

2. W głównym katalogu utworzyć podstronę o wybranej nazwie (w tym przypadku zawartosc_niedostepna_404.html)

Tworząc taką podstronę należy pamiętać o kilku zasadach, które zmniejszą prawdopodobieństwo zniechęcenia użytkownika do dalszego przeglądania:

  • tekst na ekranie powinien zawierać jasną informację o tym, że zawartość pod podanym adresem nie istnieje i polecić sprawdzenie wprowadzonego adresu pod kątem literówek,
  • podstrona powinna pasować stylem do reszty strony, zawierać nagłówek strony, stopkę oraz linki do najważniejszych sekcji strony,
  • jeżeli strona obsługuję wewnętrzną wyszukiwarkę, to ta również powinna się tam znaleźć.

Jeśli potrzebujesz pomocy w naprawieniu błędu 404 – napisz do mnie.