Redirect 301 -Cách thức chuyển hướng, thay đổi URL trang web

Redirect 301 là cách thức chuyển hướng trang web hoặc thay đổi 1 URL, đây là một công việc mà các SEOer và Developer thường xuyên làm. Redirect 301 có thể xuất phát từ những nhu cầu sau:

a. Chuyển hướng toàn bộ website từ tên mền A sang tên miền B, 1 thư mục A sang 1 thư mục B hoặc 1 trang web A (web page – Url 1) sang trang web B (web page khác – Url 2).

b. Thay đổi URL thông thường, kém thân thiện thành 1 URL thân thiện với người dùng và Search Engine (URL Friendly).

c. Thông báo với người dừng và SE biết URL 1 không còn sử dụng và đã chuyển hoàn toàn sang URL 2 nhằm tránh gây ra những liên kết gãy.

d. Chuyển hướng trang web trong trường hợp 2 trang trùng lắp nội dung (duplicate content)

e. Phục vụ cho các mục đích riêng khác của SEOer và Developer.

Image

Rediect trang web có 2 dạng:

– Redirect 301: Tham số truyền thông báo cho SE biết URL 1 sẽ chuyển sang URL 2 vĩnh viễn, có nghĩa là tất cả những thế mạnh của URL 1 sẽ chuyển hết sang URL 2 (Cách này SEOer thường dùng, có giá trị).

– Redirect 302: Tham số truyền thông báo cho SE biết URL 1 sẽ chuyển tạm thời sang URL 2 (Temporary, cách này không có ý nghĩa trong SEO).

Cách thức redirect 301 được thể hiện nhiều ngôn ngữ khác nhau:

1. Redirect dùng ngôn ngữ HTML

Code:
PHP Code [HVIT] :
<meta http-equiv=”refresh” content=”0;URL=http://[spam].net”>

Cách này rất thủ công, và đặc biệt mất công với những trang thay đổi đồng loạt rất nhều URL. Mặt khác cách này được khá nhiều spammer lợi dụng để đánh lạc hướng SE. Chúng tập trung tối ưu hoá một trang rất tốt, sau đó redirect trang đó tới 1 trang khác có nội dung không liên quan (tất nhiên là theo mục đích riêng). Google biết điều đó, chính vì vậy không nên quá lạm dụng kỹ thuật này.

2. Redirect 301 dùng ngôn ngữ PHP

Code:
Code :
<?
header(“HTTP/1.1 301 Moved Permanently”);
header(“Location: http://www.[spam].net”);
?>

3. Redirect 301 dùng ngôn ngữ ASP

Code:
Code :
<%@ Language=VBScript %>
<% Response.Status=”301 Moved Permanently”
Response.AddHeader “Location”,”http://www.[spam].net/”
%>

4. Redirect 301 dùng ngôn ngữ ASP.NET

Code:
Code :
<script runat=”server”>
private void Page_Load(object sender, System.EventArgs e) {
Response.Status = “301 Moved Permanently”;
Response.AddHeader(“Location”,”http://www.[spam] .net/”);
}
</script>

5. Redirect 301 dùng ngôn ngữ JSP (Java Server Page)

Code:
Code :
<%
response.setStatus(301);
response.setHeader( “Location”, “http://www.[spam] .net/” ); response.setHeader( “Connection”, “close” );
%>

6. Redirect 301 dùng ngôn ngữ PERL

Code:
Code :
$q = new CGI; print $q->redirect(“http://www.[spam] .net/”);

7. Redirect 301 dùng ngôn ngữ Ruby on Rails

Code:
Code :
def old_action
headers[“Status”] = “301 Moved Permanently”
redirect_to “http://www.[spam] .net/”
end

8. Redirect 301 dùng IIS 7.0

Code:
Code :
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name=”Redirect to WWW” stopProcessing=”true”>
<match url=”.*” />
<conditions>
<add input=”{HTTP_HOST}” pattern=”^[spam].net$” />
</conditions>
<action type=”Redirect” url=”http://www.[spam] .net/{R:0}”
redirectType=”Permanent” />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>

9. Redirect 301 dùng tập tin .htaccess

a. Tập tin .htaccess là gì ?

htaccess là một tập tin cấu hình đặc biệt, htaccess cho phép bạn thay đổi cách hoạt động của máy chủ Apache ở tầng thư mục. Tập tin htaccess gồm các dòng lệnh, có thể tùy biến theo người dùng, được đặt trong một thư mục nào đó, nó sẽ có tác dụng cho thư mục đó và tất cả các thư mục con. Một trong những ứng dụng phổ biến của htaccess là cho phép viết lại đường dẫn URL (rewrite URL).

b. Cài đặt tập tin .htaccess

Điều đầu tiên là bạn phải đảm bào chắc server Apache của bạn hỗ trợ mod_rewrite cho phép sử dụng .htaccess để áp dụng redirect 301. Sau đó bạn phải tải tệp tin .htaccess từ thư mục gốc chứa các trang web của bạn. Nếu như bạn không có tệp tin .htaccess trong thư mục gốc thì bạn phải tạo nó với trình soạn thảo text như Notepad, Ultraedit hay EditPadPro, v.v. Phải chắc chắn rằng bạn viết đúng tên và có dấu chấm “.” đầu tệp tin.

Người sử dụng Windows sẽ không thể tạo được tệp tin .htaccess vì tệp tin đặc biệt này không chứa tên, nó chỉ chứa tên của phần tên mở rộng. Vì thế bạn hãy tải tệp tin text bất kỳ trong window rồi tải lên server qua FTP rồi đổi tên trên sever.

Sau khi tải tệp tin .htaccess xuống máy, nếu đã có các dòng lệnh trước đó thì hãy cẩn thận đừng thay đổi nếu như bạn không chắc, tốt nhất hãy sao lưu một bản để phòng trường hợp cần thiết bạn vẫn có thể quay trở lại.

c. Cách thức sử dụng .htaccess

– Cài đặt cơ bản:

Code:
Code :
Options +FollowSymLinks
RewriteEngine On
RewriteBase /

– Redirect 301 cơ bản

Code:
Code :
redirect 301 /old/index.htm http://www.[spam].net/forum.htm

– Thay đổi phần mở rộng của file: Chuyển từ /forum.php sang URL mới /forum.html

Code:
Code :
RedirectMatch 301 (.*)\.php$ http://www.example.com$1.html

– Chuyển từ http://www.[spam].net sang [spam].net

Code:
Code :
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^[spam]\.net
RewriteRule (.*) http://[spam].net/$1 [R=301,L]

– Chuyển từ [spam].net sang http://www.[spam].net

Code:
Code :
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^[spam].net [NC]
RewriteRule ^(.*)$ http://www.[spam].net/$1 [L,R=301]

– Chuyển từ [spam].net/index.php sang [spam].net/

Code:
Code :
Options +FollowSymLinks
RewriteEngine on
# index.php to /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*index\.php\ HTTP/
RewriteRule ^(.*)index\.php$ /$1 [R=301,L]

– Chuyển toàn bộ site đến tên miền mới

Code:
Code :
Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://www.[spam].net/$1 [R=301,L]

– Chuyển toàn bộ trang trong 1 thư mục (congcuseo) đến 1 trang mới (lamseo.php)

Code:
Code :
RewriteRule ^congcuseo(.*)$ /lamseo.php [L,R=301]

Theo [spam].net