Ok, kể từ khi tôi cuối cùng đã thoát khỏi điều này, tôi muốn chia sẻ cách tôi tìm thấy;
đầu tiên của tất cả các ảnh chụp HTML phải được cung cấp cho trình thu thập tại một URL cụ thể mà
?_escaped_fragment_=
được thay thế
#!
Vì vậy, nếu bạn có:
http://www.website.com/#!/eng/home
của bạn máy chủ phải cung cấp ảnh chụp nhanh tại:
http://www.website.com/?_escaped_fragment_=/eng/home
Nếu ai đó quan tâm đến phương pháp tôi sử dụng để tạo ảnh chụp nhanh, tôi chỉ cần sử dụng mô-đun nút có tên là judo (https://npmjs.org/package/judo); để sử dụng điều này bạn cần phải có trên máy ảo của bạn (http://phantomjs.org/) và nút (http://nodejs.org/); (thông tin thêm về cách cài đặt phantomjs trên máy chủ: How can I setup & run PhantomJS on Ubuntu?)
Khi bạn đã cài đặt mọi thứ, bạn chỉ cần viết tệp js bằng judo (ví dụ: judo.js) (theo trang tài liệu mà tôi đã liên kết trước khi bạn sẵn sàng trong 5 phút); tải lên tệp trên máy chủ và thực thi nó bằng nút để tạo ảnh chụp nhanh và sơ đồ trang web;
sau này, bạn cần phân phối trình thu thập dữ liệu của Google bằng ảnh chụp nhanh HTML khi anh ấy yêu cầu? _escaped_fragment_ = URL; cách đơn giản nhất theo ý kiến của tôi là tập tin .htaccess; đặc biệt là bạn chỉ cần 3 dòng mã, mà trong trường hợp của tôi là:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^_escaped_fragment_=/(.*)$
RewriteRule ^$ /seo/snapshots/%1\.html [L]
(vì trong judo.js tôi tập tin tạo ra các bức ảnh chụp trong/seo/snapshots thư mục)
Cuối cùng, bạn có thể kiểm tra mọi thứ hoạt động bằng cách sử dụng tùy chọn "tìm nạp như google" trong bảng điều khiển công cụ quản trị trang web của google; nếu bạn đã làm tất cả chính xác, bạn sẽ thấy rằng kết quả là ảnh chụp nhanh HTML ...
Nguồn
2013-11-02 00:56:28
Một điều nữa để xem xét là _escaped_fragment_ sẽ được urlencoded và do đó cần phải được giải mã để tạo ra 'khá url' cho phantomjs render. Gần đây, tôi đã khởi chạy crawlspa.com, cung cấp mọi thứ dưới dạng dịch vụ. – DanS