Tôi tự hỏi nếu có ai tìm ra giải pháp cho vấn đề này. Có cách nào để có được tốt nhất của cả hai thế giới:Ứng dụng web dựa trên trang đơn/trang lai (Angularjs, Ember.js) với cải tiến nâng cao?
- xây dựng một trang web page-based, với các liên kết vĩnh viễn, khả năng tiếp cận, SEO, và dự phòng duyên dáng/nâng cấp tiến (về cơ bản tất cả best practices of web development các)
- và, cho những người có javascript, trải nghiệm giao diện người dùng đáp ứng với tải nội dung ajax, không làm mới trang trong khi điều hướng các trang của trang web cơ bản, tải xuống dự phòng tối thiểu các tập lệnh/nội dung/css/v.v. (Tất cả những lợi ích của một khuôn khổ client-side như AngularJs hoặc Ember.js)
Tôi thấy một vài trang web lớn có thể quản lý này (gmail, stackoverflow), và tôi thấy rằng Jeff's new site xây dựng một trần xương phiên bản của trang web trong thẻ noscript.
- Là giải pháp cho ứng dụng lai trên trang/một trang để xây dựng hai phiên bản của trang web, gửi cả hai và cho phép khách hàng quyết định xem nó có thể hiển thị? (Đây có phải là những gì gmail không?)
- Hoặc là vấn đề mà AngularJS et al. chỉ đơn giản là không được thiết kế để cho phép sự xuống cấp duyên dáng?
Làm đau bộ não DRY của mình để nghĩ rằng # 1 là câu trả lời.
(Lý do tôi tập trung vào AngularJs là tôi thích sự hỗ trợ của nó đối với việc tạo mẫu html, kiểu khai báo, và các nỗ lực của nó để sửa phạm vi js. Ember và các khung công tác khác cũng xuất sắc; cho một trang web lai?)
Bây giờ trình lập chỉ mục của Google sẽ hoạt động giống như trình duyệt và hiển thị trang như chúng, vì vậy bạn không thực sự cần phải làm gì để làm cho Angular phù hợp hơn cho việc lập chỉ mục: https://googlewebmastercentral.blogspot.no/2015/10 /deprecating-our-ajax-crawling-scheme.html –