Tải song song GPT và giá thầu
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Tổng quan
Quá trình kiểm tra này kiểm tra xem yêu cầu đặt giá thầu dựa vào tiêu đề có bị trì hoãn cho đến khi
Thư viện Thẻ nhà xuất bản của Google (GPT) sẽ tải. Trong hầu hết các trường hợp, những yêu cầu này không
phụ thuộc vào GPT và có thể được thực hiện song song với việc tải thư viện để
tăng tốc độ tải quảng cáo.
Đề xuất
Đảm bảo rằng yêu cầu đặt giá thầu dựa vào tiêu đề không đợi từ ngày googletag.pubadsReady()
hoặc
googletag.cmd.push()
Ví dụ về Prebid.js
Không chính xác |
window.pbjs = pbjs || {};
pbjs.que = pbjs.que || [];
window.googletag = window.googletag || {};
googletag.cmd = googletag.cmd || [];
googletag.cmd.push(function() {
googletag.pubads().disableInitialLoad();
// Incorrect: Making bid requests dependent on GPT loading.
pbjs.que.push(function() {
pbjs.requestBids({
bidsBackHandler: handleBidResponse
});
});
});
|
Đúng |
window.pbjs = pbjs || {};
pbjs.que = pbjs.que || [];
// Correct: Making bid requests independent of GPT loading.
pbjs.que.push(function() {
pbjs.requestBids({
bidsBackHandler: handleBidResponse
});
});
window.googletag = window.googletag || {};
googletag.cmd = googletag.cmd || [];
googletag.cmd.push(function() {
googletag.pubads().disableInitialLoad();
});
|
Danh sách các nền tảng trao đổi quảng cáo và bên cung được hỗ trợ trong quá trình kiểm tra này
có thể tìm thấy các kết quả đánh giá trong
kho lưu trữ GitHub của chúng tôi.
Trừ phi có lưu ý khác, nội dung của trang này được cấp phép theo Giấy phép ghi nhận tác giả 4.0 của Creative Commons và các mẫu mã lập trình được cấp phép theo Giấy phép Apache 2.0. Để biết thông tin chi tiết, vui lòng tham khảo Chính sách trang web của Google Developers. Java là nhãn hiệu đã đăng ký của Oracle và/hoặc các đơn vị liên kết với Oracle.
Cập nhật lần gần đây nhất: 2025-07-25 UTC.
[null,null,["Cập nhật lần gần đây nhất: 2025-07-25 UTC."],[[["\u003cp\u003eThis audit checks if header bidding requests are delayed until the Google Publisher Tag library loads, potentially slowing down ad loading.\u003c/p\u003e\n"],["\u003cp\u003eIt's recommended to make header bidding requests independent of GPT loading to improve performance.\u003c/p\u003e\n"],["\u003cp\u003eYou can make your header bidding requests independent of GPT by ensuring they don't wait for \u003ccode\u003egoogletag.pubadsReady()\u003c/code\u003e or \u003ccode\u003egoogletag.cmd.push()\u003c/code\u003e, as demonstrated in the Prebid.js example.\u003c/p\u003e\n"],["\u003cp\u003eA list of supported ad platforms evaluated by this audit is available on the project's GitHub repository.\u003c/p\u003e\n"]]],["The audit checks if header bidding requests are unnecessarily delayed by waiting for the Google Publisher Tag (GPT) library to load. Header bidding requests should be independent of GPT to speed up ad loading. Avoid using `googletag.pubadsReady()` or `googletag.cmd.push()` to trigger bid requests. The correct approach, exemplified with Prebid.js, is to initiate `pbjs.requestBids` outside of the `googletag.cmd.push()` function, making the bid requests run in parallel to GPT loading.\n"],null,["# Load GPT and bids in parallel\n\nOverview\n--------\n\nThis audit checks whether or not header bidding requests are deferred until the\nGoogle Publisher Tag (GPT) library loads. In most cases, these requests are not\ndependent on GPT and can be made in parallel with the library being loaded to\nspeed up ad loading.\n\nRecommendations\n---------------\n\nEnsure that header bidding requests do not wait on `googletag.pubadsReady()` or\n`googletag.cmd.push()`.\n\n### Prebid.js Example\n\n|---------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| **Incorrect** | ```javascript window.pbjs = pbjs || {}; pbjs.que = pbjs.que || []; window.googletag = window.googletag || {}; googletag.cmd = googletag.cmd || []; googletag.cmd.push(function() { googletag.pubads().disableInitialLoad(); // Incorrect: Making bid requests dependent on GPT loading. pbjs.que.push(function() { pbjs.requestBids({ bidsBackHandler: handleBidResponse }); }); }); ``` |\n| **Correct** | ```javascript window.pbjs = pbjs || {}; pbjs.que = pbjs.que || []; // Correct: Making bid requests independent of GPT loading. pbjs.que.push(function() { pbjs.requestBids({ bidsBackHandler: handleBidResponse }); }); window.googletag = window.googletag || {}; googletag.cmd = googletag.cmd || []; googletag.cmd.push(function() { googletag.pubads().disableInitialLoad(); }); ``` |\n\nMore information\n----------------\n\nThe list of supported ad exchanges and supply side platforms this audit\nevaluates can be found in\n[our GitHub repository](https://github.com/googleads/publisher-ads-lighthouse-plugin/blob/HEAD/lighthouse-plugin-publisher-ads/utils/bidder-patterns.js). \n[View audit source](https://github.com/googleads/publisher-ads-lighthouse-plugin/tree/HEAD/lighthouse-plugin-publisher-ads/audits/gpt-bids-parallel.js) [Improve this article](https://github.com/googleads/publisher-ads-lighthouse-plugin/tree/HEAD/docs/audits/gpt-bids-parallel.md) [Report an issue](https://github.com/googleads/publisher-ads-lighthouse-plugin/issues/new?labels=documentation&template=documentation-feedback.md&title=Documentation+feedback%3A+gpt-bids-parallel.md)\n\n\u003cbr /\u003e"]]