Intro
Przekierowanie jest metodą wysyłania użytkowników i wyszukiwarek do różnych adresów URL z jednego kotwicy. Istnieją trzy podstawowe przekierowania używane regularnie. Poniżej wymieniono najczęściej używane przekierowania:
Strona trwale przeniesiona (301)
To przekierowanie jest stałym przeniesieniem, które przekazuje 90-99% całego link juice do przekierowywanej strony. Kod 301 odnosi się do kodu statusu HTTP dla przekierowań. Kod statusu HTTP 301 jest preferowaną metodą przekierowania witryny w przypadku trwałych przeniesień.
Znaleziono/przeniesiono tymczasowo (302) (HTP 1.1 / HTTP 1.0)
Kod 302 jest przekierowaniem tymczasowym. Nie przekazuje ono żadnego link juice do nowej lokalizacji. W większości przypadków takie przekierowanie nie jest idealnym rozwiązaniem. Działa na zasadzie protokołu HTTP (Hypertext Transfer Protocol), który daje instrukcje linkowi, jak ma się zachowywać. Pierwotnie kod 302 był uważany za stronę tymczasową, ale w wersji 1.1 zmieniono to na słowo found.
Przeniesiono tymczasowo (307) (HTTP 1.1.)
Przekierowanie 307 to krok wtórny HTTP 1.1 w stosunku do przekierowania 302. Wyjątkiem jest sytuacja, gdy zawartość jest przenoszona w celu konserwacji witryny, a serwer został przygotowany. Niektóre z głównych silników używają robotów indeksujących, które postrzegają kod 307 jako kod 301, więc w większości przypadków nie jest to korzystny wybór. Kod 302 jest nadal lepszym wyborem dla strony, która została przeniesiona i zostanie później przywrócona do typowego formatowania.
Meta Odśwież
jest to rodzaj przekierowania, które odbywa się na poziomie strony, a nie serwera. Nie jest to szeroko polecana technika SEO, ponieważ jest wolniejsza i nie jest powszechnie kojarzona ze stabilnością. Meta odświeżenie jest zazwyczaj związane z odliczaniem czasu, któremu towarzyszy tekst. Zazwyczaj pojawia się też komunikat, że jeśli użytkownik nie został przekierowany w ciągu 5 sekund, powinien kliknąć link ręcznie. Meta refresh przekaże część link juice, ale nadal nie jest optymalnym wyborem przekierowania.
Najlepsze taktyki SEO: Przekierowania
Aby utrzymać wartość optymalizacji witryny, konieczne jest, aby przekierowany ruch faktycznie trafiał we właściwe miejsce. Monitorowanie najlepszych praktyk i tego, co sprawdziło się w innych witrynach, to idealna strategia budowania wyróżniającej się witryny. Przekierowanie nie jest rzadką praktyką w kręgach cyfrowych, jest dość powszechne. Powszechny scenariusz przekierowania dotyczy adresów URL, które muszą zostać przeniesione na zawsze pod inny adres. Wiele z kodów przekierowań będzie działać w ramach możliwości, ale przekierowanie 301 jest preferowaną metodą ze względu na wydajność.
Przekierowanie 301 mówi wyszukiwarkom i przeglądarkom, że dana strona została przeniesiona na stałe. Jest to dalej interpretowane jako oznaczające, że oprócz zmiany lokalizacji strony, jej zawartość i wszelkie aktualizacje można znaleźć na tej nowej stronie. Proces ten będzie trwał dłużej, jeśli roboty indeksujące są rzadkimi gośćmi witryny. Inne kody przekierowań są niekorzystne w większości przypadków z powodu niskiej pozycji w rankingu. Jedynym przypadkiem, kiedy wybór jednego z przekierowań poza kodem 301 jest uważany za korzystną alternatywę, jest sytuacja, w której projektant strony nie dba o utratę link juice. Przenoszenie treści staje się trudne, gdy strona otrzymuje nową domenę lub gdy treść przenosi się do innej lokalizacji.
301 Przykładowy problem z Apache
Problem
Uruchamianie po raz pierwszy strony internetowej, która była hostowana na innym serwerze, a nie na domenie macierzystej. Podczas przenoszenia strony na nowy dom i serwer dedykowany ważne jest, aby nie tworzyć nowej strony jako podkatalogu strony hosta. Przekierowanie musi uwzględniać wiele nazw plików i folderów ze zmianami w kodzie 301, aby strona była gotowa do działania w wyszukiwarkach.
Rozwiązanie
Najprostszą poprawką byłoby dodanie do kodu PHP przekierowania 301, aby wykorzystać funkcjonalność Apache.
Instalacja
Aby to zadziałało, serwer powinien mieć zainstalowanego Apache'a. Sprawdź u swojego programisty, czy Apache został zainstalowany domyślnie. Programista sprawdzi, czy jest on zainstalowany, dodając odpowiednią linię do pliku konfiguracyjnego.
Kontekst
Moduł rewrite działa w dwóch kontekstach, per-server i per-directory. Kontekst per-serwer wymaga, aby pliki apache były edytowane. Kontekst per-directory wykorzystuje pliki htaccess.
Wyrażenie regularne (regexes) to ciąg znaków, który pasuje do innych ciągów w zestawie. Istnieją pewne reguły składni, które mają zastosowanie, a program jest używany przez edytory tekstu do manipulowania ciałami tekstu o wzorcach. Jest to cenna umiejętność do opanowania, którą można wykorzystać do przekierowywania adresów URL.
Poniżej znajduje się lista znaków i operatorów używanych w regex.
Kropka - pasuje do wszystkiego, co jest jej przypisane Gwiazdka - pasuje do znaków przypisanych od zera do więcej Znak plusa - pasuje do znaków przed i po znaku głównym Nawias - jest to wartość zamknięta, która jest używana jako odniesienie wsteczne do przechowywania zmiennej do późniejszego użycia. Wartość 1 i Wartość 2 - gdy w nawiasie zamknięte są więcej niż dwie wartości.
Przekierowywanie plików i folderów między domenami
Nowo utworzona witryna wymaga przekierowania ze starszego serwera na nowy przy zachowaniu wszystkich nazw plików.
Przykład przekierowania
https://www.xyzabc.com/seo/somefile.php Do: /somefile/.php
ROZWIĄZANIE: Dodaj niezbędne dyrektywy do odpowiedniego pliku na serwerze xyzabc.com.
Redirectmatch 301 / seo/ (.*)/$1
Wyjaśnienie
Regex: /seo/(.*) pozwala apache'owi wiedzieć, aby dopasować folder SEO. Nawias mówi Apache'owi, aby zapisał ten ciąg jako odnośnik.
Przekierowywanie kanonicznych nazw hostów
Twórca strony musi przekierować wszystkie żądania, które nie zaczynają się od www.xyzabc.com. Zrobiono to, aby upewnić się, że nie wystąpią żadne błędy kanonizacji.
Przekieruj: https://xyzabc.com Do: https://www.xyzabc.com
Przekierowanie: https://mail.xyzabc.com/ Do: https://www.xyzabc.com
Przekierowanie: https://xyzabc.com/somefile.php Do: https://www.xyzabc.com/somefile.php
ROZWIĄZANIE: Dodaj odpowiednie dyrektywy
RewriteCond %{HTTP_HOST} *!^www*.xyzabc.com\.org [NC] RewriteRule (.*) https://www.xyzabc.com/$1 [L,R=301]
Objaśnienie
Apache dowiaduje się z dyrektywy, że host wymaga sprawdzenia, a odwiedzający uzyskuje dostęp, i daje programowi znać, że jeśli adres URL nie jest równy ustalonym warunkom, to należy przekierować go na nową stronę.