4.5.1. Đặt bài toán
Như chúng ta đã biết với một website sẽ có rất nhiều trang, làm cách nào đó để quét tất cả các liên kết trong trang và lưu lại thành file có tên sitemap.xml, sitemap là một danh sách các trang hoặc các liên kết của trang web để người đọc dễ dàng truy cập hoặc để cho các con bọ của các công cụ tìm kiếm dễ dàng thu thập thông tin.
4.5.2. Phƣơng pháp giải quyết
Đối với mỗi trang web thì sẽ có hàng trăm, hàng ngàn liên kết. Mỗi liên kết một loại thuộc tính là follow hoặc nofollow, với follow có nghĩa là cho phép theo liên kết đó, còn nofollow thì không cho phép theo.
Bắt đầu từ một trang trong website, tiến hành lấy toàn bộ thông tin về liên kết của trang đó, với thông tin này ta quan tâm tới liên kết trong trang hay liên kết ngoài trang và thuộc tính rel là follow hoặc nofollow. Sau đó chúng ta tiếp tục xác định trang để quét kế tiếp, và phải đảm bảo rằng các liên kết phải trong một site, có thuộc tính là follow và chưa quét lần nào.
Để tạo được một sitemap hoàn chỉnh đa phần code xử lý nằm ở file sitemappage.php.
require_once (PATH_BASE.'library/handle/sitemaper.php'); $sitemap = new handle_sitemaper();
Gọi file sitemaper.php theo đường dẫn 'library/handle/sitemaper.php' để khởi tạo biến mới có tên là $sitemap.
//setting rules to ignore URLs which contains these substrings
$sitemap->set_ignore(array("javascript:","#", ".css", ".mp3", ".js", ".ico", ".jpg", ".png", ".jpeg", ".swf", ".gif"));
Nếu những liên có trong biến $sitemap có những đuôi giống ở trên thì ta loại bỏ, vì những đuôi trên không phải là liên kết <A>, mà đa phần là file hình, file nhạc, file flash.
//parsing other page and gathering links $sitemap->get_links($_wesite); $file = 'sitemap.xml';
header("Content-type: text/xml;charset=utf-8;");
header('Content-Disposition: attachment; filename='.basename($file)); //generating sitemap
echo $map = $sitemap->generate_sitemap($_wesite);
Lấy hết liên kết được lưu ở biến $sitemap bỏ vào file có tên là sitemap.xml, nội dung header của sitemap là nội dung giống ở dòng 4,5.
4.5.3. Kết quả
Mặc dù là liệt kê những liên kết trong site, có thuộc tính rel là follow và lưu vào file thật sự rất khó khăn, khó khăn hơn nữa là đã lưu liên kết vào rồi nhưng phải kiểm tra xem đã có chưa, điều này đã ngốn nhiều thời gian và tài nguyên của máy tính.
Bên cạnh đó nếu một số website mà có phần mềm bảo vệ hay tường lửa cũng là lý do để quét chậm. Công cụ vẫn tạo ra được sitemap.xml, theo cấu trúc của trang web, tần suất cập nhật nội dung của trang và trang nào được ưu tiên hơn trong kết quả tìm kiếm.
Tổng kết
Công cụ hỗ trợ cho các webmaster có những thông tin cần thiết để tối ưu hóa website của mình thân thiện với các công cụ tìm kiếm. Tác giả đặt tên công cụ này là “Seogby”, Seogby đã đáp ứng được mục tiêu đề tài luận văn đề ra và sau đây là nhận xét tổng quát về công cụ:
Ƣu điểm:
Hiện tại công cụ được chạy trên localhost, chạy ổn định.
Giao diện thân thiện vì có nét giống với công cụ tìm kiếm Google, dễ sử dụng. Thời gian xử lý nhanh chóng, hiện thị kết quả chính xác đúng yêu cầu.
Sử dụng những kỹ thuật mới như CS3, HTML5, Jquery.
Công cụ cho kết quả chi tiết để webmaster có đầy đủ thông tin.
Trong công cụ thông tin chung có đưa ra những hướng dẫn để hướng người dùng tối ưu hóa trong các thẻ, và bên cạnh đó cũng đưa ra những lỗi dựa vào kinh nghiệm thực tế để người dùng hạn chế ít sai nhất có thể.
Trong công cụ phân tích SEO Onpage đưa ra một kết quả tính toán khá chính xác, thông tin được tập hợp theo từng nhóm để người dùng dễ quan sát, và mỗi thành phần trong nhóm được thể hiện khá đầy đủ.
Trong công cụ phân tích SEO Offpage, thông tin thu được từ những trang web uy tín cho một kết quả nhanh chóng, rõ ràng.
Trong công cụ tạo sitemap, đã tạo ra được file sitemap.xml, theo cấu trúc của trang web, tần suất cập nhật nội dung của trang và trang nào được ưu tiên hơn trong kết quả tìm kiếm.
Khuyết điểm:
Đối với những website có nhiều liên kết, những liên kết đó có lúc dùng liên kết tuyệt đối (domain.com/abc.php), có lúc dùng liên kết tương đối (/abc.php), tuy rằng hai liên kết đó điều hướng đến 1 trang nhưng vẫn phát hiện là hai.
Với những website có nhiều liên kết, khi chúng ta tạo sitemap.xml thì thời gian xử lý rất chậm vì phải quét một số lượng lớn url, do vậy tài nguyên của hệ thống (RAM, CPU).
Tài liệu tham khảo
Tài liệu tiếng Việt
[1] Nguyễn An Huy và Nguyễn Tiến Nghĩa, (2012), “Xây dựng công cụ hỗ trợ tối ưu
website với SEO (Search Engine Optimization)”, Trường Đại Học Bách Khoa Tp.Hồ
Chí Minh.
[2] Microlink Co., Ltd – Kenh Cong Co., Ltd, tapchiseo.com, (tháng 1 năm 2011), “SEO Magazine”.
[3] Đỗ Văn Phương, “Sổ tay Google Analytics 1.0”, tháng 7 năm 2011 <http://www.dovanphuong.com/Google%20Analytics.pdf>
Tài liệu tiếng Anh
[4] Econsultancy.com Ltd, (2011) , “SEO Best Practice Guide”.
[5] George S. Spais, (2010), “Search Engine Optimization (SEO) as a dynamic online
promotion technique” Hy Lạp.
[6] Goup Google Inc (2010), “Search Engine Optimazation Starter Guide”.
[7] Jaimie Sirovich, Cristian Darie (2007), “Professional Search Engine Optimization
with PHP” , Wiley Publishing Inc.
[8] Jerri L.Ledford, (2008), “SEO – Search Engine Optimization Bible”, Wiley Publishing Inc.
[9] Joeran Beel, Bela Gipp, and Erik Wilde, (2010), “Academic Search Engine
Optimization (ASEO)”, University of Toronto, tr 1-7.
[10] Rand Fishkin - Seomoz.org, (tháng 8 năm 2010 ), “Standard-SEO-SEOMoz”.
[11] Rakesh Kumar and Shiva Saini, (2011), “A Study on SEO Monitoring System
Based on Corporate Website Development”, International Journal of Computer
Tài liệu Internet
[12] Analytics for any Website, Alexa Internet Inc, 2013 <www.alexa.com>
[13] CSS Validation Service, W3C, 2009 <http://www.css-validator.org>
[14] Do a lookup against a domains WHOIS information, Who.is, 2012 <http://who.is/whois/>
[15] Document Object Model, the php group, 2013 <http://php.net/manual/en/book.dom.php> [16] Duyệt web an toàn, Google, 2012
<https://www.google.com.vn/safebrowsing/diagnostic?site=domain> [17] Estimate the value of any website or blog, Worth Of Web, 2013
<http://www.worthofweb.com/calculator/>
[18] Hoạt động của cỗ máy tìm kiếm, VietSEO, 2008
<http://www.vietseo.net/articles/search-engine/hoat-dong-may-tim-kiem/> [19] Hướng Dẫn Sử Dụng Google Webmaster Tool, T.V.O ASIAN
<http://tvo.asia/news/tvo-huong-dan-su-dung-google-webmaster-tool > [20] Internet Users in the World Distribution, Miniwatts Marketing Group, June 30
2012 <http://www.internetworldstats.com/stats.htm> [21] Pingdom Website Speed Test, pingdom, 2013
Phục lục
HƢỚNG DẪN SỬ DỤNG CÔNG CỤ
Những yêu cầu cần thiết
Công cụ được xây dựng trên nền tảng PHP và MYSQL, giao diện chủ yếu dựa trên CS3 và HTML5 thế nên điều quan tâm đầu tiên là trình duyệt bạn đang sử dụng, để hiển thị hết các chức năng của công cụ, do vậy bạn nên chọn hai trình duyệt sau:
- Google Chrome phiên bản 20 trở lên, phiên bản mới nhất hiện nay là chrome 29 beta, có thể download theo địa chỉ: https://www.google.com/intl/vi/chrome/browser/ - Mozilla Firefox 15 trở lên, phiên bản mới nhất hiện này là firefox 23 beta, có
thể download theo địa chỉ: http://www.mozilla.org/en-US/firefox/new/
Trang chủ:
Mới nhìn qua giao diện trang chủ chúng ta thấy được có những nét giống với công cụ tìm kiếm Google, bởi Google là công cụ tìm kiếm khá quen thuộc với người dân Việt Nam cũng như trên toàn thế giới, do vậy quyết định thiết kế giao diện theo phong cách của Google. Trong giao diện trang chủ có thành menu điều hướng, và một hộp thoại để người dùng nhập địa chỉ trang web.
Để người dùng hiểu cặn kẽ thì xin lấy địa chỉ: http://lhu.edu.vn làm demo
Sau khi nhập địa chỉ trang web vào hộp thoại, ví dụ: lhu.edu.vn sau đó enter, xuất hiện công cụ thông tin chung.
Công cụ thông tin chung gồm có menu, hộp thoại chứa địa chỉ web và kết quả thông tin được trả về từ địa chỉ web ở trên.
Và kết quả thông tin được hiện ra
Thông tin hiện ra gồm có: địa chỉ trang web, title, meta, link, img. Chúng ta đi chi tiết hơn từng thành phần đó
+ Địa chỉ trang web: thể hiện lại url mà chúng ta đã nhập (http://lhu.edu.vn ) + Title: lấy nội dung thẻ tiêu đề (đại học lạc hồng).
Để tìm hiểu thêm về thẻ title, click vào một hộp thoại thông tin thêm về thẻ title.
Trong hộp thoại này gồm: thế nào để có một thẻ title hoàn hảo, như thế nào để có một thẻ title không tốt, đoạn mà mẫu, video của Matt cutts, bài viết chuẩn SEO. Nhằm để người dùng hiểu rõ hơn về ý nghĩa thẻ title.
+ Thẻ meta: lấy nội dung thẻ meta description
Để tìm hiểu thêm về thẻ meta description, click vào một hộp thoại thông tin thêm về thẻ meta description hiện ra.
Trong hộp thoại này gồm: thế nào để có một thẻ meta description hoàn hảo, như thế nào để có một thẻ meta description không tốt, đoạn mà mẫu, video của Matt cutts, bài viết chuẩn SEO.
+ Thẻ A: quét hết tất cả các liên kết chỉ trong một địa chỉ http://lhu.edu.vn
Để tìm hiểu thêm về thẻ <A>, click vào một hộp thoại thông tin thêm về thẻ <A> hiện ra.
Kết quả trả về có tất cả 77 link, muốn xem chi tiết click một bảng liệt kê tất cả các link hiện ra.
Để đóng lại click
+ Thẻ IMG: quét hết tất cả các link image chỉ trong một địa chỉ http://lhu.edu.vn Để tìm hiểu thêm về thẻ <IMG>, click vào một hộp thoại thông tin thêm về thẻ <IMG> hiện ra.
Kết quả trả về có tất cả 6 link image, trong đó 6 link điều không có thuộc tính alt và title, đây cũng là một hạn chế. Muốn xem chi tiết click một bảng liệt kê tất cả các link image hiện ra.
Để đóng lại click
Công cụ phân tích SEO Onpage
Công cụ phân tích SEO Onpage gồm có menu, hộp thoại chứa địa chỉ web và kết quả phân tích SEO được trả về từ địa chỉ web ở trên.
Kết quả thông tin hiện có 6 tab gồm: thông tin cơ bản, thẻ meta, thẻ tiêu đề (H), thể định dạng văn bản, thẻ liên kết, thẻ hình ảnh.
+ Trong tab thông tin cơ bản gồm có tiêu đề trang, file hình favicon, tập tin robots.txt, tập tin sitemap.xml, có bộ đếm google analytics không, ngôn ngữ lập trình.
+ Trong thẻ meta gồm có tiêu đề của thẻ meta, thẻ meta description, thẻ meta keyword, thẻ meta robots.
+ Thẻ định dạng văn bản gồm: thẻ em, thẻ strong.
+ Thẻ liên kết gồm: thẻ a đầu tiên, liên kết ngoài trang, liên kết ngoài trang không có title, liên kết trong trang, liên kết trong trang không có title.
+ Thẻ hình ảnh gồm: thẻ image, liên kết image không có ALT, liên kết image không có TITLE.
Công cụ phân tích SEO Offpage
Công cụ phân tích SEO Offpage gồm có menu, hộp thoại chứa địa chỉ web và kết quả thông tin được trả về từ địa chỉ web ở trên.
Thông tin hiện ra gồm có: kiểm tra thông tin Alexa, kiểm tra website có bị lỗi không, xác nhận website đúng tiêu chuẩn W3C, thông tin tên miền, tốc độ tải trang web.