1
Mở đầu
Tóm lƣợc đề tài
Hiện nay, với sự phát triển không ngừng của công nghệ, máy tính nói chung hay
World Wide Web (www) nói riêng là một môi trường phổ biến để người dùng có thể
tìm kiếm, quảng cáo, xây dựng thương hiệu trên đó quả thật nó đem lại một lợi ích
không nhỏ cho con người. Với hàng tỷ webstie đang tồn tại, đi kèm với nó là một khối
lượng thông tin vô cùng to lớn. Chính vì sự khổng lồ của thông tin như vậy dẫn đến
việc tìm kiếm và tổng hợp thông tin không thuận lợi, gây nhiều khó khăn để có được
một kết quả tìm kiếm như mong muốn.
Người dùng ngày nay có thói quen sử dụng những công cụ tìm kiếm hơn là phải
nhớ chính xác một website nào đó.
Với rất nhiều dữ liệu mà bộ máy tìm kiếm đang lưu trữ không những là nguồn tài
nguyên không giới hạn mà còn là một quyển bách khoa toàn thư cho người dùng nhưng
cũng là thách thức rất lớn đối với các công cụ tìm kiếm, khi đó sẽ nảy sinh một vấn đề:
làm thế nào để bộ máy tìm kiếm trả về kết quả tìm kiếm của người dùng một cách
nhanh chóng và chính xác.
Theo khảo sát mới của hãng nghiên cứu internetworldstats [20], có đến 90%
người sử dụng Internet dùng công cụ tìm kiếm để tra cứu thông tin. Và theo thống kê
có hơn (60%) số lượng website trên thế giới sử dụng không đúng những tiêu chí đánh
giá mà các công cụ tìm kiếm đưa ra, nên các website mang nội dung chính xác mà
người dùng cần tìm lại có tỉ lệ xuất hiện ở các công cụ tìm kiếm là rất thấp.
Phát hiện một website bị lỗi về mặt tối ưu hóa là một bài toán được đặt ra trước
nhu cầu thực tế đó, sẽ giúp cho các công cụ tìm kiếm hiểu được bố cục, nâng cao chất
lượng và tăng hiệu quả đánh chỉ mục.
Điều chỉnh lại những tiêu chí đánh giá của các công cụ tìm kiếm đưa ra trên mỗi
website cũng là một vấn đề hết sức thực tế, sẽ giúp công cụ tìm kiếm tiết kiệm thời
2
Công cụ được xây dựng nhằm mục đích hỗ trợ cho những nhà quản trị web để có
được những thông tin bổ ích từ đó họ sẽ có được những chiến lược phù hợp để SEO
website. Công cụ không tiến hành phân tích từ khóa bởi tiến hành khá phức tạp và tầm
chính xác không cao. Để xử lý từ khóa hiện Google có hỗ trợ một công cụ phân tích
khá tốt sẽ được nhắc đến ở phần sau.
4
CHƢƠNG 1: GIỚI THIỆU ĐỀ TÀI
1.1 Giới thiệu
Vào đầu thập niên 90, sự xuất hiện của World Wide Web đã chính thức bắt đầu
cho cuộc cách mạng internet bởi nó giúp cho chúng ta có thể tìm kiếm thông tin một
lượng người truy cập vào công cụ tìm kiếm Google (theo Net Market Share tháng
4/2013).
Bên cạnh việc sử dụng các dịch vụ quảng cáo của các công cụ tiềm kiếm như
Google, Yahoo!, Bing, Ask, … hoặc các dịch vụ Marketing Online, thì nhiều doanh
nghiệp hiện nay thực sự quan tâm đến việc làm thế nào để đưa thương hiệu của mình
đến gần hơn với người sử dụng mà chi phí thì giảm thấp nhất.
SEO (Search Engine Optimization) đã trở nên rất quen thuộc trên thế giới và đang
trên đà phát triển rộng rãi tại Việt Nam.
1.2 Mục tiêu đề tài
- Liệt kê những thông tin của website dựa trên nguồn HTML
- Xây dựng một quy trình chặt chẽ, nhằm đáp ứng tốt nhất các tiêu chí mà công cụ
tìm kiếm đánh giá là thân thiện.
- Phân tích và thống kê tất cả các tiêu chí đã thực hiện trên website và đưa ra kiến
nghị cần thiết phải bổ sung để tối ưu hóa về mặt cấu trúc của website.
- Xây dựng công cụ hỗ trợ tối ưu hóa website dựa theo các tiêu chí đánh giá của
công cụ tìm kiếm nhằm cải thiện vị trí xếp hạng.
1.3 Phƣơng pháp thực hiện đề tài
Để tiếp cận những vấn đề trên cần phải có kiến thức tối thiểu về lập trình. Do đó
phương pháp nghiên cứu là:
Khảo sát tổng quan về vấn đề nghiên cứu.
6
Tham khảo các tài liệu, báo chí đã phát hành về lĩnh vực đang nghiên cứu.
Tìm hiểu các cách thức tối ưu hóa để website phù hợp với công cụ tìm kiếm, đặc
trưng ở các tiêu chí đánh giá sau:
Tối ưu hóa trong trang
o Thẻ title: miêu tả ngắn gọn và chính xác nội dung trang web
o Thẻ meta description: miêu tả tự nhiên nội dung trang web
o Thẻ meta keyword: là những từ khóa tối ưu hóa
o Thẻ heading h1, h2, h3, …., h6 của trang
lựa chọn tên miền, hosting hiệu quả, ngôn ngữ lập trình web có ảnh hưởng đến SEO ra
sao, tối ưu hóa trong trang với những thẻ như title, a, h1, h2, h3, meta, img. Cách lựa
chọn từ khóa hiệu quả, nên đặt từ khóa ở đâu, mật độ như thế nào cho hiệu quả, ngoài
ra còn đề cập đến tối ưu hóa ngoài trang như xây dựng backlink, sử dụng dịch vụ pay
per click như thế nào hiệu quả. Chương 4 sẽ đi xây dựng ứng dụng tối ưu hóa website
theo tiêu chí đánh giá của các công cụ tìm kiếm. Đưa ra bài toán thực hiện, và hướng
giải quyết và kết quả đạt được cho mỗi công cụ trong chương trình. 8
CHƢƠNG 2: NHỮNG CÔNG TRÌNH LIÊN QUAN
2.1 Tình hình nghiên cứu trong và ngoài nƣớc
2.1.1 Tình hình ngoài nƣớc
Vấn đề tối ưu hóa website nhận được sự quan tâm của cộng đồng công nghệ
thông tin trên thế giới, các công trình nghiên cứu liên quan đến tối ưu hóa website như:
Bài báo “A Study on SEO Monitoring System Based on Corporate Website
Development” tạm dịch Nghiên cứu hệ thống giám sát SEO dựa trên sự phát
triển website của doanh nghiệp, của 2 tác giả là phó Giáo Sư Rakesh Kumar
và học giả nghiên cứu Shiva Saini, Kurukshetra University, đăng trên tạp chí
Các bài báo trên đều có những ưu điểm nhất định, tuy nhiên các báo cáo mang
tính chất giới thiệu, khái niệm cơ bản, chưa đi sâu vào những kỹ thuật đánh giá chuẩn.
Phát hiện một website bị lỗi về mặt tối ưu hóa là một bài toán được đặt ra trước
nhu cầu thực tế đó, sẽ giúp cho các công cụ tìm kiếm hiểu được bố cục, nâng cao chất
lượng và tăng hiệu quả đánh chỉ mục.
Điều chỉnh lại những tiêu chí đánh giá của các công cụ tìm kiếm đưa ra trên mỗi
website cũng là một vấn đề hết sức thực tế, sẽ giúp công cụ tìm kiếm tiết kiệm thời
gian trong việc sàng lọc thông tin, tổng hợp từ khóa chính, từ khóa miêu tả, link lên kết
trong website và ngoài website.
Nhận thấy đây là một đề tài mang tính khoa học cao, là nền tảng ứng dụng thực tế
và quan trọng là từ phương pháp nghiên cứu đề tài này có thể mở rộng để nghiên cứu
cho mọi loại website trên thế giới. Nên tác giả quyết định chọn đề tài “xây dựng công
cụ hỗ trợ tối ƣu hóa website cho các công cụ tìm kiếm” để làm đề tài luận văn. Đề
tài tập trung vào việc phân tích, đánh giá website và đề xuất một phương pháp điều
chỉnh phù hợp, bên cạnh đó áp dụng phương pháp này vào việc xây dựng một công cụ
nhằm cải thiện vị trí xếp hạng trong công cụ tìm kiếm.
10
CHƢƠNG 3: CƠ SỞ LÝ THUYẾT
3.1 Khái niệm SEO - Search Engine
3.1.1 Khái niệm SEO – Search Engine Optimization
SEO được hiểu là tập hợp những phương pháp nhằm nâng cao thứ hạng Website
trên các công cụ tiềm kiếm. Mục tiêu của SEO là đưa trang web lên hàng đầu kết quả
tìm kiếm theo một từ khóa cụ thể. Nhưng chủ yếu là tinh chỉnh các thành phần thiết kế
và nội dung. Nó còn được hiểu là một phần của quá trình quảng bá web. SEO thường
gồm hai quá trình: Tối ưu hóa các yếu tố trên trang (SEO onpage) và tối ưu hóa của
yếu tố bên ngoài trang (SEO offpage).
Cần phân biệt rõ khái niệm SEM và SEO [10], SEM (Search Engine Marketing)
là tập hợp tất cả mọi thứ mà chúng ta cần làm để đảm bảo rằng trang web được sắp xếp
lại lợi ích tốt nhất cho con người.
Trước đây, người ta thường chia dữ liệu cần lưu trữ làm nhiều mục, đến lượt các
mục con này lại được chia nhỏ hơn. Tuy nhiên, những chủ đề được nêu trong Internet
đã rộng lớn đến nỗi sự phân chia này trở nên cực kì cồng kềnh và bất tiện. Ngày nay,
hầu hết mọi người đều sử dụng Search Engine để tìm kiếm thông tin.
Hình 1 - Giao diện nhập từ khóa để tìm kiếm
(Nguồn: google.com.vn)
Đối với mỗi Search Engine (Google, Yahoo!, Bing, Ask v.v…), người dùng truy vấn
tìm kiếm hay nói đơn giản hơn là nhập vào một số từ khóa liên quan đến chủ đề cần
12
tìm và nhận được một danh sách các trang kết quả thông thường là những trang web
chứa các từ khóa cần tìm kiếm, được sắp xếp theo một tiêu chí nào đó. Những tiêu chí
này đều nhằm mục đích “đưa ra kết quả phù hợp nhất với yêu cầu tìm kiếm”.
3.1.4 Phân loại Search Engine
Thuật ngữ "Cỗ máy tìm kiếm - Search Engine" được dùng chung để chỉ 2 hệ
thống tìm kiếm: Một do các chương trình máy tính tự động tạo ra (Crawler-Based
Search Engines) và dạng thư mục internet do con người quản lý (Human-Powered
Directories).
Hai hệ thống tìm kiếm này tìm và lập danh mục website theo 2 cách khác nhau.
Crawler-Based Search Engines - Hệ thống tìm kiếm trên nền tự động
Những cỗ máy tìm kiếm tự động như Google tạo ra những danh sách của họ tự
động. Chúng sử dụng các chương trình máy tính, được gọi là "robots", "spiders", hay
crawlers để lần tìm thông tin trên mạng. Khi có ai đó tìm kiếm một thông tin, các
Search engine lập tức hiển thị các thông tin lưu trữ tương ứng. Nếu bạn thay đổi những
trang web của các bạn, những cỗ máy tìm kiếm tự động dần dần tìm thấy những sự
thay đổi này, và điều đó có thể ảnh hưởng đến bạn được liệt kê như thế nào. Những
tiêu đề trang, nội dung văn bản và các phần tử khác đều giữ một vai trò nhất định.
Human-Powered Directories - Các thư mục do con người quản lý
một trang được thay đổi nội dung. Như vậy, sẽ có trường hợp: một trang đã được các
spiders tìm đến, nhưng lại chưa được lập chỉ mục. Và trong khoảng thời gian này, trang
web sẽ hoàn toàn không tồn tại trên cỗ máy tìm kiếm.
Phần mềm tìm kiếm chính là phần tử thứ ba của một cỗ máy tìm kiếm. Đây là
một chương trình máy tính có chức năng sàng lọc thông tin từ hàng triệu trang tương tự
nhau để sắp xếp vị trí từng trang sao cho phù hợp nhất. Đây chính là nơi mà các công
ty SEO khai thác để đưa một website nào đó lên vị trí đầu tiên khi được tìm kiếm với
một hay nhiều từ khóa chỉ định.
14
Major Search Engines: Các cỗ máy tìm kiếm chính
Tất cả các cỗ máy tìm kiếm tự động có những phần cơ bản được mô tả ở trên,
nhưng có những sự khác nhau trong những phần này trong việc nó được điều chỉnh tác
động như thế nào. Đó là lý do tại sao cùng một từ khóa, khi tìm kiếm trên những cỗ
máy tìm kiếm khác nhau thường cho ra những kết quả khác nhau. Một ví dụ cụ thể:
Nếu bạn đánh một từ khóa, thì Google, Yahoo, MSN, AOL, Ask hay Exactseek đều
cho ra các kết quả khác nhau, dù có nhiều website hơi giống nhau.
3.1.5 Search Engine làm việc nhƣ thế nào
Một sự thật cơ bản đầu tiên mà bạn cần biết đó là công cụ tìm kiếm không phải là
con người. Chính vì thế sẽ có sự khác nhau giữa con người và công cụ tìm kiếm trong
việc đánh giá nội dung của một trang web. Không giống như con người, công cụ tìm
kiếm nội dung theo định hướng. Mặc dù công cụ tìm kiếm được trang bị các công nghệ
rất hiện đại tuy nhiên nó vẫn không đủ thông minh để có thể cảm nhận được vẻ đẹp của
một mẫu thiết kế, thưởng thức âm thanh hoặc thấy được chuyển động của một video
nào đó. Vì vậy khi công cụ tìm kiếm thu thập dữ liệu của trang web nó chỉ nhìn vào các
văn bản cụ thể để cố gắng hiểu được trang web này đang muốn nói về vấn đề gì. Ở đây
xin đơn cử một công cụ tìm kiếm đó là Google.
Công cụ tìm kiếm có 3 bộ phận chính:
Bộ phận thu thập dữ liệu
Vì thế đối với mỗi website Google nó sẽ có nhiều phương pháp để index lại chỉ
mục, liệt kê lại các từ khóa chính. Nhưng dù dùng cách nào thì Google cũng luôn cố
gắng làm cho hệ thống tìm kiếm diễn ra nhanh hơn để người dùng có thể tìm kiếm hiệu
quả hơn.
- Kế đó Google sẽ xây dựng chỉ mục
Xây dựng chỉ mục sẽ giúp cho các thông tin được tìm thấy một cách nhanh
chóng. Sau khi tìm thông tin trên trang web, Google Spider nhận ra rằng việc tìm kếm
thông tin trên website là một quá trình không bao giờ kết thúc… bởi vì các quản trị
trang web luôn thay đổi thông tin, cập nhật thông tin trên website và điều đó có nghĩa
rằng Spider sẽ luôn phải thực hiện nhiệm vụ thu thập dữ liệu.
Xử lý và tính toán:
Sau khi lập chỉ mục Google sẽ xử lý, tính toán và mã hóa thông tin để lưu trữ
trong cơ sở dữ liệu. Và khi có một truy vấn tìm kiếm thì hệ thống sẽ trả về các kết quả
có chứa nội dung hữu ích tương ứng với các truy vấn tìm kiếm của người dùng.
Việc hiểu rõ cơ chế tìm kiếm của Google sẽ giúp cho các Seoer thêm nhiều kỹ
năng để có thể tối ưu website thân thiện với Google nhằm mục đích đưa trang web có
thứ hạng cao hơn.
3.1.6 Crawler, Spider, Robot
Web Crawler, web spider [3] hay web robot là một chương trình tự động tìm
kiếm trên Internet. Nó được thiết kế để thu thập tài nguyên trên internet như trang web,
hình ảnh, video, tài liệu Word, PDF cho phép hệ thống tìm kiếm đánh chỉ số sau đó.
Quá trình thực hiện được gọi là web crawling hay spidering, rất nhiều công cụ tìm
kiếm trên thế giới sử dụng spidering để cập nhập kho dữ liệu website của mình. Chẳng
hạn Google để lấy các thông tin trên các website rồi cập vào cơ sở dữ liệu của nó giúp
người dùng tìm kiếm ra các trang theo ý muốn.
Web crawler là một loại mà thường gọi là bot. Hiểu như là, nó bắt đầu từ danh
sách của các địa chỉ gọi là URL được gọi là seeds. Nó sẽ vào các địa chỉ này lọc thông
17
tin rồi tìm các địa chỉ khác như URL để thêm chúng vào danh sách các địa chỉ đã duyệt
Ngoài crawler và spider ta còn có robots.txt. Đây là một file dạng text, được đặt ở
thư mục root của domain. Nội dung này của file là hướng dẫn cho các crawler khi vào
website để biết được những site nào crawler được phép đánh chỉ mục index hay không
đánh chỉ mục.
Cú pháp file robots.txt gồm hai phần: phần đầu là “User-agent”, xác định những
User-agent hay crawler được cho phép truy cập vào các thư mục, file. Phần hai là
“Disallow” và “Allows”, cho phép hoặc không cho phép User-agent được chỉ định ở
phần một. Như mẫu dưới đây sẽ cấm tất cả User-agent truy cập vào thư mục root ”/”
của domain.
User-agent:*
Diasllow:/
Ta có thể thay thế “*” ở trên bằng tên các bot của search engine như Googlebot,
Yahoo SLURP, Teoma, Scooter … để cấm truy cập tài nguyên “/”.
Ví dụ: robots.txt của youtube.com
Hình 3 - File robots.txt
(Nguồn: tác giả)
Robot meta tag là một thẻ tag trong html, được đặt trong thẻ <header>. Robot
meta tag làm việc tương đối giống với file robots.txt.
19
Dưới đây ví dụ về robot meta tag của vnexpress.net.
Robot meta tag cho crawler có thể được chỉ mục và follow các liên kết trong site
hay không.
Sau khác biệt cơ bản giữa robot meta tag và file robots.txt là file robots.txt có thể
định dạng được từng crawler khi đánh chỉ mục theo những liên kết trong site, còn robot
meta tag áp dụng với mọi crawler.
Hình 4 - Robot meta tag
(Nguồn: tác giả)
Bảng 1 - Giá trị đặc biệt trong sitemap.xml
(Nguồn: tác giả)
Character
Sign
Escape Code
Ampersand
&
&
Single Quote
'
'
Double Quote
"
"
Greater Than
>
>
Less Than
<
<
21
Những trường hợp trong sitemap.xml
Bảng 2 - Những trường trong file sitemap.xml
(Nguồn: tác giả)
Trường
Yêu cầu
Nội dung
<urlset>
Bắt buộc có
Để triển khai dự án SEO thành công, website của chúng ta cần phải được phân
tích và lên kế hoạch ngay từ khi thực hiện, dựa vào kế hoạch để đưa dự án đi đúng
hướng, đúng tiến độ là điều cần thiết nhất. Trước tiên bạn hãy trả lời những câu hỏi
đơn giản nhưng sẽ giúp bạn định hình được công việc mình phải làm như:
Website hướng tới đối tượng khách hàng nào, từ khóa chính cần phát triển.
22
Đây được coi là mục tiêu của kế hoạch, vậy khi bắt đầu thì chúng ta phải xác định
SEO phải là một phần trong chiến dịch marketing của doanh nghiệp. Do đó, để tăng
hiệu quả về SEO bạn phải biết và thống nhất được chiến dịch marketing, để SEO đi
theo đúng mục tiêu mà bạn đặt ra. Và mục tiêu của SEO không gì hơn là tìm kiếm
khách hàng để nâng cao doanh số.
Khi đã xác định được mục tiêu của SEO rồi thì bạn cần phải làm để hoàn thành
mục tiêu đó. Có nhiều phương thức để SEO website, cũng có nhiều trường phái để
SEO nữa. Tuy nhiên, nếu bạn muốn xây dựng thương hiệu cho dịch vụ SEO website
của mình thì bạn nên chọn phương pháp an toàn nhất cho khách hàng.
SEO website như thế nào thì hiệu quả?
Để chiến dịch SEO của bạn có hiệu quả, thì việc xác định được mục tiêu của
chiến dịch SEO, xác định được công việc phải làm trong chiến dịch SEO đó là điều
quan trọng nhất.
- Bạn cần hiểu được thị hiếu và phân tích được tâm lý khác hàng sử dụng dịch
vụ trong dự án SEO bạn đang thực hiên.
- SEO gắn liền với website, do đó bạn cần phải đánh giá lại website và xây
dựng cho mình một website tốt, có thẩm mỹ cao, tiện ích cho người dùng. Đừng bao
giờ “xây nhà trên cát”.
- SEO cần cung cấp cho người dùng nội dung tốt về dịch vụ, sản phẩm dự án
bạn thực hiện, do đó việc chuẩn bị cho mình kiến thức tốt về nghiệp vụ của khách hàng
trước khi chuẩn bị thực hiện dự án là điều quan trọng để nâng cao chất lượng nội dung.
- Để SEO bền vững và an toàn cho khách hàng, hãy tránh xa các công cụ spam,
và là công việc của chú ong chăm chỉ cần mẫn. Đừng quên mục tiêu của Google là gì?
hạng pagerank của website đến tăng thứ hạng các từ khóa của website đó, có nhiều
cách để có được backlink cụ thể như sau:
- Post bài lên các diễn đàn kèm theo chữ ký có chứa link tới website cần SEO.
- Tham gia thảo luận tại các blog bằng các comment có chứa link.
- Hoạt động trên các website cộng đồng như Facebook, Google plus, Twitter…
- Submit website, các bài viết trên website lên các trang bookmark uy tín.
24
- Email marketing để lôi kéo khách truy cập đến website.
- Nếu có kinh phí nên kết hợp cùng với chiến dịch Google Adwords nhằm tăng
hiệu quả cho SEO.
- Trao đổi các textlink với các website cùng lĩnh vực và uy tín.
Giai đoạn 3: Đánh giá và bổ sung
Phân tích kết quả đạt được sau khi thực hiện quá trình SEO onpage và SEO
offpage, vị trí và thứ hạng của website đang ở mức nào? có những thiếu xót nào cần
được bổ xung không? các đối thủ cạnh tranh hơn kém ta ở điểm nào? Để từ đó có
những củng cố tích cực giúp website có vị trí tốt hơn.
Gian đoạn 4: Theo dõi thưỡng xuyên và duy trì
Theo dõi là một phần quan trọng trong kế hoạch SEO. Nhiều người tin rằng chỉ
cần phát triển và hiện thực kế hoạch SEO là xong. Nhưng sự thật là SEO không phải
chỉ là công việc tại một thời điểm. Nó là quá trình liên tục yêu cầu kiểm tra, giám sát,
và thường xuyên xây dựng lại.
Khi đã đạt được thứ hạng cao, nên tiếp tục duy trì vị trí đó bằng việc thực hiện
SEO onpage và SEO offpage như ban đầu một cách đều đặn, tuy nhiên tránh lạm dụng
các kỹ thuật SEO quá đà sẽ gây phải ứng ngược lại vì đã phạm vào các điều khoản của
các công cụ tìm kiếm.
3.2.2 Organic SEO
Organic SEO là phương pháp tối ưu hóa trang web mà không cần phải mất nhiều
tiền để đạt thứ hạng cao trong trang kết quả tìm kiếm. Tuy nhiên đó không phải là định
nghĩa chính xác mà nó mang lại, một số chuyên gia SEO nghĩ rằng đó là sự tối ưu hóa
Không tốn nhiều chi phí: Đôi khi những người chủ của trang web cùng cạnh tranh
ở những vị trí đáng mong muốn của SERPs với những từ khóa cụ thể. Bình thường
phải trả khá nhiều tiền cho những dịch vụ này của công cụ tìm kiếm. Chẳng hạn như
“Google AdWords”, đấu giá từ khóa “web designing” thường vượt quá 35$ mỗi lần
nhấp chuột. Vì vậy cứ 10 người nhấp chuột vào các quảng cáo của Google AdWords
thì các chủ trang web phải trả hơn 350$. Các dịch vụ trả tiền cho mỗi lần nhấp chuột