More than Just Lines on a Map: Best Practices for U.S Bike Routes
[SEO] Hiểu biết về sitemap
1. HIỂU BIẾT VỀ SITEMAP
1. Giới thiệu tổng quan về SiteMap.
SiteMap là cách đơn giản và tốt nhất để người lập trình web báo cho những bộ máy tìm kiếm biết về các trang
trong website mà có thể chúng không được tìm thấy bằng những cách thu thập thông tin bình thườnG. SiteMap
phổ biến là một tập tin XML bao gồm danh sách các trang trong website cùng những đặc điểm mô tả của chúng.
Tạo ra SiteMap và gửi nó cho bộ máy tìm kiếm sẽ đảm bảo rằng bộ máy tìm kiếm biết đến toàn bộ các trang tồn
tại trong website của bạn.
SiteMap sẽ rất hữu dụng trong những trường hợp sau:
Website của bạn có nội dụng động và thay đổi liên tục.
Website của bạn được xây dựng trên cơ chế lấy thông tin bằng công nghệ AJAX.
Website của bạn mới được xây dựng và có rất ít những liên kết đến từ những website khác.
Website của bạn có số lượng lớn tài liệu và nội dung mà có thể không hoàn toàn được liên kết đến từ
những trang khác ngay chính trong website.
Google cũng như các bộ máy tìm kiếm khác sẽ không đảm bảo rằng quá trình tìm kiếm và thu thập thông tin tự
động có thể biết đến hết các trang trong website của bạn. Vì vậy, SiteMap sẽ giúp cho các bộ máy tìm kiếm có
cái nhìn và nắm bắt tốt hơn về cấu trúc website của bạn. Thông qua SiteMap, quá trình thu thập thông tin về
website của bạn sẽ được đầy đủ hơn và dễ dàng hơn. Trong mọi trường hợp, SiteMap sẽ giúp tăng điểm cho
website, nếu không có nó sẽ bị trừ điểm.
2. Hiểu biết cơ bản về SiteMap.
Trong phần này, chúng ta tập trung vào những hiểu biết quan trọng về mối quan hệ giữa SiteMap và các bộ máy
tìm kiếm cũng như những nguyên tắc cơ bản đối với SiteMap để bạn có cái nhìn tổng quan cho mọi vấn đề trước
khi đi vào tạo ra SiteMap.
Các bộ máy tìm kiếm khác nhau có thể sẽ chấp nhận một số loại định dạng cho vài giao thức SiteMap khác
nhau. Nhưng chúng tôi khuyên bạn hãy tạo ra một XML SiteMap và dựa trên nền tản giao thức sitemap phổ biến
nhất với tên gọi sitemap protocol. Vì cùng một SiteMap được tạo ra theo chuẩn giao thức này có thể sử dụng
được cho nhiều bộ máy tìm kiếm khác nhau như Google, Yahoo, Bing , …mà không phải tạo ra nhiều phiên
bản của nó, miễn là bộ máy tìm kiếm đó là một thành phần trong chuẩn giao thức sitemap ở www.sitemap.org.
Sau đây là một ví dụ đơn giản về SiteMap:
<?xml version="1.0" encoding="utf-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://www.example.com/</loc>
<lastmod>2005-01-01</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
</urlset>
2. Riêng đối với Google, bộ máy này cũng chấp nhận một số loại tài liệu sau đây như là SiteMap:
RSS, mRSS, Atom 1.0 : Google chấp nhận những loại tài liệu này như một SiteMap cho website của bạn.
Text : là một SiteMap đơn giản nhất, Google chấp nhận một tập tin *.TXT chỉ bao gồm những URLs trong
đó như là một SiteMap.
Ví dụ:
http://www.example.com/tabid=1
http://www.example.com/tabid=2
http://www.example.com/tabid=3
http://www.example.com/tabid=4
http://www.example.com/tabid=5
http://www.example.com/tabid=6
Yêu cầu tập tin này cần tuân thủ những quy tắc sau đây:
• URL phải được cung cấp đầy đủ như khi xem nội dung của trang đó.
• Tập tin phải lưu theo chuẩn UTF-8 Encoding.
• Nội dung chỉ bao gồm các URL mà không có bất cứ gì khác, mõi URL trên một dòng.
• Bạn có thể đặt tên tập tin tùy ý nhưng cần có phần mở rộng là *.TXT
Những nguyên tắc cơ bản đối với XML SiteMap
Một SiteMap chỉ có thể chứa tối đa 50.000 URLs, dung lượng tập tin khi gửi không quá 10MB và không
được vượt quá 50MB khi giải nén gzip. Nếu SiteMap của bạn vượt quá con số này, hãy chia nhỏ ra thành
nhiều tập tin SiteMap.
Nếu bạn có nhiều tập tin SiteMap thì thì phải liệt kê chúng bên trong một tập tin gọi là SiteMapIndex, khi
gửi cho bộ máy tìm kiếm thì bạn chỉ việc gửi tập tin SiteMapIndex mà không cần phải gửi riêng lẻ từng
tập tin SiteMap.
Các URLs chỉ định trong SiteMap phải là đồng cấp hoặc là con của vị trí đặt SiteMap. Tức là, nếu
SiteMap đặt ở vị trí http://example/abc/sitemap.xml thì bạn có thể khai báo các URLs có dạng
http://example.com/abc/ nhưng không thể sử dụng URLs như thế này http://example.com/images/
XML SiteMap cần chỉ dẫn XML namespace sau: xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
SiteMap phải là tập tin theo mã UTF-8 Encoding.
Nếu website của bạn hỗ trợ cả www và không www thì bạn cũng không cần phải tạo ra hai phiên bản
SiteMap khác nhau cho chúng.
Mõi phiên bản ngôn ngữ khác nhau của cùng một trang sẽ được thu thập thông tin độc lập. Nên để đảm
bảo các phiên bản ngôn ngữ của từng trang đều được thu thập thông tin và lập chỉ mục đầy đủ, bạn cần
thiết lập URL riêng cho từng phiên bản ngôn ngữ. Nhưng những URL riêng cho cùng một trang với nhiều
phiên bản ngôn ngữ khác nhau lại có thể được đặt chung trong một tập tin SiteMap.
3. 3. Định nghĩa các thẻ XML SiteMap.
Thẻ Yêu cầu Ý nghĩa
Thẻ bắt đầu của SiteMap, chứa thông tin về chuẩn giao thức mà SiteMap sẽ
<urlset> có
dùng. Giao thức này là:
http://www.sitemaps.org/schemas/sitemap/0.9
<url> có Thẻ cha của một URL trong tài liệu, mõi thẻ bên dưới đây đều là con của nó.
URL của trang, URL này phải bao gồm phần giao thức (như là http) và kết
<loc> có
thúc bởi một dấu gạch chéo (nếu Webserver của bạn yêu cầu). Độ dài của
URL phải ít hơn 2048 ký tự.
Ngày cập nhật lần cuối trong tập tin này của URL này. Ngày này phải đúng
<lastmod> không
chuẩn W3C Datetime, chuẩn định dạng này cho phép bạn bỏ qua phần Time
nếu muốn và có thể sử dụng YYYY-MM-DD
Chỉ định rằng nội dung của trang sẽ thay đổi thường xuyên ở mức độ nào. Giá
<changefreq> không
trị này cung cấp cho bộ máy tìm kiếm biết và lập kế hoạch về việc sẽ thu thập
lại thông tin từ trang này. Các giá trị bao gồm:
always
hourly
daily
weekly
monthly
yearly
never
Giá trị “always” chỉ định rằng nội dung luôn thay đổi mõi lần truy cập. Và giá trị
“nerver” thì báo rằng nội dung trang này gần như không bao giờ thay đổi.
Xin lưu ý rằng giá trị của thẻ này chỉ mang tính tham khảo chứ không phải
lệnh. Nghĩa là bộ máy tìm kiếm sử dụng thông tin này để tính toán việc ra
quyết định có nên thu thập lại thông tin hay không. Vì vậy, một trang được
đánh dấu “hourly” chưa chắc được kiểm tra lại nội dung nhiều lần hơn trang
được đánh dấu “yearly” vì còn phụ thuộc vào cách mà bộ máy tìm kiếm phán
đoán trước khi ra quyết định.
Chỉ định độ ưu tiên của trang này so với những trang khác trong cùng website
<priority> không
của bạn. Giá trị hợp lệ của thẻ này là từ 0.0 đến 1.0. Giá trị này không ảnh
hưởng đến việc so sánh trang này trong website của bạn với những trang
khác ở những website khác. Nó chỉ dùng để bạn có thể chỉ định mức độ quan
trọng của từng trang trong website của bạn khi bộ máy tìm kiếm thu thập thông
tin. Độ ưu tiên mặc định là 0.5
Xin lưu ý, thẻ này không có tác dụng ảnh hưởng đến thứ hạng tìm kiếm của
trang này trong danh sách kết quả của bộ máy tìm kiếm. Nó chỉ giúp cho bộ
máy tìm kiếm nên ưu tiên lựa chọn trang nào trong các trang của website của
bạn khi hiển thị. Vì vậy, bạn có thể sử dụng thẻ này để đảm bảo rằng các
trang quan trọng sẽ được hiển thị thay vì những trang không quan trọng.
4. 4. Tạo XML SiteMap theo chuẩn Sitemap Protocol
Phần này tập trung mô tả những quy định của sitemap protocol và việc tạo ra một tập tin XML SiteMap.
4.1. Những quy định tối thiếu.
SiteMap phải đảm bảo tất cả các giá trị của các thẻ XML đều đã được entity-escape (sự thay thế những ký
tự đặc biệt thành một chuỗi mã có định dạng) cho những ký tự liệt kê bên dưới đây:
Ký tự Mã thay thế
Và & &
Nháy đơn ' '
Nháy đôi " "
Lớn hơn > >
Nhỏ hơn < <
Ví dụ: URL của trang web http://example.com/index.php?data=12&id=5
Entity-escape http://example.com/index.php?data=12&id=5
SiteMap tối thiếu cần phải:
Bắt đầu bằng thẻ <urlset> và kết thúc bởi thẻ đóng của nó </urlset>
Chỉ ra namespace protocol bên trong thẻ <urlset> bằng thuộc tính xmlns=
Mõi URL sẽ cần thẻ <url> làm thẻ cha cho các thẻ mô tả về URL đó
Cần tối thiểu thẻ con <loc> bên trong thẻ <url> để chỉ ra URL (location) của nó.
Những thẻ khác không bắt buộc và chỉ để hỗ trợ thêm cho bạn cung cấp thêm thông tin cho các bộ
máy tìm kiếm.
Và dĩ nhiên là tất cả các URLs trong SiteMap đều thuộc cùng một host duy nhất và phải cùng cấp
hoặc là con của cấp chứa SiteMap. Tức là, nếu SiteMap đặt ở vị trí http://example/abc/sitemap.xml
thì bạn có thể khai báo các URLs có dạng http://example.com/abc/ nhưng không thể sử dụng URLs
như thế này http://example.com/images/
4.2. Tạo XML SiteMap.
4.2.1. SiteMap với 1 URL
Không có SiteMap nào mà chỉ có 1 URL, vì vậy mà mục 4.2.1 này chỉ nhầm mục đích giới thiếu với bạn
cấu trúc của cái đơn giản để bạn có thể tạo ra cái phức tạp hơn. Sau đây là ví dụ về cấu trúc của một
SiteMap điển hình:
<?xml version="1.0" encoding="utf-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://www.example.com/</loc>
<lastmod>2005-01-01</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
</urlset>
5. Giải thích ý nghĩa:
• Dòng đầu tiên là dùng để khai báo phiên bản và thông tin namespace của một tài liệu XML
• Dòng thứ 2 là dòng bắt đầu của SiteMap với sự xuất hiện của thẻ <urlset> cùng với khai báo chỉ dẫn
XML cho định dàng chuẩn XML SiteMap 0.9
• Bắt đầu từ dòng 3 với sự xuất hiện của <url> đến khi kết thúc với </url> là nội dung mô tả một URL về
một trang trên website.
<loc> chỉ ra URL của trang web trong website.
<lastmod> cho biết thời gian cập nhật mới nhất [KHÔNG BẮT BUỘC]
<changefreq> cho biết nhịp độ thay đổi nội dung của trang web này [KHÔNG BẮT BUỘC]
<priority> độ ưu tiên của trang này so với những trang khác trong cùng website [KHÔNG BẮT
BUỘC]
Tham khảo thông tin chi tiết ý nghĩa các thẻ ở phần 3 (phía trên)
4.2.2. SiteMap với nhiều URLs
Dựa theo cấu trúc trên, một SiteMap có nhiều URLs thì chỉ cần có nhiều thẻ <url> liên tiếp nhau như thế
này.
<?xml version="1.0" encoding="utf-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://www.example.com/tabid=1</loc>
<lastmod>2005-01-01</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>http://www.example.com/tabid=2</loc>
<lastmod>2005-01-01</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>http://www.example.com/tabid=3</loc>
<lastmod>2005-01-01</lastmod>
<changefreq>monthly</changefreq>
<priority>0.4</priority>
</url>
</urlset>
4.2.3. SiteMap với nhiều hơn 50.000 URLs hoặc dung lượng quá lớn
Trong trường hợp website của bạn có quá nhiều URLs, cụ thể là vượt qua mức giới hạn 50.000 URLs mà
tài liệu Sitemap cho phép, hoặc dung lượng tập tin vượt quá 10MB khi gửi (có thể nén gzip để khắc phục
dung lượng này) hoặc dung lượng sau khi giải nén ở bộ máy tìm kiếm vượt quá 50MB (trong trường hợp
bạn nén gửi). Khi đó, bạn cần chia nhỏ hệ thống SiteMap ra thành nhiều tập tin SiteMap có cùng định
dạng như trên (chỉ khác URLs). Sau đó, bạn tạo thêm một tập tin XML gọi là SiteMapIndex để khai báo tất
cả các tập tin SiteMap. Khi gửi bạn chỉ cần gửi SiteMapIndex cho bộ máy tìm kiếm mà không cần phải
gửi từng tập tin SiteMap riêng lẻ.
6. Cấu trúc của SiteMapIndex không khác nhiều so với SiteMap, thẻ <urlset> được thay thế bới thẻ
<sitemapindex> , xuất hiện thêm thẻ <sitemap> để đại diện cho một tập tin SiteMap mà bạn sẽ khai báo
(có ý nghĩa y như thẻ <url> trong SiteMap). Chỉ có thẻ <loc> và thẻ <lastmod> được sử dụng để mô tả
SiteMap. Sau đây là một ví dụ:
<?xml version="1.0" encoding="utf-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>http://www.example.com/sitemap_1.xml</loc>
<lastmod>2005-01-01</lastmod>
</sitemap>
<sitemap>
<loc>http://www.example.com/sitemap_2.xml</loc>
<lastmod>2005-01-01</lastmod>
</sitemap>
<sitemap>
<loc>http://www.example.com/sitemap_3.xml</loc>
<lastmod>2005-01-01</lastmod>
</sitemap>
</sitemapindex>
Hãy ghi nhớ rằng, những thẻ xuất hiện trong ví dụ trên là đủ cho SiteMapIndex. Ý nghĩa của thẻ <loc> và
<lastmod> giống với ý nghĩa của hai thẻ cùng tên bên SiteMap. <loc> sẽ chỉ ra URL của SiteMap và
<lastmod> cho biết lần cập nhật cuối của SiteMap đó.
5. Gửi SiteMap cho bộ máy tìm kiếm.
Sau khi tạo ra SiteMap hoặc hệ thống các SiteMap, bạn đặt tất cả lên webserver của bạn và sử dụng một trong
những cách sau đây để gửi thông tin SiteMap cho các bộ máy tìm kiếm. (Chú ý rằng dữ liệu khi gửi có thể được
nén theo định dạng gzip)
5.1. Gửi SiteMap thông qua cổng thông tin giao tiếp hỗ trợ của bộ máy tìm kiếm.
Mõi bộ máy tìm kiếm đều có xây dựng một cổng thông tin giao tiếp với nhà lập trình web thường được gọi là
Webmaster Tool. Thông qua đó, bạn sẽ được hướng dẫn và hỗ trợ quá trình tối ưu hóa website cũng như
gửi và thực thi SiteMap đồng thời có thể xem những thông tin lỗi nếu có phát sinh. Đối với cách này, bạn cần
xem hướng dẫn riêng cho từng bộ máy tìm kiếm.
Google : http://www.google.com/webmasters/tools/
Yahoo : http://l.yimg.com/pv/static/misc/index.html
Bing : http://www.bing.com/toolbox/webmaster
5.2. Chỉ ra địa chỉ của SiteMap bên trong tập tin robots.txt
Nếu website của bạn có định nghĩa một tập tin robots.txt thì bạn có thể dùng cách đơn giản là khai báo địa
chỉ SiteMap (hoặc SiteMapIndex) bên trong tập tin robots.txt như sau:
Sitemap: http://example.com/sitemapindex.xml
7. Lưu ý rằng bạn có thể đặt dòng khai báo SiteMap trên ở bất kỳ dòng nào trong robots.txt. Vị trí khai báo
sitemap sẽ không làm ảnh hưởng đến nội dung của tập tin robots.txt. Đồng thời bạn cũng có thể khai báo
nhiều dòng sitemap theo định dạng như trên.
Nếu bạn muốn biết thêm về robots.txt, tham khảo tại đây : http://www.robotstxt.org/
5.3. Gửi SiteMap bằng một truy vấn dạng HTTP
Là cách tương đối đản giản, gửi một câu truy vấn HTTP đến theo đúng URL được cung cấp bởi bộ máy tìm
kiếm và kèm theo thông tin về SiteMap của bạn. Dạng chung của câu truy vấn như sau:
[search_engine_url]/ping?sitemap=[sitemap_url]
Trong đó:
[search_engine_url] sẽ được cung cấp bởi bộ máy tìm kiếm tương ứng.
[sitemap_url] là địa chỉ URL đến tập tin SiteMap mà bạn muốn gửi. Địa chỉ này phải bao gồm luôn cả
phần http:// nhưng phải được encode (mã hóa) thành http%3A%2F%2F, nguyên tắc encode:
: thành %3A
/ thành %2F
Đối với phương pháp này, chúng tôi khuyến khích bạn nên nén gzip tập tin SiteMap cần gửi.
Ví dụ: bạn có URL SiteMap là http://example.com/sitemap.gzip câu truy vấn sẽ là :
[search_engine_url]/ping?sitemap=http%3A%2F%2Fexample.com%2Fsitemap.gzip
Nếu quá trình truy vấn thành công, nó trả lại kết quả mã truy vấn HTTP là 200. Nếu nhận được mã khác, hãy
cố gửi lại. Việc nhận được mã trả về 200 chỉ mang ý nghĩa rằng bộ máy tìm kiếm đã nhận được SiteMap của
bạn chứ không có nghĩa là nó đã đọc và duyệt qua. Danh sách top 5 [search_engine_url] phổ biến nhất thế
giới
Google
http://google.con/webmasters/tool/ping?sitemap=
Yahoo
http://search.yahooapis.com/SiteExplorerService/V1/updateNotification?appid=YahooDemo&url=
Bing
http://www.bing.com/webmaster/ping.aspx?sitemap=
Ask
http://submissions.ask.com/ping?sitemap=
Moreover
http://api.moreover.com/ping?u=
8. 6. Loại trừ thống kê
Đó là thuật ngữ đi ngược lại với SiteMap. Chức năng của SiteMap là liệt kê ra những trang mà bạn muốn bộ máy
tìm kiếm kiểm tra và lập danh mục. Nếu bạn muốn loại trừ những trang mà bạn không muốn bộ máy tìm kiếm
kiểm tra và đưa vào danh mục thì làm thế nào?
Để thực hiện điều đó, bạn cần sử dụng một tập tin robots.txt hoặc thẻ meta robots. Xem chi tiết thông tin về
robots tại http://www.robotstxt.org/ vì trong tài liệu này chỉ đề cập đến SiteMap.
HẾT