Các trang web hiện đại không chỉ trông đẹp hơn nhiều mà còn được trang bị các tính năng mạnh mẽ, chẳng hạn như thông báo đẩy, hoạt động ngoại tuyến một phần và tải trong nháy mắt.
Nhưng nếu chúng ta muốn chính xác, chúng ta nên sử dụng thuật ngữ “ứng dụng” thay vì “trang web” vì các trang web tương tác, động và được xây dựng bằng JavaScript.
1.JavaScript như một người thay đổi cuộc chơi
Trong thời gian dài nhất, Google không thể thực thi JavaScript, nhưng sau đó vào năm 2015, công ty đã có một bước tiến dài trong việc xử lý JavaScript.
Cần phải nhấn mạnh rằng sự phát triển của công cụ tìm kiếm chậm hơn nhiều so với những gì xảy ra trong lĩnh vực phát triển web, đó có thể là lý do tại sao Google vẫn là công cụ tìm kiếm DUY NHẤT có thể thực thi JavaScript.
Vào thời điểm ban đầu, khi World Wide Web được xây dựng với các trang web chỉ được tạo thành từ ngôn ngữ đánh dấu siêu văn bản tĩnh (HTML), Google đã có một nhiệm vụ đơn giản phải hoàn thành:
2.Thực hiện yêu cầu tới máy chủ → nhận phản hồi HTML tĩnh → lập chỉ mục trang
Tôi biết đây là một mô tả siêu đơn giản về quy trình, nhưng tôi muốn chỉ ra sự khác biệt giữa việc xử lý các trang web trước đây và xử lý các trang web ngày nay.
Vấn đề nảy sinh khi các nhà phát triển bắt đầu sử dụng JavaScript (JS) để thêm tương tác trên các trang web và sau đó tăng tốc khi sự phụ thuộc vào JavaScript trở nên lớn hơn khi Javascript được sử dụng để tạo toàn bộ trang web.
Các ứng dụng và trang web JavaScript là những thách thức đối với Google vì sau khi yêu cầu ban đầu được gửi đến máy chủ, Googlebot sẽ nhận được một tệp HTML trống hoặc gần như trống rỗng. Nội dung, hình ảnh và liên kết được thêm vào sau khi JS thực thi.
Google đã giải quyết vấn đề bằng cách cố gắng hiển thị gần như tất cả các trang mà họ truy cập. Vì vậy, bây giờ, quá trình trông giống như sau:
Đưa ra yêu cầu tới máy chủ → NHẬN phản hồi HTML tĩnh → Gửi đến trình lập chỉ mục → Hiển thị trang → Lập
chỉ mục và gửi các liên kết được trích xuất tới Googlebot → Googlebot có thể thu thập dữ liệu các trang tiếp theo.
Việc thực thi JavaScript đã gây ra nhiều sự kém hiệu quả và chậm trễ cho quá trình thu thập thông tin, hiển thị và lập chỉ mục vì:
Quá trình thu thập thông tin của Googlebot bị chậm lại. Nó không thấy các siêu liên kết trong mã nguồn của trang web JS, vì vậy nó cần phải đợi trình lập chỉ mục hiển thị trang và sau đó gửi lại các URL được trích xuất.
Việc thực thi JavaScript cần nhiều tài nguyên. Nó gây mệt mỏi ngay cả với các trung tâm dữ liệu của Google.
Bất chấp những trở ngại này, chúng ta cần chuẩn bị cho sự bùng nổ lớn trong việc phát triển các ứng dụng JS động vì sự quan tâm đến các framework mã nguồn mở như React, Vue.js hoặc Angular tiếp tục tăng vọt. Ngày càng có nhiều trang web được xây dựng bằng JavaScript. vì vậy đối với người làm SEO, chúng ta cần có khả năng phát hiện ra các vấn đề trên các trang web sử dụng nó.
3.Cách tiếp cận thích hợp
Trước khi bắt đầu tìm hiểu sâu hơn về JavaScript và một số hỗn loạn liên quan đến nó, chúng ta hãy xem xét ba khía cạnh sẽ điều chỉnh cách tiếp cận của chúng tôi để phân tích các trang web:
A. Quy mô của vấn đề là gì?
Chúng tôi cần hiểu và phân định rõ ràng giữa các trang web (ứng dụng) được xây dựng bằng JavaScript, như Ứng dụng một trang (SPA) và phụ thuộc một phần vào JavaScript. Dưới đây là một số tình huống có thể xảy ra và cách phân biệt những gì được xây dựng với SPA và những gì là phụ thuộc một phần:
Không có phụ thuộc JavaScript. Truy cập trang web của chúng tôi và tắt JS trong trình duyệt - không có gì thay đổi.
Các phụ thuộc JS một phần. Truy cập trang web Angular.io và tắt JS trong trình duyệt - điều hướng chính không hoạt động (nhưng các liên kết có sẵn trong mô hình đối tượng tài liệu [DOM], mà tôi sẽ nói sau).
Các phụ thuộc JS có ý nghĩa. Truy cập light.com.vn và tắt JS - điều hướng chính có thể không hoạt động và các liên kết có thể không có sẵn trong DOM.
Hoàn thành các phụ thuộc JS. Truy cập YouTube, tắt JS và nhận thấy tất cả nội dung biến mất!
Như bạn có thể đoán, nếu bạn phụ thuộc một phần vào JavaScript, bạn sẽ gặp ít vấn đề hơn để giải quyết.
B. Trang web được xây dựng ở đâu?
Các trang web HTML tĩnh được xây dựng trên máy chủ của bạn. Sau yêu cầu ban đầu từ Googlebot (và cả người dùng), nó sẽ nhận được một trang tĩnh để phản hồi.
Ứng dụng web động (DWA) được xây dựng trong trình duyệt, vì vậy sau yêu cầu ban đầu, chúng tôi nhận được tệp HTML trống hoặc gần như trống và nội dung được tải theo cách không đồng bộ bằng JavaScript. Nhìn vào bức tranh lớn hơn, chúng ta có thể cho rằng kết xuất phía máy khách là kẻ xấu thực sự khi nói đến các vấn đề với JS và tối ưu hóa công cụ tìm kiếm (SEO).
C. Google có những giới hạn nào?
Cách đây một thời gian, Google đã tiết lộ cách nó hiển thị các trang web: Các dịch vụ kết xuất web được chia sẻ (WRS) chịu trách nhiệm hiển thị các trang. Đằng sau chúng là một trình duyệt không có đầu dựa trên Chrome 41 được giới thiệu vào năm 2015, vì vậy nó hơi lỗi thời. Việc Google sử dụng trình duyệt 3 năm tuổi có tác động thực sự đến việc hiển thị các ứng dụng web hiện đại vì nó không hỗ trợ tất cả các tính năng hiện tại mà các ứng dụng hiện đại sử dụng.
Eric Bidelman, một kỹ sư tại Google, xác nhận rằng họ nhận thức được những giới hạn mà Google có với JS. Dựa trên các tuyên bố không chính thức, chúng tôi có thể mong đợi rằng Chrome 41 sẽ được cập nhật lên phiên bản mới hơn vào cuối năm 2018.
4.Xử lý tài nguyên
Thời gian chờ là điều tiếp theo khiến JS và SEO trở thành một trận đấu khó khăn.
Các ứng dụng JavaScript thường cực kỳ nặng và Google có tài nguyên hạn chế. Hãy tưởng tượng rằng, trong trường hợp của JavaScript, Google cần hiển thị từng trang để xem nội dung. Ví dụ dưới đây cho thấy việc thực thi JS nặng nề như thế nào.

Nếu bạn có tệp JS và tệp hình ảnh có cùng kích thước, bạn sẽ thấy rằng mất khoảng 2 giây để phân tích cú pháp và sau đó khoảng 1,5 giây để thực thi JavaScript.
Google cần quản lý hợp lý các tài nguyên xử lý của mình vì lượng dữ liệu khổng lồ mà Google cần phải xử lý. World Wide Web bao gồm hơn một tỷ trang web và nó đang phát triển mỗi ngày. Biểu đồ dưới đây cho thấy kích thước trung bình của phiên bản dành cho máy tính để bàn của các trang đã tăng gần 100 phần trăm trong năm năm qua. Chỉ số phù hợp cho phiên bản di động của trang web đã tăng 250 phần trăm!

Hậu quả tự nhiên của các trang web JavaScript là sự chậm trễ trong việc thu thập dữ liệu, lập chỉ mục và cuối cùng là xếp hạng của các trang web đó.
5.Chuẩn bị và các nguồn hữu ích
Người làm SEO khi làm SEO kỹ thuật cần chú ý đến chi tiết. Trong trường hợp các trang web JavaScript, chúng ta cần chuẩn bị cho những vấn đề phức tạp mà chúng ta sẽ cần giải quyết, và chúng ta phải hiểu rằng chúng ta không phải lúc nào cũng dựa vào các quy tắc phổ biến và nổi tiếng.
Google biết SEO và nhà phát triển đang gặp vấn đề trong việc hiểu hành vi tìm kiếm và họ đang cố gắng giúp đỡ chúng tôi. Dưới đây là một số tài nguyên từ Google mà bạn nên theo dõi và kiểm tra để trợ giúp về bất kỳ vấn đề JS nào mà bạn có thể gặp phải:
Nhà phân tích xu hướng quản trị trang web light.
Nhà phân tích xu hướng quản trị trang web Gary Illyes.
Kỹ sư Eric Bidelman.
Các trang web JavaScript trong Diễn đàn Tìm kiếm của Google.
Video: “Các yêu cầu và thực tiễn tốt nhất về SEO cho các trang web hiện đại” với John Mueller.
Đoạn video: “Cung cấp các trang web JavaScript thân thiện với tìm kiếm” từ Google I / O 2018.
Bây giờ chúng ta đã biết những giới hạn của Google, chúng ta hãy thử phát hiện một số vấn đề trên một trang web JavaScript và tìm cách giải quyết.