← Quay lại blog

Phân tích qua sitemap.xml: cách thu thập danh mục Wildberries rẻ hơn 10 lần so với việc truy cập trang web

Thay vì quét trang web từng trang một, hãy sử dụng bản đồ sitemap.xml có sẵn - điều này sẽ giảm chi phí cho proxy và thời gian phân tích dữ liệu một cách đáng kể.

📅22 tháng 10, 2026

Hầu hết những người mới bắt đầu phân tích thường bắt đầu bằng cách truy cập đầy đủ trang web: vào trang chính, thu thập tất cả các liên kết, chuyển đến từng liên kết, lại thu thập liên kết — và cứ như vậy hàng nghìn lần. Điều này tiêu tốn proxy, thời gian và thường dẫn đến việc bị cấm. Có một cách đơn giản và rẻ hơn: hầu hết các trang web lớn, bao gồm Wildberries, Ozon và Avito, đã có sẵn bản đồ tất cả các trang — sitemap.xml. Hãy cùng tìm hiểu cách tìm, đọc và sử dụng nó thay vì hàng ngàn yêu cầu không cần thiết.

Sitemap.xml là gì và tại sao nó quan trọng với các nhà phân tích

Sitemap.xml là một tệp mà trang web tự tạo ra cho các công cụ tìm kiếm như Google và Yandex. Nó liệt kê tất cả các trang mà chủ sở hữu trang web muốn được lập chỉ mục: thẻ sản phẩm, danh mục, bài viết blog. Về cơ bản, đây là danh sách URL có sẵn mà trang web cung cấp cho bạn — không cần phải nhấp vào các liên kết thủ công, nhấp vào phân trang hoặc giải mã logic điều hướng.

Đối với các nhà bán hàng theo dõi giá cả của đối thủ trên Wildberries hoặc Ozon, điều này có nghĩa là: thay vì phải truy cập hàng nghìn danh mục và trang phân trang, bạn có thể nhận ngay danh sách tất cả các thẻ sản phẩm chỉ với một yêu cầu đến sitemap. Đối với các nhà tiếp thị thu thập cơ sở URL để phân tích nội dung của đối thủ, điều này tiết kiệm hàng giờ làm việc thủ công. Đối với các nhà phân tích quảng cáo, những người phân tích các trang đích của đối thủ để phân tích ý tưởng sáng tạo, sitemap cho thấy tất cả các trang của trang web ngay lập tức.

Một điểm quan trọng: không phải tất cả các trang đều có trong sitemap. Đôi khi, các trang có bộ lọc, chương trình khuyến mãi tạm thời hoặc các trang có tham số trong URL không được đưa vào. Do đó, sitemap không phải lúc nào cũng bao phủ 100% trang web, nhưng thường là 80-95% các trang hữu ích mà bạn cần cho danh mục hoặc theo dõi.

Truy cập đầy đủ vs sitemap-first: so sánh chi phí

Sự khác biệt trong các phương pháp là rõ ràng nếu tính không phải bằng những "nỗ lực" trừu tượng, mà bằng các nguồn lực thực tế: số lượng yêu cầu, tiêu thụ băng thông proxy và thời gian đến kết quả. Dưới đây là so sánh dựa trên ví dụ thu thập danh mục từ 50.000 thẻ sản phẩm.

Tham số Truy cập đầy đủ trang web Phân tích qua sitemap
Số yêu cầu để thu thập URL 15.000–20.000 (danh mục, phân trang, bộ lọc) 50–300 (chỉ các tệp sitemap)
Thời gian thu thập danh sách URL 4–8 giờ 15–30 phút
Rủi ro bị chặn IP Cao do khối lượng yêu cầu đến điều hướng Thấp, số yêu cầu ít hơn nhiều
Tải trọng trên băng thông proxy Cao, cần một nhóm IP lớn Tối thiểu, có thể sử dụng một nhóm nhỏ
Độ phức tạp của logic phân tích Cao, cần phân tích điều hướng Thấp, phân tích cấu trúc XML

Con số "rẻ hơn gấp 10 lần" trong tiêu đề không phải là phóng đại. Nếu truy cập đầy đủ yêu cầu 15-20 nghìn yêu cầu chỉ để lập danh sách các trang, trong khi sitemap cung cấp cùng một danh sách chỉ với 50-300 yêu cầu, thì tiết kiệm về băng thông proxy và thời gian là rất lớn. Tuy nhiên, bạn vẫn cần tải xuống các thẻ sản phẩm riêng biệt — nhưng bạn chắc chắn biết những URL nào cần tải xuống và không lãng phí tài nguyên vào các trang trống, bản sao và liên kết rác.

Cách tìm sitemap.xml trên bất kỳ trang web nào

Cách đầu tiên và đơn giản nhất là thêm /sitemap.xml vào tên miền của trang web. Ví dụ, để kiểm tra, hãy thử mở trong trình duyệt địa chỉ dạng https://example.com/sitemap.xml. Điều này sẽ hoạt động cho hầu hết các trang web, bao gồm nhiều cửa hàng trực tuyến trên các CMS phổ biến.

Nếu không có gì ở địa chỉ này, hãy kiểm tra tệp robots.txt — nó gần như luôn nằm ở địa chỉ /robots.txt và trong hầu hết các trường hợp chứa dòng Sitemap: https://example.com/sitemap_index.xml. Đây là cách chính thức mà các trang web thông báo cho các công cụ tìm kiếm biết nơi tìm bản đồ. Đối với các trang thương mại điện tử lớn như Wildberries và Ozon, bản đồ trang web thường được chia thành hàng chục tệp và được chỉ định thông qua robots.txt.

Cách thứ ba là tìm kiếm các đề cập trong các hệ thống như Google Search Console (nếu bạn có quyền truy cập vào trang web của mình) hoặc sử dụng các công cụ quét chuyên dụng, tự động tìm tất cả các tệp sitemap. Đối với các trang web của đối thủ, thường chỉ cần hai cách đầu tiên — robots.txt hầu như không bao giờ bị ẩn khỏi tầm mắt của người ngoài, đây là một tệp công khai.

Mẹo:

Tên tệp sitemap không phải lúc nào cũng theo tiêu chuẩn. Có thể gặp các biến thể như sitemap_index.xml, sitemap-products.xml, product-sitemap.xml và tương tự. Luôn bắt đầu với robots.txt — nó sẽ chỉ ra các đường dẫn chính xác.

Cấu trúc sitemap của các trang thương mại điện tử: chỉ mục và các bản đồ lồng ghép

Các trang web nhỏ thường có một tệp sitemap.xml với tất cả các URL. Nhưng đối với các danh mục lớn như Wildberries, Ozon hoặc Avito, có hàng triệu trang, và một tệp XML với khối lượng như vậy sẽ không tiện. Do đó, họ sử dụng cái gọi là chỉ mục sitemap — một tệp mục lục, liên kết đến hàng chục hoặc hàng trăm tệp sitemap riêng biệt, được phân loại theo danh mục, ngày tháng hoặc đơn giản là theo nhóm từ 10-50 nghìn URL.

Cấu trúc trông như thế này: trước tiên bạn mở tệp chỉ mục chính, trong đó tìm danh sách các liên kết đến các sitemap con, chẳng hạn như sitemap-products-1.xml, sitemap-products-2.xml và cứ thế. Sau đó, bạn cần tải xuống từng tệp này và từ đó trích xuất các URL cuối cùng của các thẻ sản phẩm. Đây là một quy trình hai cấp, nhưng vẫn nhanh hơn nhiều so với việc truy cập điều hướng của trang web một cách thủ công.

Đôi khi các tệp sitemap con được nén ở định dạng gzip (đuôi .xml.gz) — đây là thực hành tiêu chuẩn để tiết kiệm không gian trên máy chủ. Nếu script tải xuống tệp và thấy các ký tự không thể đọc thay vì XML, rất có thể cần phải giải nén nội dung trước khi phân tích.

Quy trình từng bước để trích xuất URL từ sitemap

Đối với những người làm việc với các công cụ phân tích no-code có sẵn, hầu hết các trình phân tích danh mục hiện đại của các trang thương mại điện tử đã có khả năng đọc sitemap tự động — chỉ cần chỉ định URL gốc của trang web, và công cụ sẽ tự tìm robots.txt, tìm chỉ mục sitemap và thu thập danh sách tất cả các thẻ. Nhưng nếu bạn làm việc với một lập trình viên hoặc tự viết một script nhỏ, logic hoạt động rất đơn giản, và đây là ví dụ bằng Python:

import requests
import gzip
from io import BytesIO
from lxml import etree

def get_sitemap_urls(sitemap_url, proxies=None):
    response = requests.get(sitemap_url, proxies=proxies, timeout=15)
    content = response.content

    # Giải nén gzip, nếu tệp bị nén
    if sitemap_url.endswith('.gz'):
        content = gzip.decompress(content)

    root = etree.fromstring(content)
    namespace = {'ns': 'http://www.sitemaps.org/schemas/sitemap/0.9'}

    # Nếu đây là chỉ mục sitemap — thu thập các liên kết đến các bản đồ con
    sub_sitemaps = root.findall('.//ns:sitemap/ns:loc', namespace)
    if sub_sitemaps:
        all_urls = []
        for sub in sub_sitemaps:
            all_urls.extend(get_sitemap_urls(sub.text, proxies))
        return all_urls

    # Nếu đây là sitemap thông thường — thu thập các URL cuối cùng
    urls = root.findall('.//ns:url/ns:loc', namespace)
    return [url.text for url in urls]

proxy = {
    "http": "http://user:pass@proxy_host:port",
    "https": "http://user:pass@proxy_host:port"
}

urls = get_sitemap_urls("https://example.com/sitemap_index.xml", proxies=proxy)
print(f"Đã tìm thấy URL: {len(urls)}")

Script này sẽ đi qua tệp chỉ mục một cách đệ quy, tải xuống mỗi bản đồ con và thu thập tất cả các liên kết cuối cùng vào một danh sách. Cuối cùng, bạn sẽ có danh sách đầy đủ các URL của các thẻ sản phẩm mà không cần phải truy cập điều hướng của trang web.

Lọc các trang cần thiết theo mẫu URL

Sau khi bạn có danh sách đầy đủ các URL từ sitemap, gần như luôn cần phải lọc nó. Trong một tệp sitemap của trang thương mại điện tử, có thể có các thẻ sản phẩm, trang danh mục, bài viết blog, trang thương hiệu và các trang chức năng. Có thể bạn chỉ cần các thẻ sản phẩm của một danh mục nhất định.

Để lọc, thường sử dụng các mẫu URL. Ví dụ, nếu các thẻ sản phẩm trên trang web có dạng /catalog/product/12345, trong khi các danh mục có dạng /catalog/category/electronics, không khó để tách biệt chúng chỉ bằng cách so sánh các đoạn đường dẫn. Đối với những trường hợp phức tạp hơn, khi cấu trúc URL không rõ ràng, có thể sử dụng biểu thức chính quy — chúng cho phép đặt một mẫu một lần và ngay lập tức lọc hàng trăm nghìn liên kết.

Thêm vào đó, có thể xem các thẻ <lastmod> bên trong sitemap — chúng cho thấy ngày thay đổi cuối cùng của trang. Nếu bạn không cần một danh mục đầy đủ, mà chỉ cần các sản phẩm được cập nhật trong tuần qua (ví dụ, để theo dõi các vị trí mới của đối thủ), bạn có thể lọc các URL dựa trên ngày này và không cần động đến các trang không thay đổi trong nhiều tháng.

Cấu hình proxy để tải xuống hàng loạt bản đồ trang web

Mặc dù số yêu cầu đến sitemap ít hơn nhiều so với khi truy cập đầy đủ, các trang web như Wildberries và Ozon vẫn theo dõi hoạt động nghi ngờ — yêu cầu quá thường xuyên từ một IP, User-Agent không điển hình, thiếu tiêu đề của trình duyệt. Do đó, ngay cả khi tải xuống các tệp sitemap, bạn cũng nên sử dụng proxy, đặc biệt nếu bạn dự định theo dõi thường xuyên, không chỉ là thu thập một lần.

Để tải xuống các tệp XML sitemap, thường chỉ cần proxy từ trung tâm dữ liệu — chúng nhanh và rẻ, và số yêu cầu đến sitemap ít, nên các trang web ít khi áp dụng bảo vệ nghiêm ngặt so với các trang danh mục thông thường. Tuy nhiên, ở giai đoạn tải xuống các thẻ sản phẩm từ các URL đã thu thập, nơi có số yêu cầu nhiều hơn và bảo vệ nghiêm ngặt hơn, tốt hơn hết là chuyển sang proxy dân cư — chúng sử dụng IP thực của người dùng bình thường và ít bị chặn bởi các hệ thống chống bot của các trang thương mại điện tử.

Nếu bạn theo dõi danh mục từ các phiên bản di động của trang web hoặc API chỉ cung cấp dữ liệu khi có lưu lượng di động, bạn nên xem xét proxy di động — chúng sử dụng IP của các nhà mạng di động và được coi là đáng tin cậy nhất bởi hầu hết các hệ thống chống gian lận.

Cấu hình thực tế trong script hoặc trình phân tích rất đơn giản: chỉ cần chỉ định máy chủ, cổng, tên đăng nhập và mật khẩu của proxy trong các trường tương ứng của yêu cầu (như đã chỉ ra trong ví dụ mã ở trên trong tham số proxies), hoặc nếu bạn sử dụng trình phân tích no-code có sẵn hoặc trình duyệt chống phát hiện như Dolphin Anty hoặc AdsPower để kiểm tra thủ công cấu trúc của trang web trước khi thiết lập thu thập tự động, hãy chèn thông tin proxy vào cài đặt hồ sơ: mở tab "Proxy" → chọn loại HTTP hoặc SOCKS5 → chèn máy chủ, cổng, tên đăng nhập, mật khẩu → lưu hồ sơ.

Những sai lầm thường gặp khi làm việc với sitemap

Sai lầm đầu tiên và phổ biến nhất là bỏ qua robots.txt và cố gắng đoán địa chỉ sitemap một cách ngẫu nhiên. Đây là một sự lãng phí thời gian dễ dàng tránh được chỉ bằng cách xem qua tệp quy tắc lập chỉ mục.

Sai lầm thứ hai là không tính đến việc sitemap có thể không đầy đủ. Một số trang web cố tình loại trừ các trang có giá trị thấp cho SEO khỏi sitemap, nhưng vẫn quan trọng cho việc theo dõi giá — chẳng hạn như các trang sản phẩm không có sẵn. Nếu sau khi phân tích qua sitemap, số lượng thẻ thu thập được ít hơn đáng kể so với mong đợi, bạn nên kiểm tra số lượng sản phẩm mà trang web hiển thị trong danh mục và bổ sung thu thập nếu cần thiết bằng cách truy cập các phần còn thiếu.

Sai lầm thứ ba là không lưu cache các tệp sitemap đã tải xuống. Nếu bạn khởi động theo dõi hàng ngày, không có lý do gì để tải lại tệp chỉ mục và tất cả các bản đồ con mỗi lần — hầu hết trong số chúng không thay đổi mỗi ngày. Hãy lưu danh sách URL cục bộ và chỉ cập nhật những gì thực sự đã thay đổi theo ngày lastmod.

Sai lầm thứ tư là quên tiêu đề của yêu cầu. Ngay cả việc tải xuống một tệp XML đơn giản cũng có thể bị chặn nếu yêu cầu trông giống như từ bot: không có User-Agent, không có Accept-Language, với các tiêu đề không điển hình theo mặc định mà thư viện sử dụng cho yêu cầu. Việc thêm các tiêu đề của trình duyệt thực tế kết hợp với proxy sẽ giảm đáng kể khả năng bị chặn ở giai đoạn này.

Danh sách kiểm tra khởi động phân tích qua sitemap

Trước khi khởi động thu thập danh mục đầy đủ, hãy đi qua một danh sách ngắn các bước để không lãng phí thời gian vào các sai lầm:

  • Đã kiểm tra robots.txt của trang web và tìm thấy địa chỉ chính xác của sitemap hoặc sitemap index
  • Đã xác nhận rằng cấu trúc sitemap là hai cấp (chỉ mục + các bản đồ con) hoặc một cấp
  • Đã kiểm tra xem các tệp con có bị nén trong gzip hay không
  • Đã xác định mẫu URL cho các trang cần thiết (thẻ sản phẩm, danh mục, v.v.)
  • Đã cấu hình lọc theo mẫu hoặc theo ngày lastmod, nếu chỉ cần các vị trí mới
  • Đã kết nối proxy để tải xuống các tệp sitemap và riêng biệt cho việc tải xuống các thẻ sản phẩm
  • Đã thêm các tiêu đề yêu cầu thực tế (User-Agent, Accept-Language)
  • Đã cấu hình lưu cache và so sánh theo ngày cho các lần khởi động theo dõi lặp lại
  • Đã so sánh tổng số URL cuối cùng với số lượng sản phẩm ước tính trên trang web

Kết luận

Phương pháp sitemap-first không phải là một thủ thuật hay một cách để vượt qua bảo vệ, mà là việc sử dụng thông tin mà trang web tự công bố cho các công cụ tìm kiếm. Thay vì hàng ngàn yêu cầu đến điều hướng, danh mục và phân trang, bạn nhận được danh sách sẵn có của các trang cần thiết chỉ với vài chục yêu cầu đến các tệp XML. Điều này tiết kiệm thời gian cho việc khởi động phân tích, giảm tiêu thụ băng thông proxy và giảm đáng kể rủi ro bị chặn IP, vì tải trọng lên trang web ít hơn nhiều so với khi truy cập đầy đủ.

Nếu bạn chỉ mới bắt đầu theo dõi danh mục của Wildberries, Ozon hoặc một trang web lớn khác, hãy bắt đầu với sitemap — có khả năng bạn sẽ tiết kiệm hàng giờ làm việc ngay từ lần khởi động đầu tiên. Để tải xuống các tệp sitemap, chỉ cần sử dụng các proxy từ trung tâm dữ liệu giá rẻ, và để thu thập dữ liệu thường xuyên về các thẻ sản phẩm, nơi có rủi ro bị chặn cao hơn, hãy xem xét các proxy dân cư — chúng đảm bảo hoạt động ổn định của trình phân tích mà không bị chặn thường xuyên trong thời gian dài.