Przekierowanie adresu URL http to operacja automatycznej zmiany adresu URL z jednego adresu URL na inny.
Przekierowanie strony URL to operacja automatycznej zmiany adresu URL z jednego adresu URL na inny.
To przekierowanie jest wykonywane z następujących powodów:
Użytkownik może dotrzeć do starego adresu URL ze starych linków zewnętrznych lub zakładki.
przez webmastera witryny, który dodaje skrypt.
Przekierowanie po stronie serwera odbywa się na serwerze, konfigurując oprogramowanie serwera Apache / IIS lub przy użyciu skryptu PHP / ASP / ASP.NET.
Jest to preferowany sposób przekierowywania adresów URL, ponieważ można zwrócić kod stanu HTTP 301 Przeniesiony na stałe.
Wyszukiwarki używają statusu 301 do przenoszenia rankingu strony ze starego adresu URL na nowy.
Przekierowanie po stronie klienta odbywa się w przeglądarce internetowej użytkownika za pomocą metatagu odświeżania HTML lub kodu JavaScript.
Przekierowanie klienta jest mniej preferowane, ponieważ nie zwraca kodu stanu HTTP 301.
Nazwa domeny |
Serwer hostingowy |
Umieszczenie kodu przekierowania |
---|---|---|
nie zmieniony | nie zmieniony | stara strona na tym samym serwerze |
nie zmieniony | zmieniony | stara strona na nowym serwerze |
zmieniony | nie zmieniony | stara strona na tym samym serwerze |
zmieniony | zmieniony | stara strona na starym serwerze |
* Tylko z przekierowaniem .htaccess : dodaj kod przekierowania do pliku httpd.conf lub do pliku .htaccess .
Kod statusu | Nazwa kodu statusu | Opis |
---|---|---|
200 | OK | pomyślne żądanie HTTP |
300 | Wiele możliwości wyboru | |
301 | Przeniesiony na stałe | stałe przekierowanie adresu URL |
302 | Znaleziony | tymczasowe przekierowanie adresu URL |
303 | Zobacz inne | |
304 | Niezmodyfikowany | |
305 | Użyj proxy | |
307 | Tymczasowe przekierowanie | |
404 | Nie znaleziono | Nie znaleziono adresu URL |
Kod stanu HTTP 301 Przeniesiony Trwale oznacza stałe przekierowanie adresu URL.
Przekierowanie 301 jest preferowanym sposobem przekierowania adresów URL, ponieważ informuje wyszukiwarki, że adres URL został przeniesiony na stałe, a wyszukiwarki powinny umieścić nową stronę URL w wynikach wyszukiwania zamiast starej strony URL i przenieść nową stronę URL, pozycja strony ze starym adresem URL.
Przekierowanie 301 można wykonać między domenami lub w tej samej domenie.
Google zaleca użycie przekierowania 301.
Skrypt przekierowania | Strona przekierowująca | Stary typ pliku strony | Adres URL lub domena przekierowania | Stary typ serwera URL | Obsługa przekierowań 301 |
---|---|---|---|---|---|
PHP | Po stronie serwera | .php | URL | Apache / Linux | tak |
ASP | Po stronie serwera | .żmija | URL | IIS / Windows | tak |
ASP.NET | Po stronie serwera | .aspx | URL | IIS / Windows | tak |
.htaccess | Po stronie serwera | wszystkie | URL / domena | Apache / Linux | tak |
IIS | Po stronie serwera | wszystkie | URL / domena | IIS / Windows | tak |
Tag linku kanonicznego HTML | Strona klienta | .html | URL | wszystkie | nie |
Odświeżanie meta HTML | Strona klienta | .html | URL | wszystkie | nie |
Ramka HTML | Strona klienta | .html | URL | wszystkie | nie |
Javascript | Strona klienta | .html | URL | wszystkie | nie |
jQuery | Strona klienta | .html | URL | wszystkie | nie |
skrypt przekierowania - język skryptowy używany do przekierowania.
strona przekierowania - gdzie następuje przekierowanie - po stronie serwera lub klienta .
typ pliku starej strony - typ starej strony URL, która może zawierać język skryptowy kodu przekierowania.
przekierowanie adresu URL lub domeny - obsługuje przekierowanie adresu URL pojedynczej strony internetowej lub przekierowanie domeny całej witryny.
typowy stary typ serwera URL - typowe oprogramowanie i system operacyjny serwera.
Obsługa przekierowania 301 - wskazuje, czy można zwrócić stałą odpowiedź na stan przekierowania 301.
Zastąp kod old-page.php kodem przekierowania do new-page.php.
old_page.php:
<?php
// PHP permanent URL redirection
header("Location: http://www.mydomain.com/new-page.php", true,
301);
exit();
?/
Stara strona musi mieć rozszerzenie pliku .php.
Nowa strona może mieć dowolne rozszerzenie.
Zobacz: przekierowanie PHP
Plik .htaccess to lokalny plik konfiguracyjny serwera Apache.
Jeśli masz uprawnienia do zmiany pliku httpd.conf , lepiej jest dodać dyrektywę Redirect w pliku httpd.conf zamiast w pliku .htaccess .
Trwałe przekierowanie ze starej strony.html do nowej strony.html .
.htaccess:
Redirect 301 /old-page.html http://www.mydomain.com/new-page.html
Stałe przekierowanie ze wszystkich stron domeny do newdomain.com .
Plik .htaccess powinien znajdować się w katalogu głównym starej witryny.
.htaccess:
Redirect 301 / http://www.newdomain.com/
Zobacz: przekierowanie .htaccess
old-page.asp:
<%@ Language="VBScript" %/
<%
' ASP permanent URL redirection
Response.Status="301 Moved Permanently"
Response.AddHeader "Location", "http://www.mydomain.com/new-page.html"
Response.End
%/
old-page.aspx:
<script language="C#" runat="server"/
// ASP.net permanent URL redirection
private void Page_Load(object sender, EventArgs e)
{
Response.Status = "301 Moved Permanently";
Response.AddHeader("Location","http://www.mydomain.com/new-page.html");
Response.End();
}
</script/
Przekierowanie metatagu odświeżającego HTML nie zwraca kodu stanu stałego przekierowania 301, ale jest traktowane przez Google jako przekierowanie 301.
Zastąp starą stronę kodem przekierowania adresem URL strony, na którą chcesz przekierować.
old-page.html:
<!-- HTML meta refresh URL redirection --/
<html/
<head/
<meta http-equiv="refresh"
content="0; url=http://www.mydomain.com/new-page.html"/
</head/
<body>
<p>The page has moved to:
<a href="http://www.mydomain.com/new-page.html">this
page</a></p>
</body>
</html>
Zobacz: przekierowanie HTML
Przekierowanie JavaScript nie zwraca kodu stanu stałego przekierowania 301.
Zastąp starą stronę kodem przekierowania adresem URL strony, na którą chcesz przekierować.
old-page.html:
<html>
<body>
<script type="text/javascript">
// Javascript URL redirection
window.location.replace("http://www.mydomain.com/new-page.html");
</script>
</body>
</html>
Zobacz: Przekierowanie Javascript
Przekierowanie jQuery to w rzeczywistości inny typ przekierowania JavaScript.
Przekierowanie jQuery nie zwraca kodu stanu stałego przekierowania 301.
Zastąp starą stronę kodem przekierowania adresem URL strony, na którą chcesz przekierować.
old-page.html:
<!DOCTYPE html>
<html>
<body>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
//
jQuery URL redirection
$(document).ready( function() {
url = "http://www.mydomain.com/new-page.html";
$( location ).attr("href",
url);
});
</script>
</body>
</html>
Zobacz: przekierowanie jQuery
Link kanoniczny nie przekierowuje do preferowanego adresu URL, ale może stanowić alternatywę dla przekierowania adresu URL w przypadku witryn, z których większość ruchu pochodzi z wyszukiwarek.
Znacznik linku kanonicznego HTML może być używany, gdy istnieje kilka stron o podobnej treści i chcesz wskazać wyszukiwarkom, której strony chcesz użyć w wynikach wyszukiwania.
Kanoniczny tag linku może prowadzić do tej samej domeny, a także do wielu domen.
Dodaj znacznik linku kanonicznego do starej strony, aby utworzyć łącze do nowej strony.
Dodaj znacznik linku kanonicznego do stron, na których nie chcesz, aby ruch wyszukiwarek prowadził do preferowanej strony.
Tag linku kanonicznego należy dodać w sekcji <head>.
old-page.html:
<link rel="canonical" href="http://www.mydomain.com/new-page.html">
Zobacz: link do kanonicznego adresu URL
W przekierowywaniu ramki plik new-page.html jest oglądany przez ramkę html.
To nie jest prawdziwe przekierowanie adresu URL.
Przekierowywanie ramek nie jest przyjazne dla wyszukiwarek i nie jest zalecane.
old-page.html:
<!-- HTML frame redirection -->
<html>
<head>
<title>Title of new page</title>
</head>
<frameset cols="100%">
<frame src="http://www.mydomain.com/new-page.html">
<noframes>
<a href="http://www.mydomain.com/new-page.html">Link
to new page</a>
</noframes>
</frameset>
</html>