Cải tiến SEO cho các trang web JavaScript Các trang Snapshot

Thảo luận trong 'Tin tức SEO từ các thành viên' bắt đầu bởi vietmozorg, 24/12/14.

  1. vietmozorg

    vietmozorg Thành Viên Mới

    Tham gia ngày:
    7/6/14
    Bài viết:
    55
    Đã được thích:
    2
    Điểm thành tích:
    0
    JavaScript đã được tích hợp với HTML trên web và SEO cần phải trau dồi sự hiểu biết của mình hơn nữa để tạo ra trang web JavaScript thân thiện với công cụ tìm kiếm. Chúng tôi đã đưa ra một số phương pháp cơ bản để SEO với JavaScript trong một bài viết trước đây. Tuy nhiên, có một vấn đề phức tạp cần phải có một phương pháp điều trị chuyên sâu. Vì vậy, chúng ta hãy nhìn vào những chi tiết cụ thể để tiếp cận với trang web JavaScript.


    [​IMG]


    Bạn còn cần điều này hay không?

    Công cụ tìm kiếm xử lý JavaScript nhiều hơn mỗi ngày. Điều đó không có nghĩa là trang web AngularJS của bạn sẽ được index và được xếp hạng. Các công cụ hiện đang phân tích một số JavaScript nhưng index đầy đủ tất cả các trạng thái của ứng dụng JavaScript Web. Nếu bạn đang chạy JavaScript trên một trình duyệt và trích xuất nội dung từ cơ sở dữ liệu thì chắc chắn rằng các công cụ sẽ không nhìn thấy nó.

    Render trước các trang Snapshot và cung cấp cụ thể cho Bot

    Đây có lẽ là phương pháp phổ biến nhất đối với các vấn đề ở phía client JavaScript SEO. Các luồng cơ bản sẽ là như sau:
    Các bot công cụ tìm kiếm sẽ phát hiện hoặc nhìn vào URL nếu bạn sử dụng #! ("hashbang") hay chỉ đơn giản là kiểm tra tác nhân người dùng được yêu cầu.

    Nếu bot phát hiện được thì chuyển hướng yêu cầu đến công cụ render của bạn chẳng hạn như PhantomJS. Công cụ này sẽ chờ cho đến khi tất cả nội dung của AJAX được tải.

    Sau khi tải, lấy nguồn của trang được render và đầu ra của nó lại quay trở về bot.

    Thật trớ trêu đây lại là một hình thức che đậy – gửi nội dung cụ thể đến bots – đây thường là điều cấm kỵ trong SEO. Đây là loại che đậy được coi là có “đạo đức”, tuy nhiên sẽ có khá nhiều nội dung giống như những gì mà người dùng sẽ nhìn thấy. Do đó công cụ tìm kiếm là OK với nó.

    Google có đầy đủ những kỹ thuật thu thập AJAX bao gồm những điểm quan trọng. Ý tưởng cơ bản là thêm #! Định danh cho URL của bạn hoặc chứa thẻ HTML [meta name="fragment" content="!"] ở tiêu đề trang. Điều này cảnh báo Google rằng trang web sử dụng URL và khiến chúng index trang.

    Như đã đề cập trong bài viết trước đây của tôi, History.pushState là một tùy chọn cho việc tạo ra các chỉ mục URL AJAX. PushState có vấn đề ở chỗ là nó không được hỗ trợ bởi trình duyệt IE 9 - vẫn còn là một trình duyệt khá phổ biến.

    Các vấn đề tiềm năng với việc render trước

    Có một vài thứ bạn cần phải dè chừng nếu bạn quyết định lựa chọn render trước:

    Phát hiện bot. Đảm bảo rằng bạn đang phục vụ cho tất cả các bot chứ không phải là chỉ có Googlebot (ví dụ như Bingbot).
    Snapshot timing. Hãy xem xét đến việc các yếu tố JavaScript của bạn bởi nó có thể mất thời gian để xử lý thông qua PhantomJS. Bạn có thể cần xây dựng với một độ trễ để cho phép tải trước các nội dung đầy đủ để lưu trang vào bộ nhớ cache. Nếu trang snapshot của bạn có thể chưa đầy đủ hoặc được render một phần.

    Thời gian tải trang. Tương tự như vậy, nếu bạn chạy tiến trình trang snapshot tại thời điểm bot yêu cầu URL, trang có thể tải chậm. Tốc độ tải trang là một yếu tố xếp hạng SEO quan trọng, vì vậy nếu trang của bạn tải chậm đến bot, bạn có thể bị ảnh hưởng tiêu cực. Đây là lý do tại sao người ta mong muốn lưu trữ trang vào bộ nhớ cache trước. Điều này có thể mang lại lợi ích thực sự cho trang web của bạn để nó xuất hiện nhanh hơn đến động cơ tìm kiếm và đến được với người dùng.

    Xử lý hàng loạt. Nếu bạn có nhiều trang, bạn có thể muốn chạy tiến trình snapshot tại một thời điểm cụ thể trong thời gian nghỉ hoặc trên máy chủ của riêng nó. Quá trình này có thể nhận được nhiều nguồn tài nguyên.

    Vì bạn đang sử dụng phát hiện bot nên nó sẽ khó khăn hơn để xác minh được tiến trình của bạn có thực sự làm việc hay không. Có một cách để kiểm tra công việc của bạn đó là sử dụng tính năng "Fetch as Google" trong Google Webmaster Tools. Nhập URL của một trang snapshot (nó có thể khác nhau từ các URL hiển thị trực tiếp cho người dùng) trong GWT và kiểm tra xem liệu Google có thể lấy nó ra một cách chính xác hay không. Điều này đòi hỏi phải có một trang sống cho nên cần phải có một kế
    hoạch phù hợp.

    Hiện nay Fetch as Google hỗ trợ #! Nhưng không có pushState URLs. Nếu URL của bạn là tĩnh thì bạn sẽ không gặp bất cứ vấn đề nào.

    [​IMG]
    Sử dụng tiện ích Google Webmaster Tools "Fetch as Google" để kiểm tra các trang snapshot của bạn.

    Các dịch vụ render trước

    Xây dựng đầy đủ khả năng render trước có thể sẽ không đơn giản như bạn nghĩ. Đối với một trang web lớn thì nó có thể liên quan đến việc thiết lập bộ nhớ đệm ở máy chủ, một cơ sở dữ liệu cho nội dung, một dịch vụ lời gọi trong bộ nhớ đệm, một lịch trình và một tiện ích quản trị. Rất may là có một số công ty đã đưa ra các giải pháp để giải quyết các phần hoặc tất cả các phương pháp tiếp cận prerendering (render trước). Một số dịch vụ mà tôi hay sử dụng bao gồm:

    Prerender.io. Prerender.io chạy một dịch vụ mà làm việc với PhantomJS để lưu trữ và phục vụ các trang snapshot. Chúng làm giảm sự đau đầu vì phải chạy máy chủ prerender của riêng bạn. Chúng có giá cả hợp lý dựa trên số lượng các trang lưu trữ và các tần số trong đó snapshots được thực hiện.

    Brombone.com. Brombone chạy một dịch vụ tương tự trong đó có các trang snapshot có thể được tạo ra dựa trên các thông tin về thời gian đối với các URL trong sitemap hoặc theo lịch trình dựa trên cơ sở tùy chỉnh.
    AjaxSnapshots. AjaxSnapshots cung cấp dịch vụ prerendering với một số tùy chọn. Tại thời điểm này trang web của họ hầu hết là miễn phí (ít nhất là cho đến bây giờ).

    Trả tiền tìm kiếm và các trang đích

    Các trang web JavaScript cũng gặp những thử thách với tìm kiếm trả tiền cũng như SEO. Ví dụ, AdWords sẽ quyết định điểm chất lượng dựa trên điều này, bot AdWords sẽ nhìn thấy nội dung trên trang. Có một cách tiếp cận để phục vụ các trang snapshot cho Google AdsBot (danh sách đầy đủ của trình thu thập Google và các tác nhân người dùng là có sẵn tại đây).
    Hơn nữa, nếu sản phẩm hoặc nội dung sản phẩm được tìm thấy trong một trang ứng dụng duy nhất thì nó có thể là một thách thức để buộc trạng thái này phải thông qua URL đích của tìm kiếm trả tiền. Tạo #! Hoặc tìm URL tĩnh là điều bắt buộc ở đây.
    Đối với các trang đích tìm kiếm trả tiền thường phải điều chỉnh rất nhiều để có được một chuyển đổi tốt, nó có thể tốt hơn trong thời gian dài để tạo ra các trang chuyên dụng cho các chiến dịch PPC của bạn, thoát khỏi trải nghiệm JavaScript Web đến những người dùng và SEO.

    Kết luận

    Các trang web JavaScript là rất phức tạp. Trong khi nó không hề đơn giản để xây dựng một trang web JavaScript mà làm việc tốt trong SEO, thậm chí nó còn phải cố gắng nhiều hơn nữa để sửa chữa một trang web đã được xây dựng mà không cần SEO. Cho đến khi các framework và các công cụ được cải tiến để làm cho nó dễ dàng hơn khi kết hợp các yêu cầu SEO, SEOer sẽ cần phải làm việc nghiêm túc với các nhà phát triển để đảm bảo SEO được đưa vào. Việc SEO và JavaScript sống hòa thuận với nhau có thể không dễ dàng nhưng nó lại có giá trị.

    Theo: ThegioiSEO
     
    Cảm ơn đã xem bài:

    Cải tiến SEO cho các trang web JavaScript Các trang Snapshot

    Đang tải...


Like và Share ủng hộ ITSEOVN