Orova OROVA.VN Marketing AI Agent
Nghiên cứu

Kiểm toán 30 site SaaS: một nửa dính lỗi index này

Orova 1 lượt xem
Kiểm toán 30 site SaaS: một nửa dính lỗi index này

Trong vài tháng, tôi và đội kỹ thuật ngồi rà thử khoảng ba chục website của các công ty SaaS — phần lớn là sản phẩm B2B, một số làm thị trường trong nước, một số đã đẩy ra nước ngoài. Mục đích ban đầu không phải đi tìm lỗi. Chúng tôi muốn hiểu vì sao những trang có nội dung tử tế, đội ngũ làm nghiêm túc, ngân sách quảng cáo không nhỏ, mà phần tìm kiếm tự nhiên cứ giậm chân. Đáng lẽ mỗi trang sẽ có một câu chuyện riêng. Hoá ra không phải vậy.

Điều khiến chúng tôi giật mình là sự lặp lại. Gần một nửa số site dính cùng một nhóm vấn đề ở phần index — tức là phần quyết định Google có chịu đưa trang của bạn vào kho kết quả tìm kiếm hay không. Không phải lỗi nội dung, không phải lỗi từ khoá, không phải thiếu backlink. Là những con dấu kỹ thuật bị bỏ quên: một thẻ chặn lập chỉ mục còn sót từ bản nháp, một dòng canonical trỏ nhầm chỗ, vài trăm trang sinh ra do tham số URL mà không ai để ý. Những thứ này không gây sập trang, không hiện cảnh báo đỏ, nên chúng nằm yên hàng tháng trời và lặng lẽ ăn mất lưu lượng.

Bài này thuật lại những gì chúng tôi quan sát được — không nêu tên, không bịa con số chính xác, chỉ là các khuôn mẫu lặp đi lặp lại đủ nhiều để gọi là quy luật. Quan trọng hơn, tôi sẽ chỉ cách bạn tự rà site của mình bằng Search Console, sửa theo thứ tự nào trước, và những bẫy riêng mà web Việt hay vướng.

Lỗi index phổ biến nhất là noindex còn sót từ môi trường staging. Khi dựng bản thử nghiệm, đội kỹ thuật thường gắn thẻ chặn lập chỉ mục để Google không thấy bản nháp. Lúc lên thật, ai đó quên gỡ — hoặc cấu hình đẩy nguyên si từ staging sang production. Trang vẫn chạy, người dùng vẫn vào được, nhưng Google nhìn thấy lệnh "đừng index trang này" và ngoan ngoãn nghe theo. Trang biến mất khỏi kết quả tìm kiếm dù không có lỗi nào hiển thị.

Vì sao cả nửa số site dính cùng một nhóm lỗi

Trước khi vào từng lỗi cụ thể, đáng để dừng lại ở câu hỏi: tại sao những lỗi index này lại tập trung ở SaaS nhiều đến thế, và vì sao chúng giống nhau đến vậy?

Lý do đầu tiên nằm ở cách SaaS làm sản phẩm. Đội phát triển quen với quy trình có nhiều môi trường: máy cá nhân, staging, production. Trang marketing thường được dựng trên cùng hạ tầng với app, dùng chung pipeline triển khai. Mà bất cứ thứ gì đi qua nhiều môi trường đều có nguy cơ mang theo cấu hình của môi trường trước. Thẻ chặn lập chỉ mục là thứ bạn cố tình bật trên staging, và nếu không có bước gỡ rõ ràng khi lên thật, nó sẽ đi cùng bạn ra production.

Lý do thứ hai là SaaS thường có website động, sinh trang theo dữ liệu. Trang giá theo gói, trang tính năng theo bộ lọc, trang tài liệu theo phiên bản, blog có phân trang và thẻ tag. Mỗi cơ chế sinh trang động là một cỗ máy có thể vô tình tạo ra hàng trăm URL gần trùng nhau. Google phải tự đoán đâu là bản chính, và khi nó đoán sai — hoặc khi bạn không nói rõ cho nó biết — kết quả là trang quan trọng bị gộp nhầm hoặc bị bỏ qua.

Lý do thứ ba, và là lý do khiến vấn đề âm ỉ lâu, là không ai trong đội thường xuyên nhìn vào phần index. Đội nội dung lo từ khoá và bài viết. Đội quảng cáo lo lưu lượng trả phí. Đội kỹ thuật lo trang có chạy không. Phần "Google có chịu lập chỉ mục trang này không" rơi vào vùng xám không ai sở hữu rõ ràng. Nó không nằm trong dashboard ai mở hằng ngày, nên một trang rớt khỏi index có thể trôi qua nhiều tháng mà không ai nhận ra, cho đến khi có người tự hỏi vì sao bài viết tốt thế kia mà không có một lượt truy cập tự nhiên nào.

Khi gộp ba lý do này lại, sự lặp lại không còn là trùng hợp. Đó là hệ quả có thể đoán trước của cách các đội SaaS dựng và vận hành website. Tin tốt là: vì nguyên nhân giống nhau, cách rà và cách sửa cũng giống nhau. Bạn không cần một chiến lược riêng cho từng site — bạn cần một quy trình kiểm tra mà bất kỳ site nào cũng áp dụng được.

Năm lỗi index gặp đi gặp lại

Dưới đây là năm khuôn mẫu xuất hiện nhiều nhất trong đợt rà. Tôi xếp theo mức độ phổ biến chứ không theo mức độ nghiêm trọng — vì lỗi nào cũng đủ sức làm trang biến mất khỏi tìm kiếm nếu để lâu.

1. Noindex còn sót lại từ bản nháp

Đây là quán quân. Một thẻ meta robots ghi "noindex", hoặc một header phản hồi mang lệnh tương tự, nằm trên những trang mà bạn rất muốn được tìm thấy. Thường nó dính ở các trang được tạo gần đây nhất — landing page mới, bài blog mới, trang sản phẩm vừa ra — vì đó là những trang đi qua quy trình dựng nháp gần nhất. Triệu chứng kinh điển: trang cũ thì index bình thường, trang mới đăng thì mãi không xuất hiện trên Google dù bạn đã gửi sitemap.

Cái nguy của lỗi này là nó vô hình với người thường. Bạn mở trang ra, mọi thứ hiển thị hoàn hảo. Chỉ khi xem mã nguồn hoặc dùng công cụ kiểm tra mới thấy dòng lệnh nhỏ đang bảo Google tránh xa. Đây cũng là lỗi liên quan trực tiếp tới cách robots và thẻ meta điều khiển hành vi của bot — nếu bạn muốn hiểu sâu cơ chế này, hãy đọc thêm bài lỗi robots.txt giết chết traffic, vì noindex và robots.txt là hai mặt của cùng một câu chuyện kiểm soát crawl.

2. Canonical trỏ sai địa chỉ

Thẻ canonical là cách bạn nói với Google: "Trong số nhiều URL na ná nhau, đây là bản chính, hãy index bản này." Khi dùng đúng, nó dồn sức mạnh về một địa chỉ và tránh loãng. Khi dùng sai, nó là một trong những lỗi index âm thầm tai hại nhất.

Chúng tôi thấy đủ kiểu trỏ sai. Có site để canonical của mọi trang đều trỏ về trang chủ — nghĩa là vô tình bảo Google "tất cả các trang này thực ra là trang chủ, đừng index riêng". Có site copy template và quên đổi canonical, khiến trang B khai mình là bản sao của trang A. Có site dùng canonical trỏ về phiên bản http trong khi cả site đã chạy https, hoặc trỏ về URL còn dấu gạch chéo cuối trong khi bản thật không có. Mỗi lỗi nhỏ này khiến Google bỏ qua trang bạn muốn index để dồn về một trang khác, đôi khi là trang chẳng quan trọng gì.

3. Trang mồ côi — không có đường link nào dẫn tới

Google tìm thấy trang chủ yếu bằng cách đi theo các liên kết. Nếu một trang không được trang nào khác trên site trỏ tới, nó là trang mồ côi: tồn tại trên máy chủ, nhưng không nằm trong mạng lưới liên kết nội bộ. Bot có thể không bao giờ bò tới được, hoặc tới rồi nhưng coi là trang vô giá trị vì chẳng có gì trên site cho thấy nó quan trọng.

Trang mồ côi sinh ra rất tự nhiên. Bạn đăng một landing page cho chiến dịch quảng cáo, gắn link vào quảng cáo nhưng không bao giờ đưa vào menu hay bài viết nào. Bạn viết một bài blog rồi nó trôi xuống dưới, không còn link nội bộ nào trỏ tới sau vài tháng. Bạn tạo trang tài liệu cho một tính năng nhưng quên nối vào trang tổng. Những trang này có thể nằm trong sitemap, nhưng sitemap chỉ là lời mời, không phải lá phiếu tín nhiệm. Liên kết nội bộ mới là thứ nói cho Google biết trang nào đáng giá. Nếu bạn đang đau đầu vì các trang cô lập, phần xử lý kiến trúc liên kết được nói kỹ hơn trong bài kiểm tra sức khoẻ kỹ thuật website.

4. Phân trang và tham số sinh ra hàng loạt trang trùng

Đây là lỗi mang đậm chất SaaS và thương mại điện tử. Website có bộ lọc, có sắp xếp, có phân trang, có tham số theo dõi chiến dịch. Mỗi tổ hợp tham số tạo ra một URL mới, và Google nhìn mỗi URL khác nhau như một trang riêng — kể cả khi nội dung gần như y hệt.

Hậu quả là cái mà dân kỹ thuật gọi là "phình index": kho lập chỉ mục của bạn đầy những trang gần trùng, biến thể lọc, trang phân trang sâu, URL có gắn đuôi theo dõi. Google có ngân sách crawl giới hạn cho mỗi site. Khi nó phải lội qua hàng trăm biến thể vô nghĩa, nó tiêu ngân sách đó vào rác và ghé thăm trang thật của bạn thưa hơn. Tệ hơn, các trang gần trùng cạnh tranh lẫn nhau, khiến Google phân vân không biết chọn bản nào để xếp hạng, và kết cục là không bản nào lên tốt.

5. Sitemap lệch với thực tế

Sitemap đáng lẽ là bản đồ trung thực về những trang bạn muốn Google index. Trong thực tế, nó thường lệch. Chúng tôi gặp sitemap còn liệt kê trang đã xoá, trang đã chuyển hướng, trang đang gắn noindex, hoặc trang trả về lỗi. Cũng có chiều ngược lại: trang quan trọng mới đăng thì lại không có trong sitemap vì công cụ sinh sitemap không cập nhật.

Sitemap lệch không trực tiếp giết trang, nhưng nó làm Google mất niềm tin vào bản đồ của bạn. Khi sitemap đầy URL chết và mâu thuẫn, các tín hiệu bạn gửi đi trở nên nhiễu, và Google dựa vào nó ít hơn. Một sitemap sạch, chỉ chứa đúng những trang đang sống và muốn được index, là một trong những tín hiệu rẻ nhất mà hiệu quả nhất bạn có thể gửi.

Sơ đồ năm lỗi index phổ biến nhất ở website SaaS: noindex sót từ staging, canonical trỏ sai, trang mồ côi không có link nội bộ, phân trang và tham số sinh trang trùng, sitemap lệch thực tế
Năm khuôn mẫu lỗi index lặp lại ở gần một nửa số site SaaS được rà — không lỗi nào hiện cảnh báo đỏ, nên chúng nằm im hàng tháng.

Tự rà site của bạn bằng Search Console

Tin vui là bạn không cần công cụ trả phí đắt đỏ để bắt được phần lớn những lỗi này. Google Search Console — miễn phí, là tiếng nói chính thức của Google về site bạn — đã đủ để phát hiện gần hết. Cốt lõi nằm ở báo cáo Pages (trước đây gọi là Coverage hay Index Coverage). Đây là nơi Google liệt kê từng nhóm trang và nói thẳng: trang nào đã được index, trang nào không, và vì sao không.

Hãy mở báo cáo Pages và bắt đầu từ phần trang không được index. Google nhóm chúng theo lý do, và chính những cái tên lý do đó là tấm bản đồ dẫn bạn tới từng lỗi ở trên.

Đọc các lý do "không index" như thế nào

Khi gặp lý do dạng "Bị loại trừ bởi thẻ noindex", bạn đang nhìn thẳng vào lỗi số một. Bấm vào nhóm này, Google đưa danh sách URL cụ thể. Soát qua: nếu thấy những trang đáng lẽ phải được tìm thấy — landing page, bài viết, trang sản phẩm — thì bạn vừa bắt được noindex sót. Đây thường là việc sửa cho lãi nhất, vì mỗi trang gỡ được khỏi danh sách này là một trang có cơ hội quay lại tìm kiếm gần như ngay lập tức.

Khi gặp lý do nói rằng Google đã chọn một canonical khác với canonical bạn khai, đó là dấu hiệu của lỗi canonical trỏ sai. Google đang nói: "Bạn bảo tôi index trang này, nhưng tôi nghĩ bản chính là một trang khác, nên tôi gộp về đó." Soát danh sách để xem Google đang gộp nhầm những trang quan trọng về đâu.

Khi gặp lý do kiểu "Đã crawl - hiện chưa index" hoặc "Đã phát hiện - hiện chưa index" áp lên một lượng lớn URL, hãy nghi ngờ phình index do tham số và phân trang, hoặc nội dung mỏng. Google đã thấy các trang này nhưng quyết định chưa đáng index. Nếu danh sách toàn URL có đuôi tham số, biến thể lọc, hay phân trang sâu, bạn đã định vị được lỗi số bốn.

Dùng công cụ kiểm tra URL cho từng trang nghi vấn

Với mỗi trang quan trọng mà bạn ngờ có vấn đề, hãy dán URL vào ô kiểm tra URL ở đầu Search Console. Công cụ này trả về tình trạng index của đúng trang đó, canonical mà Google chọn, lần crawl gần nhất, và liệu có rào cản nào ngăn lập chỉ mục không. Đây là cách nhanh nhất để xác nhận một nghi ngờ: nếu một bài viết quan trọng mà công cụ báo "URL không có trên Google" kèm lý do noindex, bạn có bằng chứng đen trắng để đưa cho đội kỹ thuật.

Để bắt trang mồ côi, Search Console một mình chưa đủ, vì nó không vẽ bản đồ liên kết nội bộ. Cách thực dụng: lấy danh sách URL từ sitemap và đối chiếu với danh sách trang thực sự được link tới từ một lần bò site bằng công cụ crawl. Trang nào nằm trong sitemap mà không có link nội bộ nào trỏ tới chính là ứng viên mồ côi. Một dấu hiệu gián tiếp khác: trang xuất hiện trong báo cáo nhưng số lần hiển thị gần như bằng không suốt thời gian dài, dù nội dung không tệ.

Để soi sitemap, hãy vào phần Sitemaps trong Search Console. Google báo số URL đã gửi so với số đã được phát hiện, kèm lỗi nếu có. Nhưng đừng dừng ở đó — hãy tự mở sitemap ra và lấy mẫu vài chục URL, kiểm xem chúng còn sống không, có bị chuyển hướng không, có gắn noindex không. Sitemap sạch là sitemap mà mọi URL trong đó đều là trang bạn thật sự muốn index, không hơn không kém.

Sửa theo thứ tự nào để có kết quả nhanh nhất

Khi đã có danh sách lỗi, cám dỗ là lao vào sửa cái dễ thấy nhất. Đừng. Có một thứ tự cho lãi cao hơn, dựa trên hai tiêu chí: mức độ chặn đứng index, và số trang bị ảnh hưởng. Sửa thứ chặn cứng trước, sửa thứ làm loãng sau.

Ưu tiên một: gỡ noindex sót trên trang quan trọng. Đây là lệnh chặn cứng — Google không index trang chỉ vì bị bảo đừng. Gỡ đúng một thẻ là mở lại cánh cửa. Lợi nhuận trên công sửa cao nhất nằm ở đây, và kết quả thường tới nhanh sau khi Google crawl lại. Hãy bắt đầu từ những trang có giá trị nhất đang bị chặn.

Ưu tiên hai: chữa canonical trỏ sai trên trang quan trọng. Canonical sai khiến Google index nhầm trang hoặc bỏ qua trang bạn cần. Sửa để canonical trỏ về đúng bản chính của từng trang. Đặc biệt soát những trang có canonical đồng loạt trỏ về trang chủ hoặc về một trang khác — đó là kiểu lỗi gây thiệt hại trên diện rộng.

Ưu tiên ba: dọn phình index từ tham số và phân trang. Việc này không cứu một trang cụ thể như hai bước trên, nhưng nó dọn ngân sách crawl và gỡ rối cho Google. Quyết định trang biến thể nào nên gộp về bản chính bằng canonical, trang nào nên chặn crawl, trang phân trang nào nên để Google tự xử. Mục tiêu: kho index chỉ còn trang thật, không còn biến thể rác.

Ưu tiên bốn: nối lại trang mồ côi vào mạng lưới liên kết. Tìm các trang giá trị đang cô lập và thêm link nội bộ trỏ tới chúng từ những trang liên quan, từ menu, từ bài viết cùng chủ đề. Việc này vừa giúp Google tìm thấy chúng, vừa truyền tín hiệu rằng chúng quan trọng. Đây là loại việc cần làm liên tục chứ không phải một lần.

Ưu tiên năm: làm sạch sitemap. Bỏ URL chết, URL chuyển hướng, URL noindex ra khỏi sitemap; thêm những trang quan trọng còn thiếu. Đây là bước hoàn thiện, làm sau khi bốn bước trên đã ổn, để bản đồ bạn gửi Google khớp với thực tế bạn vừa dọn.

Thứ tự này không cứng nhắc, nhưng nguyên tắc đằng sau thì luôn đúng: sửa thứ chặn cứng index trước, vì nó cho kết quả nhanh và rõ; dọn thứ làm loãng sau, vì nó cho kết quả chậm nhưng bền. Nếu bạn còn phân vân tại sao một trang cụ thể không vào được Google dù đã sửa, bài vì sao Google không index trang đi sâu vào từng nguyên nhân riêng lẻ và cách phân biệt chúng.

Thứ tự ưu tiên sửa lỗi index theo mức độ cho lãi: gỡ noindex sót, chữa canonical trỏ sai, dọn phình index do tham số, nối lại trang mồ côi, làm sạch sitemap
Sửa theo thứ tự lãi giảm dần: việc chặn cứng index cho kết quả nhanh nhất, việc làm loãng dọn sau để bền.

Những bẫy riêng của web Việt

Phần lớn lỗi trên là phổ quát, nhưng có vài thứ web Việt vướng nhiều hơn mức trung bình, đáng để nói riêng.

Thứ nhất là chuyện đa ngôn ngữ làm nửa vời. Rất nhiều site Việt làm song song tiếng Việt và tiếng Anh, nhưng cấu hình thẻ hreflang sai hoặc thiếu. Khi đó Google nhìn bản tiếng Việt và bản tiếng Anh của cùng một trang như hai trang cạnh tranh, hoặc tệ hơn, gộp nhầm rồi chỉ index một bản. Nếu bạn làm đa ngôn ngữ, hãy kiểm hreflang kỹ — nó vừa là tính năng vừa là nguồn lỗi index, và một cấu hình sai âm thầm khiến nửa nội dung của bạn vô hình.

Thứ hai là thói quen dựng landing page rời cho từng chiến dịch quảng cáo rồi bỏ quên. Đội marketing Việt rất hay tạo trang đích cho từng đợt chạy Google Ads hay Facebook, gắn link vào quảng cáo, và không bao giờ nối vào site chính. Khi chiến dịch kết thúc, trang trở thành mồ côi hoàn toàn. Tệ hơn, nhiều trang trong số này gần trùng nội dung với nhau, góp phần làm phình index. Hãy có một quy ước: trang chiến dịch nào đáng giữ thì nối vào kiến trúc site; trang nào hết hạn thì chuyển hướng hoặc gỡ hẳn, đừng để chúng trôi nổi.

Thứ ba là chuyện tham số UTM và tham số theo dõi từ các nền quảng cáo. Khi bạn chạy nhiều kênh, mỗi link gắn một bộ tham số khác nhau, và nếu canonical không được cấu hình để bỏ qua tham số, Google có thể index cả tá biến thể của cùng một trang đích. Đây là nguyên nhân phình index rất phổ biến ở các site chạy quảng cáo mạnh — mà phần lớn SaaS Việt thì chạy quảng cáo mạnh. Đảm bảo canonical của trang đích luôn trỏ về bản sạch không tham số.

Thứ tư là nền tảng và plugin. Nhiều site Việt chạy trên các CMS phổ biến với chồng plugin SEO, plugin cache, plugin đa ngôn ngữ. Mỗi lớp có thể tự ý chèn canonical, sinh URL, hoặc gắn thẻ robots theo cách bạn không ngờ. Khi nhiều plugin cùng can thiệp vào cùng một thứ, chúng đá nhau, và kết quả là cấu hình index khó đoán. Mỗi lần bật một plugin mới hay cập nhật lớn, hãy quay lại Search Console kiểm xem báo cáo Pages có thay đổi bất thường không.

Biến việc rà thành thói quen, không phải sự kiện

Bài học lớn nhất từ đợt rà ba chục site không phải là danh sách lỗi. Đó là việc những lỗi này tồn tại được lâu đến vậy chỉ vì không ai nhìn. Mỗi lỗi đều dễ thấy với người chịu mở báo cáo Pages, và đều vô hình với người không mở.

Vì thế, đề xuất thực dụng nhất tôi rút ra là: đưa việc kiểm index vào nhịp đều đặn, không chờ tới khi nghi ngờ mới rà. Mỗi tháng một lần, mở báo cáo Pages, nhìn xu hướng số trang được index và không được index. Một cú nhảy đột ngột ở nhóm "không index" thường là dấu hiệu một đợt triển khai vừa mang theo lỗi cấu hình — và bắt nó trong tháng đầu rẻ hơn nhiều so với phát hiện sau nửa năm mất lưu lượng. Mỗi khi đăng một loạt nội dung mới, kiểm vài URL bằng công cụ kiểm tra URL để chắc chúng vào được index. Mỗi khi đổi nền tảng, cập nhật lớn, hay thêm plugin, coi đó là sự kiện cần rà lại.

Một cách hình dung khác: phần index là đường ống dẫn giữa nội dung bạn làm và người bạn muốn tiếp cận. Bạn có thể đổ bao nhiêu công sức vào nội dung và quảng cáo tuỳ thích, nhưng nếu đường ống bị tắc bởi một thẻ noindex sót hay một canonical trỏ sai, không gì chảy qua được. Soát đường ống là việc rẻ và ít hào nhoáng, nhưng nó là điều kiện cần để mọi việc khác có ý nghĩa.

Đây cũng chính là loại công việc lặp đi lặp lại, có cấu trúc, dễ bị bỏ quên mà một AI agent làm SEO như Orova sinh ra để gánh — quét đều đặn báo cáo index, đối chiếu sitemap với liên kết nội bộ để bắt trang mồ côi, và báo động khi số trang không index nhảy bất thường, để bạn biết phải nhìn vào đâu trước khi lưu lượng kịp rơi. Nhưng kể cả khi bạn làm thủ công, nguyên tắc vẫn vậy: nửa số site dính cùng một lỗi index không phải vì lỗi khó, mà vì không ai chịu nhìn. Hãy là người chịu nhìn.

Để AI Agent lo SEO cho bạn

Orova tự lên kế hoạch, viết bài, tối ưu và theo dõi thứ hạng — bạn chỉ việc đọc kết quả.

Dùng thử miễn phí