2011-11-23 28 views
5

Trên trang web của tôi, tôi phục vụ danh mục khoảng không quảng cáo bán lẻ. Tôi muốn đặt gánh nặng xử lý dữ liệu và hiển thị khoảng không quảng cáo trên trình duyệt của khách hàng, để giảm băng thông và xử lý bên máy chủ của tôi. Tôi cũng muốn nội dung có thể thu thập dữ liệu bot.(javascript/else/noscript iframe) để giảm xử lý máy chủ?

Tôi đang tưởng tượng nó như thế này, nhưng tôi đang tự hỏi nếu có một giải pháp tốt hơn:

1: Nếu javascript được kích hoạt, quá trình khách hàng dữ liệu phía

2: Nếu không phải là javascript đã bật, xử lý phía máy chủ dữ liệu:

<noscript> 
<iframe> 
php processing script 
</iframe> 
</noscript> 

Ngoài ra, vui lòng xác nhận rằng iframe sẽ không được tải nếu bật Javascript. Nếu trình duyệt xử lý nó, thì điều đó sẽ đánh bại mục tiêu của tôi.

Cuối cùng, vui lòng xác nhận rằng bot google sẽ thu thập dữ liệu iframe. Tôi muốn iframe được lập chỉ mục như một phần của trang tải, không phải là một trang riêng biệt. Khung nội tuyến được tải từ một miền hoàn toàn riêng biệt, vì vậy tôi lo lắng rằng google có thể không lập chỉ mục nó.

Cảm ơn, Skibulk

+0

Bạn đang nói đến bao nhiêu dữ liệu? Nếu bạn đang gửi 50 megabyte dữ liệu sản phẩm cho khách hàng trên mỗi lần tải trang, tất cả những gì bạn đã làm là làm phiền người dùng của bạn và đẩy mạnh hóa đơn băng thông của bạn. –

+0

Không có khối dữ liệu nhỏ, thường chỉ là một tập kết quả tìm kiếm từ một truy vấn mysql. Đây là một trừu tượng từ tình hình thực tế. Tôi sẽ thực sự là miền romote, phục vụ tìm kiếm hàng tồn kho cho hàng trăm cửa hàng tiềm năng. Điều này có thể dẫn đến quá trình xử lý phía máy chủ mà tôi đang cố gắng cắt giảm. – skibulk

Trả lời

1

vui lòng xác nhận rằng iframe sẽ không được nạp nếu Javascript được kích hoạt

Quyết định xem có hiển thị nội dung <noscript> được thực hiện bởi các trình duyệt. Điều này có nghĩa là bạn vẫn sẽ xử lý và tải xuống kết quả của "tập lệnh xử lý php" của bạn cho dù khách hàng có quyết định hiển thị nó hay không.

Thực sự, bạn sẽ phải có iframe trỏ đến trang nguồn, vì vậy nó sẽ chỉ được tải nếu khách hàng quyết định khối <noscript> sẽ được hiển thị.

<noscript> 
    <iframe src="yourserverpage"></iframe> 
</noscript> 

vui lòng xác nhận rằng bot google sẽ thu thập thông tin iframe. Tôi muốn khung nội tuyến được lập chỉ mục như một phần của trang tải, chứ không phải một trang riêng lẻ

Đáng buồn là điều này là không thể.

Bạn vẫn có thể có một trang trên máy chủ hiển thị nội dung, nhưng nó sẽ được lập chỉ mục tại địa chỉ chính xác, không phải là một phần của trang bạn nhúng iframe vào. Ví dụ: hãy tưởng tượng đây là HTML cho " TrangA "

<noscript> 
    <iframe src="PageB"></iframe> 
</noscript> 

Nội dung bên trong iframe này sẽ được lập chỉ mục tại TrangB, không phải là một phần của PageA.

Bạn có thể sửa lỗi này trong một số trường hợp bằng cách sử dụng thẻ meta kinh điển:

<link rel="canonical" href="PageA"> 

Khi đặt trong <head> của trang HTML của bạn, thẻ này yêu cầu trình thu thập chỉ mục nội dung dưới một địa chỉ thay thế được cung cấp. Điều này thường được sử dụng khi cùng một nội dung xuất hiện trên cả hai trang, nhưng bạn muốn một nội dung làm chủ cho kết quả tìm kiếm. Tôi không biết nếu sử dụng nó trong ngữ cảnh của bạn có thể được coi là "mũ đen" bởi trình thu thập thông tin vì ngữ cảnh có khác biệt không.

Một cách tiếp cận khác!

Nếu bạn có khoảng không quảng cáo lớn, bạn có thể nên giới thiệu khái niệm phân trang kết quả. Sau đó, bạn có thể có trang JavaScript không hoạt động với các liên kết đến các trang khoảng không quảng cáo khác. Sau đó, bạn có thể sử dụng JavaScript để chặn hành động nhắn tin và sử dụng một phương pháp thay thế để nhận kết quả nếu bạn cho rằng nó thêm giá trị cho những người truy cập vào trang web của bạn.

0

Mã PHP vẫn sẽ được gọi khi trang web được tạo ra. Bạn cần cung cấp url cho iframe trỏ đến một trang khác thay vì nhúng HTML vào iframe để hoãn thực thi. Thậm chí sau đó, tôi không chắc chắn rằng URL sẽ không được tìm nạp. Bạn sẽ phải thử nó để chắc chắn. Sử dụng Firefox/Firebug để xem liệu yêu cầu có được thực hiện khi tải trang đến url thay thế hay không.

<noscript> 
<iframe src="/example.com/deferred-load.php"> 
</iframe> 
</noscript> 

Ngoài ra, bạn chính xác rằng Google sẽ không lập chỉ mục khung nội tuyến như một phần của trang web của bạn.

Các vấn đề liên quan