Sau một tháng dùng side project cá nhân làm môi trường thử nghiệm SEO, tôi có 632 lượt truy cập tự nhiên. Con số đó khá đáng khích lệ, nhưng bài học hữu ích nhất lại đến từ một con số khác: ngày 15 tháng 10, website đạt đỉnh 83 lượt truy cập trong ngày, và một phần của đợt tăng đó không giống traffic của người dùng thật.
Lúc ấy tôi đang chuẩn bị cho một sáng kiến SEO lớn ở nơi làm việc và muốn có kinh nghiệm thực tế thay vì chỉ đọc thêm lý thuyết. Side project cho tôi chỗ để thay đổi, quan sát dữ liệu và thậm chí sai mà không biến mọi quan sát thành quyết định production.
Sự phân biệt này nhanh chóng trở nên quan trọng. Một metric có thể thay đổi cùng thời điểm với một chỉnh sửa nhưng điều đó không chứng minh chỉnh sửa là nguyên nhân. Một đợt tăng traffic có thể trông như tăng trưởng cho tới khi tách theo nguồn. Session replay có thể cho thấy điều bất thường mà vẫn không nói được vì sao nó xảy ra.
632 lượt truy cập tự nhiên thực sự nói lên điều gì
Tháng đầu tiên mang lại 632 lượt truy cập tự nhiên. Đây là kết quả tôi có thể xác nhận. Nhưng riêng con số đó không chứng minh tôi đã tìm ra công thức SEO có thể lặp lại, rằng mọi thay đổi đều cải thiện ranking, hay rằng xu hướng chắc chắn tiếp tục.
Với một dự án học tập, giá trị nằm ở việc có đủ traffic tìm kiếm thật để quan sát. Tôi có thể thay đổi một thứ, xem metric nào dịch chuyển rồi đặt câu hỏi chính xác hơn. Điều đó hữu ích hơn nhiều so với xem SEO như checklist trong đó mỗi “best practice” được mặc định là sẽ tự động tăng thứ hạng.
Thay đổi cỡ chữ khiến tôi thận trọng hơn với quan hệ nhân quả
Một điều làm tôi bất ngờ là tương quan giữa điều chỉnh cỡ chữ và các metric hiệu năng. Rất dễ tóm tắt thành “chi tiết UX nhỏ cũng có thể ảnh hưởng ranking”. Dữ liệu của tôi chưa đủ để nói mạnh như vậy.
Điều tôi thực sự quan sát là: tôi thay cỡ chữ, sau đó một số metric liên quan thay đổi. Tôi không chạy thử nghiệm có đối chứng để cô lập cỡ chữ khỏi mọi thay đổi khác, và cũng không có bằng chứng rằng công cụ tìm kiếm đổi ranking vì chính rule CSS đó. Cỡ chữ có thể làm thay đổi xuống dòng, layout và vị trí phần tử, từ đó ảnh hưởng một số phép đo rendering hoặc UX. Cơ chế chính xác trong trường hợp của tôi vẫn chưa được chứng minh.
Một nguyên tắc an toàn hơn cho kiểu thử nghiệm này là: ghi lại quan sát trước, giải thích sau. “Metric X thay đổi sau Y” là dữ liệu. “Y gây ra X” vẫn là giả thuyết cho tới khi có đủ bằng chứng.
Ngày có 83 lượt truy cập trông đẹp hơn trước khi tôi mở Webvisor
Ngày 15 tháng 10, website đạt tổng cao nhất trong ngày tính tới thời điểm đó: 83 lượt truy cập. Điều này không có nghĩa là 83 lượt đều organic; đó là đỉnh tổng traffic trong ngày mà tôi đang phân tích. Khi tách nguồn, một phần đáng kể đến từ Trung Quốc và được phân loại là direct traffic.
“Direct” rất dễ được hiểu là “ai đó gõ URL của tôi”. Trong Yandex Metrica, phiên truy cập không truyền referrer cũng có thể rơi vào nhóm này, cùng một số trường hợp khác. Yandex mô tả điều đó trong tài liệu về nguồn traffic. Vì vậy nhãn nguồn tự nó không cho biết người truy cập là ai hoặc họ thực sự tìm thấy trang bằng cách nào.
Sau đó tôi mở Yandex Webvisor và xem các session đáng ngờ. Trang trông như được mở với CSS bị vô hiệu hóa. Dựa vào pattern tôi thấy, tôi ước tính khoảng 20 “người dùng” đó có khả năng là bot.
CSS bị tắt là manh mối, không phải bằng chứng
Con số đó vẫn chỉ là ước tính. Ít nhất có hai nhóm giải thích khả dĩ.
- Request thực sự là tự động. Scraper có thể chỉ lấy HTML và bỏ qua stylesheet, ảnh hoặc asset không cần thiết. Tiết kiệm bandwidth là lý do hợp lý, nhưng tôi không xác nhận đó là động cơ thực tế.
- Replay có thể không tái hiện hoàn hảo session ban đầu. Hệ thống session replay dựng lại trang từ dữ liệu đã ghi. Yandex cũng ghi nhận trường hợp bản ghi khác với những gì người dùng thực sự thấy, bao gồm vấn đề CSS khi replay sau khi stylesheet thay đổi.
Vì thế, “Webvisor hiển thị trang không có CSS” là quan sát. “Người truy cập cố ý tắt CSS” là diễn giải. “Vậy đó là bot” là thêm một bước suy luận. Pattern khiến giả thuyết bot hợp lý với tôi, nhưng một đặc điểm của replay chưa đủ để phân loại chắc chắn.
Tôi sẽ kiểm tra gì trong log
Với kiểu bất thường này, tôi tin server log hơn replay trực quan. Tôi sẽ so sánh User-Agent, IP hoặc dải mạng, nhịp và mức lặp của request, asset được yêu cầu, path, HTTP status và referrer. Tôi cũng muốn xem client chỉ lấy HTML hay còn tải CSS, JavaScript và ảnh, rồi đối chiếu với các dimension analytics như browser, hỗ trợ JavaScript, khu vực, thời lượng session và landing page.
Không tín hiệu nào hoàn hảo khi đứng riêng. Kết hợp lại, chúng có thể củng cố hoặc làm yếu giả thuyết bot tốt hơn nhiều so với cảm giác “replay trông kỳ lạ”.
Bài học lớn hơn là về đo lường, không phải ranking
Tôi bắt đầu side project này để có kinh nghiệm SEO thực tế trước một sáng kiến lớn hơn ở công ty. Sau một tháng, kết quả hữu ích không chỉ là 632 lượt truy cập tự nhiên. Quan trọng hơn là thấy một câu chuyện hấp dẫn có thể hình thành nhanh đến mức nào từ dữ liệu chưa đầy đủ.
Tôi có thể gọi đỉnh 83 lượt truy cập là tăng trưởng. Tôi có thể gọi biến động sau khi đổi font là “ranking factor”. Tôi có thể gọi mọi session không CSS là bot. Cả ba câu chuyện đều đơn giản hơn. Không câu nào đủ chắc để coi là sự thật.
Với các thử nghiệm sau này, một quy trình thận trọng hơn sẽ là tách nguồn traffic, giữ changelog, so sánh trước và sau mà không mặc định nhân quả, điều tra bất thường ở mức HTTP request và coi công cụ analytics là hệ thống đo lường có giới hạn riêng.
Với tôi, đây là phần giá trị nhất của thử nghiệm cho tới nay. SEO tạo ra traffic để tôi quan sát; kỹ năng khó hơn là quyết định dữ liệu thực sự chứng minh điều gì.
Tôi vẫn tiếp tục xem log, đặc biệt là direct traffic từ Trung Quốc. Nếu tìm được pattern request lặp lại, tôi sẽ có câu trả lời mạnh hơn nhiều cho câu hỏi ban đầu: khoảng 20 lượt đó có thực sự là bot hay không, và việc bỏ qua CSS có phải một phần hành vi của chúng hay không.