Vào ngày 14 tháng Mười, Google thông báo rằng họ không khuyên dùng chương trình thu thập dữ liệu Ajax mà họ đưa ra năm 2009. Nhà báo Mark Munroe phân tích câu hỏi liệu điều này có nghĩa là bạn có thể tin tưởng để Google thu thập là lập chỉ mục cho trang tạo bởi Ajax hay không.

javascript-js-ss-1920-800x450

Các nhà thiết kế web và các kỹ sư ưa sử dụng Ajax để xây dựng các ứng dụng web SPA với các nền tảng thông dụng như Angular và React. Việc ứng dụng Ajax có thể cho ra một ứng dụng web mượt mà và giàu tương tác giống như một ứng dụng máy tính chuyên dụng. Thông thường với một SPA, nội dung HTML không được tải lên trình duyệt với lần nạp đầu tiên của trang web. Ajax sử dụng JavaScript để giao tiếp với máy chủ nhằm tạo ra giao thức HTML để hiển thị trang và tương tác với người dùng. (Có một kỹ thuật gọi là "Xử lý ở máy chủ" ở đó JavaScript được thực thi trên máy chủ và yêu cầu trang được trả về với nội dung HTML được xử lý. Tuy nhiên kỹ thuật này chưa được hỗ trợ trên tất cả các nền tảng SPA và làm quá trình phát triển thêm phức tạp.) Một trong những vấn đề với các trang sử dụng Ajax chính là SEO. Google thực tế đã thu thập các nội dung JavaScript một thời gian. Một chuỗi các thử nghiệm xác nhận khả năng của Google trong việc thu thập liên kết, dữ liệu và nội dung từ JavaScript. Tuy nhiên các trang sử dụng nền tảng SPA Ajax đơn thuần từ lâu đã là thách thức với SEO. Năm 2009, Google đã đưa ra một giải pháp để có thể thu thập thông tin được từ Ajax. Phương thức này có thể là tạo ra các đường dẫn bị phân mảnh hoặc gần đây là cách tạo ra các đường dẫn bình thường với dòng Meta="fragment". Đường dẫn phân mảnh hoặc đường dẫn chứa dòng Meta chỉ dẫn Google tìm một phiên bản tải trước của trang mà đã thực thi tất cả các mã JavaScript và có nội dung HTML mà Google có thể phân tích và lập chỉ mục. Với phương pháp này, trình tìm kiếm spider của Google phục vụ mã nguồn trang hoàn toàn khác nhau (HTML và JavaScript). Với thông báo là Google thu thập JavaScript, nhiều trang web đã quyết định để Google thu thập thông tin các trang SPA Ajax của họ. Thường thì điều đó không thành công lắm. Trước đây tôi có tư vấn cho vài trang web về cách sử dụng nền tảng Ajax Angular. Google có thành công đôi chút với chúng, khoảng 30% các trang trong bộ nhớ cache của Google được dựng thành công. Và 70% còn lại thì trống. Một trang web ẩm thực nổi tiếng chuyển sang nền tảng Angular vì tin rằng Google có thể thu thập dữ liệu của mình. Họ đã mất 70% lượng truy cập tự nhiên và vẫn đang phục hồi lại từ thất bại đó. Cuối cùng, cả hai trang đều dùng ảnh chụp nội dung HTML tải trước, một giải pháp được khuyên dùng để xử lý vấn đề thu thập nội dung từ Ajax tại thời điểm đó. Và sau đó vào ngày 14 tháng Mười, Google thông báo: Chúng tôi khuyến cáo dừng sử dụng giải pháp thu thập AJAX mà chúng tôi đưa ra năm 2009. Nên chú ý là họ vẫn hỗ trợ giải pháp cũ. (Có vài bài báo nói rằng họ không hỗ trợ nữa, tuy nhiên điều đó không đúng – họ chỉ đơn giản không khuyến cáo sử dụng phương pháp tiếp cận như vậy.) Trong thông báo khuyến cáo dừng sử dụng giải pháp cũ, dường như họ nói rằng giờ thì họ có thể thu thập dữ liệu từ Ajax. Sau thông báo đó một tuần, một khách hàng với trang web mới đưa vào vận hành đề nghị tôi kiểm tra trang web. Đó là một trang sử dụng nền tảng Angular, lại sử dụng SPA Ajax. Sau khi kiểm tra chỉ mục và bộ nhớ cache của Google, chúng tôi thấy một số trang được lập chỉ mục một phần mà không phải tất cả nội dung được thu thập. Tôi nhắc lại khuyến nghị trước đó về việc sử dụng ảnh chụp nội dung HTML hoặc giả pháp nâng cao lũy tiến. Trang web được xây dựng với nền tảng Angular, nền tảng này chưa hỗ trợ việc xử lý ở máy chủ (trong trường hợp này máy chủ ban đầu sẽ dựng một trang để phục vụ cho các nội dung HTML), vì thế việc nâng cao lũy tiến sẽ khó tiến hành, và giải pháp ảnh chụp HTML vẫn là giải pháp tốt nhất. Cô ấy hỏi tôi "Nhưng tại sao chứ? Mọi thứ tôi đọc đều nói là Google có thể thu thập dữ liệu từ Ajax." Họ có thể làm điều đó không? Hãy tìm hiểu kỹ hơn về khuyến nghị mới của Google về phần có liên quan đến Ajax. Các khuyến nghị mới của Google về Ajax Để giải thích cho việc tại sao họ bỏ đi các khuyến nghị cũ, họ nói (phần bôi đậm là tôi thêm vào): Chúng tôi về cơ bản có thể dựng và hiểu trang web của bạn như những trình duyệt hiện đại. Nhiều người có thể nhanh chóng kết luận rằng Google có thể thu thập dữ liệu Ajax mà không có vấn đề gì. Nhưng để ý đến từ ngữ "về cơ bản có thể"? Bạn có dám đánh cược doanh thu của bạn vào thông tin Google "về cơ bản có thể" hiểu được trang web của bạn? Điều đó có phải là do tôi dựa trên ngữ nghĩa không? Hãy phân tích thông báo này thêm nữa. Ở phần cuối thông báo, họ có nói đến Ajax: Vì những giả định về phương thức 2009 của chúng tôi không còn giá trị, chúng tôi khuyến nghị tuân theo những quy tắc của giải pháp nâng cao lũy tiến. Họ không nói ra trong thông báo của họ, nhưng bằng cách khuyến nghị giải pháp nâng cao lũy tiến (giải pháp này dùng để tải vài nội dung HTML cho các trình duyệt không hỗ trợ JavaScript." Tại sao khuyến nghị giải pháp này nếu như Google luôn có thể thu thập dữ liệu từ các trang SPA Ajax?" Tôi đã lo là mình có lẽ đã phân tích quá nhiều về từ ngữ Google sử dụng, nhưng… John Mueller xác nhận Google vẫn gặp vấn đề với Ajax Vào ngày 27 tháng Mười (gần hai tuần sau thông báo của Google), John Mueller xác nhận trên Webmaster Central Hangout rằng Google thực sự vẫn gặp vấn đề với Ajax. Bạn có thể xem video cuộc trao đổi trên ở khoảng 1:08:00, khi có một câu hỏi liên quan đến việc sử dụng Angular: Họ vẫn gặp vấn đề với việc dựng trang và họ hy vọng việc đó sẽ tốt hơn theo thời gian. John khuyến nghị vài giải pháp để giúp gỡ lỗi cho các vấn đề. Cuối cùng ông ấy khuyến nghị sử dụng ảnh chụp HTML cho đến khi Google có giải pháp tốt hơn với Ajax (Đúng, đó là phương thức vừa mới bị tạm dừng chính thức). Vậy ta phải làm gì?Nâng cao lũy tiến: Xử lý trang ở máy chủ là yêu cầu cho phương thức nâng cao lũy tiến, và nó chưa được hỗ trợ bởi nền tảng Angular. Tuy nhiên phiên bản Angular 2.0 sắp tới sẽ hỗ trợ xử lý trang từ máy chủ. Nền tảng React thực tế đã hỗ trợ xử lý từ máy chủ. Tuy nhiên điều này có nghĩa là nhiều việc cần làm hơn so với việc đơn giản tạo ra các hình chụp nội dung HTML. Bạn cần đảm bảo rằng bạn dựng các liên kết cần thiết để cho Google có thể thu thập và lập chỉ mục các nội dung bổ sung sẽ được tải lên trang. Tuy nhiên với các trang sử dụng nền tảng Ajax, đây là phương thức mà tôi khuyến nghị (và tất nhiên Google cũng khuyến nghị phương thức này). • Hình ảnh tải trước của nội dung HTML: Một lần nữa, đừng bị nhầm lẫn nếu bạn có nghe hoặc đọc ở đâu đó rằng Google đã ngừng hỗ trợ phương thức này. Họ sẽ tiếp tục hỗ trợ nó trong tương lai. Họ chỉ không khuyến nghị sử dụng nó. Phương thức này có tác dụng, tuy nhiên viết lệnh để tải trước và cung cấp các ảnh chụp không phải là đơn giản. Tin tốt là có các nhà cung cấp như prerender.io sẽ làm việc đó cho bạn với một mức giá thấp hợp lý. Đó có thể là phương thức đơn giản nhất. Phương thức này cũng không phải lý tưởng. Hỗ trợ các nguồn lệnh khác nhau với các trình thu thập và trình duyệt (HTML và JavaScript) có thể phát sinh các vấn đề. Nó có thể được coi như một kỹ thuật che giấu, và nó không đồng nghĩa với những gì mà trình thu thập được cung cấp. Điều quan trọng là theo dõi bộ nhớ cache của Google để đảm bảo rằng nó không bị cung cấp các trang không đúng. Tuy nhiên, nếu bạn sử dụng một nền tảng không hỗ trợ xử lý từ máy chủ, thì đây có lẽ là giải pháp duy nhất của bạn. Cẩn tắc vô ưu Thậm chí nếu tôi đã thấy các bằng chứng rằng Google đã luôn thu thập dữ liệu từ các trang sử dụng Ajax, tôi vẫn phải cảnh giác. Phải mất nhiều nguồn lực hơn và nhiều thời gian hơn để dựng trang hơn việc đơn giản cung cấp nội dung HTML. Điều gì sẽ xảy ra với các trang web có hàng trăm hoặc hàng ngàn trang? Nó sẽ ảnh hưởng đến ngân sách cho việc thu thập dữ liệu thế nào? Tỷ lệ thu thập dữ liệu sẽ còn ổn định không? Trước khi khuyến nghị phương thức tiếp cận này, tôi thấy nên chờ các bằng chứng thuyết phục hơn rằng Google có thể và đang luôn thu thập dữ liệu từ các Ajax SPA ở diện rộng, với việc không có tác động tiêu cực nào lên tỷ lệ thu thập, lập chỉ mục và xếp hạng. Xin hãy cho biết ý kiến của bạn. Nguồn: http://searchengineland.com/