Share
Có hai khái niệm mà những nhà phát triển web cần biết là Client Side Rendering và Server Side Rendering khi tối ưu trang web chuẩn SEO. Vì tối ưu trang web chuẩn SEO là quá trình tăng chất lượng và lưu lượng truy cập website bằng cách tăng khả năng hiển thị của website hoặc webpage cho người dùng trên các công cụ tìm kiếm như Google, Bing, Yahoo,… Nếu trang web của bạn có nội dung độc đáo nhưng không được người dùng tìm đến và thưởng thức thì quả là lãng phí.
Server Side Rendering (SSR) là phương pháp render (kết xuất) truyền thống.
Về cơ bản, tất cả các tài nguyên trên trang của bạn đều được lưu trữ trên máy chủ (server). Khi trang được yêu cầu truy cập, máy chủ sẽ trả về trang HTML để hiển thị trên trình duyệt, JS và CSS cũng được tải xuống và nội dung trang cuối cùng sẽ hiển thị tới người dùng.
Client Side Rendering (CSR) là một phương pháp render trang web mới hơn, đối với phương pháp này JS được thực thi ở phía trình duyệt thông qua các Javascript framework.
Quá trình render thay vì ở trên máy chủ như Server Side Rendering thì nó render ngay trên trình duyệt. Khi người dùng yêu cầu truy cập một trang web, thì trình duyệt sẽ nhận dữ liệu thô từ máy chủ và lắp ráp các dữ liệu đó để hiển thị cho người dùng cuối.
Cơ chế hoạt động của Client Side Rendering
Có một phép ẩn dụ mô tả sự khác biệt giữa SSR và CSR, đó là:
“Với kết xuất phía máy chủ, bất cứ khi nào bạn muốn xem một trang web mới, bạn phải ra ngoài và lấy nó, điều này tương tự như việc bạn lái xe đến siêu thị mỗi khi bạn muốn ăn. Với kết xuất phía khách hàng, bạn đi đến siêu thị một lần và dành 45 phút dạo quanh để mua một loạt thực phẩm cho tháng. Sau đó, bất cứ khi nào bạn muốn ăn, bạn chỉ cần mở tủ lạnh ” - Adam Zerner
Trang web áp dụng Server Side Rendering có thể hiển thị nhanh hơn một chút khi lần đầu tiên truy cập trang web, khá dễ hiểu vì nó không yêu cầu những chuyến đi vòng đến máy chủ. Tuy nhiên, hiệu suất còn phụ thuộc vào một số yếu tố khác. Các yếu tố ảnh hưởng được kể đến như:
- Tốc độ internet của người dùng thực hiện yêu cầu
- Số lượng người dùng đang truy cập trang web tại một thời điểm nhất định
- Vị trí thực của máy chủ
- Các trang được tối ưu hóa như thế nào về tốc độ
Tất cả những yếu tố trên đều có thể ảnh hưởng đến trải nghiệm người dùng. Vì mỗi lần người dùng gửi một yêu cầu một tương tác thì một kết nối được gửi đến máy chủ và máy chủ lại làm lại các bước render như nhau.
Trang web áp dụng Client Side Rendering sẽ hiển thị chậm hơn với lần truy cập đầu tiên vì nó thực hiện nhiều chuyến đi vòng đến máy chủ. Tuy nhiên, sau khi các yêu cầu này hoàn tất, CSR cung cấp trải nghiệm nhanh chóng thông qua các JS Framework.
Rõ ràng Client Side Rendering được nói như là một lựa chọn hoàn hảo để nâng cao trải nghiệm người dùng, giảm gánh nặng cho máy chủ khi lượng người dùng quá tải. Nhưng đối với Client Side Rendering, HTML để lập chỉ mục chỉ được hiển thị khi Javascript được hiển thị đầy đủ ở phía máy khách.
Do đó, với cơ chế đánh chỉ mục mà Google hiện đang sử dụng, có thể mất từ vài giờ đến một tuần trước khi nội dung có thể được thu thập thông tin, lập chỉ mục và bắt đầu xếp hạng trong kết quả tìm kiếm.
Đối với Server Side Rendering, tất cả nội dung HTML đều có trong mã nguồn, có nghĩa là công cụ tìm kiếm có thể yêu cầu, thu thập thông tin và lập chỉ mục nó ngay lập tức. Dẫn đến việc xuất hiện và xếp hạng trong kết quả tìm kiếm nhanh hơn.
Các lập trình viên thiết kế trang web vừa muốn xây dựng trang web tích hợp được khả năng tối ưu SEO như Server Side Rendering, vừa muốn nâng cao trải nghiệm của người dùng với Client Side Rendering thì có hai giải pháp được đưa ra đó là:
Về cơ bản cơ chế này bao gồm lắng nghe và gửi một ảnh chụp nhanh HTML thuần túy đến bot của công cụ tìm kiếm khi nó yêu cầu trang của bạn. Điều này đảm bảo rằng người dùng vẫn có thể tận hưởng tốc độ nhanh do CSR cung cấp, đồng thời cung cấp cho các công cụ tìm kiếm nội dung HTML cần thiết để lập chỉ mục và xếp hạng các trang của bạn.
Được đề xuất bởi Google, Với lựa chọn này, trong lần đầu tải trang, view của trang sẽ được render trên server, tương tự các trang web truyền thống, sau đó server gửi view đã được render dưới định dạng html tới client. Vì vậy client có thể render view ngay lập tức. Sau đó toàn bộ SPA (Single page application) được tải dưới background, và các hành động tiếp theo được xử lý ở phía client.
Vì kết xuất Isomorphic hoạt động trên cả phía máy chủ và phía máy khách, nó có thể mang lại vô số lợi ích cho người dùng. Hiện nay đã có một số Javascript Framework hỗ trợ Isomorphic rendering như Next.js cho ReactJs, Nuxt.js cho VueJs, Angular Universal cho Angular. Các framework này giúp việc xây dựng trang web theo phương pháp Isomorphic được nhanh chóng, dễ dàng và tiện lợi hơn với những người đã quen dùng Vuejs, ReactJs hay Angular.
Thương mại điện tử đã và đang trở thành xu thế dẫn đầu trong ngành Kinh tế trong những năm gần đây. Vì thế việc xây dựng những trang web đạt chuẩn SEO là vô cùng quan trọng. Không chỉ cần nội dung hay, sản phẩm chất lượng mà việc đáp ứng các tiêu chuẩn của các công cụ tìm kiếm để đưa người dùng đến với trang web của bạn cũng là một điều cần thiết.
Nếu bạn là người quyết định lựa chọn công nghệ nào khi bắt đầu xây dựng trang web của mình thì hi vọng thông qua bài viết này, bạn đã có câu trả lời cho mình.
Với kinh nghiệm xây dựng các trang web thương mại điện tử, homepage phục vụ mục đích tiếp thị cho nhiều doanh nghiệp, đội ngũ lập trình viên thành thạo và nhiệt huyết của Rabiloo rất mong được hợp tác với bạn.
Liên hệ để triển khai ứng dụng của mình nhé!
Để xem thêm nhiều bài viết về framework, ngôn ngữ lập trình, công nghệ và kinh doanh, hãy truy cập vào kênh tri thức của Rabiloo.
Share