Giới Thiệu Tổng Quan Về Sitemap Và Hướng Dẫn Submit Sitemap Lên Google

Thảo luận trong 'Tin Học Căn Bản'

  1. dangvanlel

    dangvanlel New Member

    [​IMG]

    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.

    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 và [URLDF="http://ctcvietnam.vn/thiet-ke-website"]thiết kế website[/URLDF] 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 ở
    sitemap.org.

    Sau đây là một ví dụ đơn giản về SiteMap:

    [​IMG]

    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ụ:

    Mã:
    [INDENT]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[/INDENT]
    
    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. Định nghĩa các thẻ XML SiteMap

    [TABLE="width: 98%"]
    [TR]
    [TD]Thẻ[/TD]
    [TD]Yêu cầu[/TD]
    [TD]Ý nghĩa[/TD]
    [/TR]
    [TR]
    [TD]<urlset>[/TD]
    [TD]có[/TD]
    [TD]Thẻ bắt đầu của SiteMap, chứa thông tin về chuẩn giao thức mà SiteMap sẽ dùng. Giao thức này là:
    http://www.sitemaps.org/schemas/sitemap/0.9[/TD]
    [/TR]
    [TR]
    [TD]<url>[/TD]
    [TD]có[/TD]
    [TD]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ó.[/TD]
    [/TR]
    [TR]
    [TD]<loc>[/TD]
    [TD]có[/TD]
    [TD]URL của trang, URL này phải bao gồm phần giao thức (như là http) và kết 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ự.[/TD]
    [/TR]
    [TR]
    [TD]<lastmod>[/TD]
    [TD]không[/TD]
    [TD]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 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[/TD]
    [/TR]
    [TR]
    [TD]<changefreq>[/TD]
    [TD]không[/TD]
    [TD]Chỉ định rằng nội dung của trang sẽ thay đổi thường xuyên ở mức độ nào. Giá 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.[/TD]
    [/TR]
    [TR]
    [TD]<priority>[/TD]
    [TD]không[/TD]
    [TD]Chỉ định độ ưu tiên của trang này so với những trang khác trong cùng website 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.[/TD]
    [/TR]
    [/TABLE]



    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:

    [TABLE]
    [TR]
    [TD="colspan: 2"]Ký tự[/TD]
    [TD]Mã thay thế[/TD]
    [/TR]
    [TR]
    [TD]Và[/TD]
    [TD]&[/TD]
    [TD]&amp;[/TD]
    [/TR]
    [TR]
    [TD]Nháy đơn[/TD]
    [TD]'[/TD]
    [TD]&apos;[/TD]
    [/TR]
    [TR]
    [TD]Nháy đôi[/TD]
    [TD]"[/TD]
    [TD]&amp;quot;[/TD]
    [/TR]
    [TR]
    [TD]Lớn hơn[/TD]
    [TD]>[/TD]
    [TD]&gt;[/TD]
    [/TR]
    [TR]
    [TD]Nhỏ hơn[/TD]
    [TD]<[/TD]
    [TD]&lt;[/TD]
    [/TR]
    [/TABLE]

    Ví dụ:

    URL của trang web là
    http://example.com/index.php?data=12&id=5
    Entity-escape à
    http://example.com/index.php?data=12&amp;id=5

    SiteMap tối thiếu cần phải
    • Bắt đầu bằng thẻ và kết thúc bởi thẻ đóng của nó
    • Chỉ ra namespace protocol bên trong thẻ bằng thuộc tính xmlns=
    • Mõi URL sẽ cần thẻ làm thẻ cha cho các thẻ mô tả về URL đó
    • Cần tối thiểu thẻ con bên trong thẻ để 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:

    [​IMG]


    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ẻ &lt;urlset&gt; 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 &lt;url&gt; đến khi kết thúc với url&gt; là nội dung mô tả một URL về một trang trên website.
    • &lt;loc&gt; chỉ ra URL của trang web trong website.
    • &lt;lastmod&gt; cho biết thời gian cập nhật mới nhất [KHÔNG BẮT BUỘC]
    • &lt;changefreq&gt; cho biết nhịp độ thay đổi nội dung của trang web này [KHÔNG BẮT BUỘC]
    • &lt;priority&gt; độ ư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ẻ liên tiếp nhau như thế này.

    [​IMG]


    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ẻ.


    Cấu trúc của SiteMapIndex không khác nhiều so với SiteMap, thẻ được thay thế bới thẻ , xuất hiện thêm thẻ để đại diện cho một tập tin SiteMap mà bạn sẽ khai báo (có ý nghĩa y như thẻ trong SiteMap). Chỉ có thẻ và thẻđược sử dụng để mô tả SiteMap. Sau đây là một ví dụ:


    [​IMG]


    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ẻ và giống với ý nghĩa của hai thẻ cùng tên bên SiteMap. sẽ chỉ ra URL của SiteMap và 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

    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


    Hiện tại có thể hoặc một số hoặc toàn bộ các cổ máy đã không còn hỗ trợ phương thức này. 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ầnhttp:// 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=


    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.
  2. hocittudau

    hocittudau Member

    Tks bác.Thực sự bài viết quá hữu ích bác ạ.E biết tạo sitemap rồi nhưng mà vẫn chưa biết một số thứ hôm nay nghe bác nói thì em thông hết rồi.Mong bác phát huy nhé.
  3. komoro92

    komoro92 New Member

    nếu làm web bằng blogspot thì chuyện site map sẽ ko thành vấn đề, nói chung là site map rất co ích

Chia sẻ trang này