Przekierowanie 301 i SEO

niedziela, Listopad 8th, 2009 Brak Komentarzy
Kategoria: Pozycjonowanie | Tagi: , , , ,

Informacje wstępne (by Wiki)

301 (Moved Permanently / Trwale przeniesiony) – żądany zasób zmienił swój URI i w przyszłości zasób powinien być szukany pod wskazanym nowym adresem.

GET /index.php HTTP/1.1
Host: www.domena.pl
HTTP/1.1 301 Moved Permanently
Location: http://www.nowa-domena.pl

301 i SEO

Kiedy przekierowanie jest potrzebne i wykorzystywane w działaniach SEO?

  • kilka domen kieruje do tego samego serwisu. W takich przypadkach może się rodzić problem z filtrem Duplicate Content. Wyszukiwarka Google indeksując strony i widząc taki sam serwis pod kilkoma domenami, bierze pod uwagę i wyświetla w wynikach wyszukiwania jedynie tą, która uzna za najbardziej właściwą (często kieruje się wiekiem domeny, bądź faktem, którą pierwszą „zobaczyła”)
  • zmiana domeny na nową
  • zmiana skryptu, o który serwis jest oparty i przeniesienie starych podstron na nowe
  • filtr (kara) w Google ;)
  • plus wiele innych, mniej lub bardziej ważnych sytuacji


Co za sobą niesie przekierowanie?
Dobrze wykonany proces przekierowania 301, przenosi całą moc serwisu – zostaną przeniesione pozycje, linki przychodzące, Page Rank, częściowo i Trust Rank strony. Oczywiście nie jest to proces ekspresowy i trwa jakiś czas, zanim Google przeniesie wszystkie potrzebne czynniki, jednak w ciągu maksymalnie trzech miesięcy wszystko powinno być wykonane poprawnie. Pozycje również powinny przeskoczyć bez żadnych „większych wahań” na nową domenę.

Sposoby na wykonanie przekierowań w różnych językach

PHP

1
2
3
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.domena.pl/");
exit();

Apache Mod_Rewrite

1
2
3
4
RewriteEngine On
RewriteCond %{HTTP_HOST} ^stara-domena\.pl$ [OR]
RewriteCond %{HTTP_HOST} ^www\.stara-domena\.pl$ [OR]
RewriteRule ^.*$ http://www.domena.pl [R=301,L]

HTML

1
<meta http-equiv="refresh" content="10;url=http://www.domena.pl/" />

ASP

1
2
3
4
5
<%@ Language=VBScript %>
<%
Response.Status="301 Moved Permanently"
Response.AddHeader "Location","http://www.domena.pl/"
%>

ASP .NET

1
2
3
4
5
6
7
<script runat="server">
private void Page_Load(object sender, System.EventArgs e)
{
Response.Status = "301 Moved Permanently";
Response.AddHeader("Location","http://www.domena.pl");
}
</script>

JSP (Java)

1
2
3
4
5
<%
response.setStatus(301);
response.setHeader( "Location", "http://www.domena.pl/" );
response.setHeader( "Connection", "close" );
%>

CGI PERL

1
2
$q = new CGI;
print $q->redirect("http://www.domena.pl/");

PERL

1
2
3
4
5
#!/usr/bin/perl      -w
use strict;
print "Status: 301 Moved Permanently\n";
print "Location: http://www.domena.pl\n\n";
exit;

Ruby on Rails

1
2
3
4
def old_action
headers["Status"] = "301 Moved Permanently"
redirect_to "http://www.domena.pl/"
end

Powyższe przykłady nie były sprawdzane przeze mnie w każdym z wymienionych języków, dlatego nie mogę dać 100% pewności na ich działanie. Jest to podstawowe przekierowanie 301 ze starej domeny na nową. Nie bierze pod uwagę przekierowania podstron starego serwisu. O zaawansowanych metodach wykonywania przekierowań (za pomocą .htaccess / PHP) wkrótce…

Przydatne informacje znajdziecie również pod odnośnikami:

  • Print
  • RSS
  • Digg
  • Facebook
  • Twitter
  • del.icio.us
  • Google Bookmarks
  • Gwar
  • Wykop

Podobne wpisy:


Zostaw Komentarz

Wszelkie prawa zastrzeżone. Materiał zawarty na tej stronie jest ograniczony prawami autorskimi oraz innymi prawami i nie może być kopiowany, publikowany i rozprowadzany w żadnej formie.