Redirect là gi?
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:
- 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).
- 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).
- 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.
- Chuyển hướng trang web trong trường hợp 2 trang trùng lắp nội dung (duplicate content)
- 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-va-302
redirect 301 và redirect 302
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://seodng.com">
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.seodng.com");
?>
3. Redirect 301 dùng ngôn ngữ ASP
<%@ Language=VBScript %>
<% Response.Status="301 Moved Permanently"
Response.AddHeader "Location","http://www.seodng.com/"
%>
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.seodng.com/");
}
</script>
5. Redirect 301 dùng ngôn ngữ JSP (Java Server Page)
<%
response.setStatus(301);
response.setHeader( "Location", "http://www.seodng.com/" );
response.setHeader( "Connection", "close" );
%>
6. Redirect 301 dùng ngôn ngữ PERL
$q = new CGI; print $q->redirect("http://www.seodng.com/");
7. Redirect 301 dùng ngôn ngữ Ruby on Rails
def old_action
headers["Status"] = "301 Moved Permanently"
redirect_to "http://www.seodng.com/"
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="^seodng.com$" />
</conditions>
<action type="Redirect" url="http://www.seodng.com/{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 .htaccess
- Redirect 301 cơ bản
redirect 301 /old/index.htm http://seodng.com/
- 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.seodng.com sang seodng.com
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^seotopten\.net
RewriteRule (.*) http://seodng.com/$1 [R=301,L]
- Chuyển từ seodng.com sang www.seodng.com
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^seodng.com [NC]
RewriteRule ^(.*)$ http://www.seodng.com/$1 [L,R=301]
- Chuyển từ seodng.com/index.php sang seodng.com/
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.seodng.com/$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]
Thanks for reading Redirect là gi?