Przekierowania ze strony

Często zdarza się, że chcielibyśmy mieć możliwość zrobienia przekierowania z naszej stron na inną. Spróbuję pokazać 3 możliwe rozwiązania, a także krótko opisać pozytywne i negatywne aspekty tychże podejść.

Rozwiązania

Meta tag HTML

To rozwiązanie wykorzystuje prosty natywny kod HTML. Nie wymaga żadnych wtyczek, żadnych dodatków, ani parserów języków skryptowych:

[html]<meta http-equiv="refresh" content="10">[/html]

Taki kod, nie przenosi na inną stronę. Jest to jednak wstęp do kodu właściwego. Pozwala on odświeżyć stronę, na której się teraz znajdujemy za dokładnie 10 sekund. Można jednak sprawić, aby podczas odświeżania przeniosło nas na inną stronę.

[html]<meta http-equiv="refresh" content="10;http://youthcoders.net">[/html]

Ten kod po 10 sekundach przeniesie nas na stronę http://youthcoders.net. Jeśli zmniejszylibyśmy czas do 0, to moglibyśmy uzyskać efekt przeniesienia bez oglądania pierwotnej strony.

Wady

Ta metoda była nadużywana przez spamerów od pozycjonowania, przez co nie jest zbyt lubiana przez silniki indeksujące strony w wyszukiwarkach.

Javascript

Jeśli chcemy przenieść się na inną stronę, i mamy dostępny JS, zawsze można napisać krótki skrypt:

[javascript]window.location = ‚http://youthcoders.net’;[/javascript]

Takie rozwiązanie pozwala nam na przejście do strony podanej jako nowa wartość właściwości `location’.

Dla pełnego przykładu pokażę, co zrobić, aby przeniesienie nastąpiło po np. 10 sekundach:

[javascript]window.setTimeout(function() { window.location = ‚http://youthcoders.net’ }, 10000);[/javascript]

Wady

Wymaga działającego JS. Wg różnych badań, rzekomo ok. 5% internautów ma wyłączoną obsługę JS. Nie wiem, jak do tego rozwiązania podchodzą wyszukiwarki.

PHP

W przypadku PHP sprawa jest najprostsza. Starczy jedna linia kodu i jesteśmy pewni, że strona zostanie przeniesiona. Co więcej wyszukiwarki najbardziej cenią sobie ten rodzaj przekierowań.

[php]header(‚Location: http://youthcoders.pl’);[/php]

Funkcja header musi być wywołana nim cokolwiek [nawet spacja czy enter] zostanie wysłane do przeglądarki. Służy ona do wysyłania surowego nagłówka HTTP do przeglądarki.

Aby być pewnym, że takie przekierowanie nie zostanie uznane za spam przez wyszukiwarkę, należy zastosować przekierowanie z wcześniej wysłanym statusem 301 – moved permanently.

[php]header(‚HTTP/1.1 301 Moved Permanently’);
header(‚Location: http://www.nowa-domena.pl’);
exit();[/php]

Po wywołaniu funkcji header warto wywołać exit / die. O tym dlaczego możesz przeczytać w artykule o header.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *