Saturday, October 11, 2014

Hướng dẫn chuyển hướng website Redirect 301

Leave a Comment

Trong quá trình quản trị web và seo website, việc 1 trang nào đó lỗi và chúng ta muốn chuyển sang đường dẫn khác là rất thường gặp. Đặt biệt khi seo việc chuyển hướng các đường dẫn lỗi, đã xóa về 1 đường dẫn khác là rất quan trọng. Đầu tiên chúng ta cần tìm hiểu Redirect ?


Redirect là gi?



- 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 có thể xuất phát từ những nhu cầu sau:
  1. - 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).
  2. - 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).
  3. - 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.
  4. - Chuyển hướng trang web trong trường hợp 2 trang trùng lắp nội dung (duplicate content)
  5. - Phục vụ cho các mục đích riêng khác của SEOer và Developer.

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 sử dụng redirect 301 cho từng ngôn ngữ lập trình

1. Redirect dùng ngôn ngữ HTML
 <meta http-equiv="refresh" content="0;URL=http://seotopten.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
<? 
header("HTTP/1.1 301 Moved Permanently"); 
header("Location: http://www.seotopten.net"); 
?>
3. Redirect 301 dùng ngôn ngữ ASP
<%@ Language=VBScript %> 
<% Response.Status="301 Moved Permanently" 
Response.AddHeader "Location","http://www.seotopten.net/" 
%>
4. Redirect 301 dùng ngôn ngữ ASP.NET
<script runat="server"> 
private void Page_Load(object sender, System.EventArgs e) {  
   Response.Status = "301 Moved Permanently";  
   Response.AddHeader("Location","http://www.seotopten.net/"); 
} 
</script>
5. Redirect 301 dùng ngôn ngữ JSP (Java Server Page)
<% 
response.setStatus(301); 
response.setHeader( "Location", "http://www.seotopten.net/" ); 
response.setHeader( "Connection", "close" ); 
%>
6. Redirect 301 dùng ngôn ngữ PERL
$q = new CGI; print $q->redirect("http://www.seotopten.net/");
7. Redirect 301 dùng ngôn ngữ Ruby on Rails
def old_action 
headers["Status"] = "301 Moved Permanently" 
redirect_to "http://www.seotopten.net/" 
end
8. Redirect 301 dùng IIS 7.0
<configuration>   
  <system.webServer>     
    <rewrite>       
     <rules>         
      <rule name="Redirect to WWW" stopProcessing="true">           
       <match url=".*" />           
         <conditions>             
           <add input="{HTTP_HOST}" pattern="^seotopten.net$" />  
         </conditions>           
             <action type="Redirect" url="http://www.seotopten.net/{R:0}"
               redirectType="Permanent" />        
      </rule>       
     </rules>     
    </rewrite>   
  </system.webServer> 
</configuration>

Cách Redirect 301 sử dụng tập tin .htaccess

1. 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).

2. 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.

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

- Redirect 301 cơ bản
redirect 301 /old/index.htm http://seotopten.net/
- Thay đổi phần mở rộng của file: Chuyển từ /bai-viet.php sang URL mới /bai-viet.html
RedirectMatch 301 (.*).php$ http://www.example.com$1.html
- Chuyển từ www.seotopten.net sang seotopten.net
Options +FollowSymLinks 
RewriteEngine on 
RewriteCond %{HTTP_HOST} . 
RewriteCond %{HTTP_HOST} !^seotopten.net 
RewriteRule (.*) http://seotopten.net/$1 [R=301,L]
- Chuyển từ seotopten.net sang www.seotopten.net
Options +FollowSymLinks 
RewriteEngine on 
RewriteCond %{HTTP_HOST} ^seotopten.net [NC] 
RewriteRule ^(.*)$ http://www.seotopten.net/$1 [L,R=301]
- Chuyển từ seotopten.net/index.php sang seotopten.net/
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
Options +FollowSymLinks 
RewriteEngine on 
RewriteRule (.*) http://www.seotopten.net/$1 [R=301,L]
- Chuyển toàn bộ trang trong 1 thư mục (congcuseo) đến 1 trang mới (lamseo.php)
RewriteRule ^congcuseo(.*)$ /lamseo.php [L,R=301]
- Chuyển các trang động tới một trang mới
Để chuyến trang web động pages.php?id=n (với n là giá trị biến) tới một trang tĩnh mới new-pages.html thì bạn có thể làm như sau :
RewriteRule ^pages.php?id=(.*)$ /new-pages.htm [L,R=301]

0 comments:

Post a Comment