Sử dụng Redirect 301 thay đổi địa chỉ URL

301 RedirectHôm nay, Miso Blog thay đổi lại toàn bộ cấu trúc bài viết, và vì thế nên nhân tiện viết một bài về SEO ^^ Đến một ngày đẹp trời nào đó, bạn cũng sẽ muốn thay đổi lại cấu trúc bài viết, hay cấu trúc thư mục trong website của mình. Đơn giản chỉ là đổi tên thư mục, hay đổi tên Category, sửa lại tên bài viết chút ít... Đổi gì thì đổi, nhưng mà nhất quyết đừng quên làm điều này nhé: Redirect 301.

Những thay đổi đã liệt kê trên, đều tác động đến URL trên Website của bạn. URL mà thay đổi là anh Google sẽ "chơi" bạn ngay đấy :). Nói một cách cụ thể: Google đã đánh chỉ mục (index) toàn bộ các trang trên website của bạn, URL một hay nhiều trang đó tự nhiên thay đổi sẽ dẫn tới việc các kết quả tìm kiếm link đến trang đó sẽ mất tác dụng. Khách viếng thăm khi click vào kết quả tìm kiếm đó sẽ nhận được một dòng "404 - Page not found" to đùng.

Đơn giản thôi, Redirect 301 sẽ giải quyết vấn đề.

Giải quyết thế nào thì sẽ để sau :D Trước hết ta cùng nói về một số cách có thể dùng để giải quyết vấn đề thay đổi URL, nhằm dễ đối chiếu và so sánh hơn.

1. Dùng Redirect bằng HTML

Tạo một cấu trúc đường dẫn giống như đường dẫn cũ, tại đó được thay thế bằng một file HTML trắng có chứa đoạn mã trong phần <head> giúp người dùng và bọ tìm kiếm được chuyển hướng tới trang mới. Đoạn mã đó như sau:

<META HTTP-EQUIV="refresh" content="0;URL=http://misoblog.net/joomla/">

Cụ thể, chèn đoạn trên vào phần <head> sẽ giúp chuyển hướng tới trang http://misoblog.net/joomla/

Cách này thì rõ là có hiệu quả. Nhưng đó là cách "các cụ hay làm". Thời nay website hầu hết là web động chứ không còn là những file HTML nằm trong những thư mục riêng biệt như xưa nữa, nếu làm cách này thì sẽ mất công tạo nên một số thư mục mới sao cho URL giống với đường dẫn cũ. 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. Điểm tốt duy nhất là ta vẫn giữ được thứ hạng tìm kiếm trên Google, sau một thời gian thấy search mà nó ra kết quả đúng với URL mới thì ta có thể dẹp các redirect này đi.

Tuy nhiên cách này được khá nhiều spammer lợi dụng để đánh lạc hướng máy chủ tìm kiếm. 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. Sử dụng trang báo lỗi 404

Thực ra, khi kết quả tìm kiếm dẫn tới 1 URL sai thì server sẽ tự động báo lỗi 404 thôi :D Cách này chẳng qua là làm cho trang báo lỗi đó "có tính chất xã hội" một chút, giúp người dùng hiểu là trang họ đang tìm hiện không còn. Tuy nhiên cách này có 1 số đặc điểm sau đây:

  • Người xem sẽ cảm thấy khó chịu. Một số ít người "cần cù, chăm chỉ" thì sẽ chịu khó search lại trên chính website của bạn, và tìm ra trang họ cần. Nhưng những người như thế rất ít.
  • Trang lỗi 404 chẳng có tác dụng gì với Google cả :) Bạn sẽ vẫn mất hết thứ hạng của các trang này trên kết quả tìm kiếm. Đợi vài tuần hoặc vài tháng sau nhé.
  • Sau đó, dù đợi vài tuần hay vài tháng sau thì kết quả tìm kiếm đã không còn được đánh giá cao như trước nữa. Những website trước đây đi copy bài viết của bạn bây giờ lại vươn lên trang đầu, bạn thì ở trang sau. Hơn nữa, toàn bộ backlink trỏ đến những URL đó mà bạn đã khổ công xây dựng sẽ không còn tác dụng.

Nhưng nói chung, vẫn cần phải có một trang báo lỗi 404. Nó có tác dụng nhất định giúp người xem ít nhất không bị "tuyệt vọng". Bạn ghé thăm trang 404 của Miso nhé: http://misoblog.net/photoshop

Vậy sử dụng Redirect 301 thế nào?

Redirect 301 (hay Redirection 301) là cách tốt nhất khi bạn muốn chuyển hướng người xem và máy chủ tìm kiếm từ URL cũ tới URL mới. Khi dùng Redirect 301, tại định đạng HTML của trang mang URL cũ sẽ được trả về mã lỗi 301 (một loại khác với mã lỗi 404, 500, 503...) trong phần <head>. Mã lỗi này giải thích với máy chủ tìm kiếm, máy chủ website hoặc trình duyệt rằng trang này đã được chuyển sang một địa chỉ mới. Google hay các máy chủ tìm kiếm khi gặp mã lỗi 301 sẽ không đánh tụt thứ hạng tìm kiếm của trang đó, mà vẫn đảm bảo đưa người dùng và bọ tìm kiếm tới đúng nơi, đúng chỗ.

Thực hiện như sau:

Tạo một file .htaccess rồi upload lên thư mục gốc. Nội dung file .htaccess đó như sau:

Options +FollowSymLinks
RewriteEngine On
RewriteBase /
redirect 301 đường-dẫn-cũ đường-dẫn-mới

3 dòng đầu là những dòng lệnh cơ bản bạn nên có trong file .htaccess, câu lệnh cơ bản của Redirect 301 là ở dòng thứ 4.

Ví dụ, bạn muốn chuyển hướng bài viết cũ http://domain-cua-ban.com/category/photoshop tới địa chỉ mới http://domain-khac.com/cat/photoshop.html:

redirect 301 /category/photoshop http://domain-khac.com/cat/photoshop.html

Nếu chỉ redirect các trang trong cùng 1 website (cùng host) thì bạn có thể bỏ tên domain đi, chỉ giữ lại đường dẫn tương đối từ thư mục gốc. Ví dụ trong trường hợp Miso Blog thay đổi URL của các Category, còn các bài viết giữ nguyên tên, dùng các lệnh như sau:

redirect 301 /studying/photoshop/ /graphics/photoshop/
redirect 301 /studying/css/ /graphics/css/
redirect 301 /tips-tricks/joomla/ /joomla/tutorials/
redirect 301 /tips-tricks/general/ /misc/tips-tricks/
redirect 301 /diary/misc/ /misc/diary/
redirect 301 /freebies/downloads/ /misc/downloads/
redirect 301 /tips-tricks/mobile-phone/ /misc/mobile-phone/
redirect 301 /studying/voip/ /misc/voip/
redirect 301 /freebies/inspirations/ /graphics/inspirations/
redirect 301 /diary/photo/ /photography/photo/
redirect 301 /diary/music/ /misc/music/

Vấn đề là vận dụng cho tốt. Chúc bạn thành công!

Chú ý:
  • Phải đảm bảo rằng server Apache mà bạn đặt website có hỗ trợ mod_rewrite cho phép sử dụng .htaccess để thực hiện Redirect 301. Nếu không rõ bạn hãy hỏi nhà cung cấp hosting.
  • Nhớ backup file .htaccess cũ (nếu có) trước khi chỉnh sửa.

(Bài viết có tham khảo thông tin tại: www.tamingthebeast.net)


Hứng thú với những bài viết trên MisoBlog? Hãy thử đăng ký nhận tin mới qua email, hoặc chia sẻ bài viết bằng thanh công cụ dưới đây.
Email Twitter Facebook Myspace Stumbleupon Digg Delicious Technorati blogger google reddit Yahoo

Comments  

Thùy Uyênat 2010-11-24 18:30#
Miso giỏi code wá :(
Reply
Misoat 2010-11-24 19:57#
Cái này chỉ cần search và nghiên cứu là ra ngay à, không phải code đâu ^^
Reply
Mr.Hocat 2010-11-25 22:49#
Tính chuyển qua...phá bên Joomla :D , tranh thủ xem và học hỏi bác Miso ^^
Reply
Misoat 2010-11-26 02:45#
Lúc nào phá thì sang đây khoe nhá! :D
Phá gì chứ design giao diện thì thằng nào cũng mệt, ngồi cả buổi tối mới xong cái footer =.="
Reply
thái vũat 2010-11-27 10:39#
bác Miso xài woo theme à? nhìn quen quen, mà trang 404 bác làm "say say" ấn tượng đấy. em vào 1 lúc ngẫm lại, minh say chăng? hihi
Reply
Misoat 2010-11-27 11:02#
Đâu, theme này của Gavick bác ạ ^^
Trang 404 tớ chỉ muốn mang đến cho người xem một sự vui vẻ và đỡ bị hụt hẫng thôi :D Nếu người say, sao còn biết mình say :))
Reply
Thùy Uyênat 2010-11-27 23:42#
Cái số 404 lung linh đẹp wá :D
Reply
Thùy Uyênat 2010-11-27 23:45#
Sorry vì comment 2 cái liên tiếp! ko có ý định spam. Chỉ là comment cái trên xong chợt có góp ý về cái logo ở trên 1 chút!

Theo Uyên thì cái hàng chữ "Joomla, Design and Photography" Miso cho nó cao bằng cái dấu chấm của chữ i và chiều ngang track/kern cho dài ra hết chữ G của BLOG ở dưới, nhìn nó sẽ chặt chẽ và đẹp hơn cứ lơ lửng như thế này
Reply
Misoat 2010-11-27 23:54#
Cảm ơn Uyên! :)
Là như vầy phải không?
Reply
Thùy Uyênat 2010-11-28 01:28#
Như vầy là như thế nào? U có thấy thay đổi gì đâu :-?
Reply
Thùy Uyênat 2010-11-28 01:40#
À clear cache đi thì thấy rồi! Đúng là ý của Uyên như vậy đấy! Tuy nhiên khi thiết kế tuyệt đối đừng kéo giãn hay bóp méo chữ. Uyên ko biết Miso có kéo chiều ngang của chữ ra để nó vừa chữ G hay ko mà U thấy chữ có vẻ hơi mập và lùn, giống bị kéo giãn :D

Để chỉnh chiều ngang cho nó đúng ý mà ko cần kéo giãn chữ thì tốt nhất nên tăng khoảng cách giữa các ký tự bằng track/kern, chỉnh trong bảng Character hoặc bôi đen dòng chữ, nhấn tổ hợp phím Alt + mũi tên trái hoặc phải để tăng/giảm khoảng cách giữa các ký tự
Reply
Misoat 2010-11-28 08:40#
Hihi, là Miso kéo giãn nó ra đó :D
Miso làm lại rồi nè, nhìn đẹp chưa. May nhờ Uyên bảo giúp chiêu này, ko có thì không biết gì :-P
Cảm ơn Uyên!
À, thấy có gì cần sửa đổi nữa thì bảo Miso với nhé! ^^
Chúc Uyên CN tốt lành :)
Reply
Mr.Luat 2010-11-28 16:01#
Hi MISO, cám ơn MISO vè bài viết, cho mình hỏi thêm là có thể tích hợp joomla vào mybb hay vbb đc không vậy?
Reply
Misoat 2010-11-28 21:30#
Yup, 2 cái này còn chưa có bản chính thức, tuy nhiên kết quả là được. MyBB thì dùng Jfusion còn vBB thì dùng JVB. Mình thì chưa thử qua mấy vụ này ^^!
Reply
Mr.Luat 2010-11-28 22:16#
Cảm ơn Miso đã gợi ý, V sẽ tìm hiểu thử xem.
Reply
Chicken Soupat 2010-11-29 01:55#
Há há Miso đã trở lại và lợi hại gấp trăm lần :D
Reply
Misoat 2010-12-01 12:11#
Đừng nói thế, tớ ngại :"> Gấp 99 lần thôi.
Reply
Nguyen Quoc Vietat 2010-12-26 13:44#
cam on ban.
rat hay
Reply
Misoat 2010-12-28 11:27#
Rất cảm ơn bạn đã đọc và quan tâm những bài viết của mình.
Reply
TechBlogat 2011-03-29 22:42#
Ủa. Em nghe nói ông nào GĐ Google nói là thay đổi link dùng 301 sẽ rớt mất 20-30% link trên tìm kiếm đấy.
Reply
Misoat 2011-03-30 09:12#
Vậy hả? o.O Trước nay về SEO trên Google thì chỉ có Matt Cutts lên tiếng thôi, là ông đó hả?
Dù sao, nếu thông tin của bạn là chính xác, thì 20-30% vẫn là ít mà. Nếu không redirect 301, sure là link trên tìm kiếm mất còn nhiều hơn thế ^^
Reply
Đam Mê Sốat 2011-06-10 11:17#
Ban ơi.
Nếu mình chuyển từ subdomain abc.tenban.com sang tenban.com thì làm thế nào vậy bạn.
Có thể chuyển hết link bài viết sang được không,
Reply
Misoat 2011-06-10 14:20#
Nếu domain của bạn đang là abc.tenban.com, thì chuyển sang tenban.com như sau:

redirect 301 / 'http://'tenban.com/

Chú ý: không có dấu '
Reply
Hoàng Minh Tuấnat 2011-07-27 12:57#
miso ơi cho minh hỏi tí, nếu muốn thời gian chờ chuyển sang web nó lâu hơn 1 tí thì làm như thế nào ?
ví dụ từ ngaysang.net --> ngaysang.net/home ( chờ khoảng 3-->5 (s) ấy )
Reply
Misoat 2011-07-27 13:44#
Trong phần hướng dẫn redirect bằng HTML ở trên đoạn code có phần:
content="0;
Có nghĩa là chuyển ngay tới trang cần redirect (0s). Sửa số đó là được.
Reply
Hoàng Minh Tuấnat 2011-07-27 23:03#
vậy ak. thank miso nhiều nhé !
Reply
luioanhat 2011-09-11 13:36#
cái này có làm được với blog không vậy?
Mình xài tên miền cho blog mà bị hét hạn ko mua lại được nên muốn chuyển toàn bộ truy cập về tên miền blog của mình nhưng ko làm được.
Ai biết thì pm cho mình nhé Thanks!
Reply
Misoat 2011-09-12 14:45#
Nếu bạn muốn redirect hướng truy cập từ site A -> site B, thì phải cấu hình ở site A. Nguyên lý là như vậy.
Trường hợp bạn không còn quyền sở hữu domain ở site A thì cấu hình chuyển hướng không có tác dụng nữa.
Reply
Anhat 2011-10-29 23:54#
Ước gì mình đọc được bài viết này sớm hơm, hiện tại diễn đàn mình đã bị đứt link và bị google hiểu là bị lỗi 404. Nếu giờ mình dùng thủ thuật này để redirec thì mấy link kia có thể khôi phục lại được không bạn. Có gì gửi mail cho mình câu trả lời với nha! mình đang rất cần hỗ trợ, xin cảm ơn nhìu nhiu
Reply
Nhonptat 2012-02-26 00:27#
Trong trường hợp chuyển tất cả các bài viết qua một hosting và domain mới thì sao hả Miso?
Reply
Misoat 2012-02-28 15:52#
Cái này chỉ control trong phạm vi 1 domain thôi bạn ạ, nếu muốn chuyển từ domain này sang domain khác thì bạn phải config redirect trong CP của domain.
Reply
namat 2012-03-02 18:44#
bạn ơi, sau mình làm giống bạn rồi ma ko direct link dc. trang của mình là www.mycrazyfilm.co.cc nếu có rảnh thì nhờ xem hộ với. xin cảm ơn
Reply
Hack CFat 2012-03-08 07:58#
Miso cho mình hỏi nha. Mình dùng blogger nhưng muốn link dang
domaincuaminh.com/asasasgìđó đến domain 123.com thì làm sao
Reply
Misoat 2012-03-08 09:35#
Nếu vậy bạn ko cần dùng 301, mà vào trang quản trị domain, redirect cả domain sang 123.com là xong.
Reply
Tony Hoàngat 2012-03-08 08:15#
Cho tớ hỏi, mình chuyển PR được không cậu nhỉ?
Reply
Misoat 2012-03-08 09:37#
Một trong những tác dụng của việc redirect 301 là để trang cũ sau khi chuyển sang URL mới vẫn giữ được PR.
Reply

Wanna say something?