To add AdSense to WordPress, put your publisher ID in the plugin settings, then either switch on auto ads or create a manual AdSense unit with its slot ID and give it a placement. That’s the whole setup. The part that decides whether the page stays fast is what happens next: how many units you add, where they sit, and whether the page reserves room for them before they load.
This post walks through both routes with WB Ad Manager, says plainly what the plugin does for page speed and what it leaves to you, and ends with a short check you can run after the first ad goes live.
What “slow” means for an ad page
Readers and search engines notice three different things, and ads can affect each one. Loading speed is how soon the main content appears. Layout shift is how much the page jumps while it loads. Responsiveness is how quickly the page reacts when someone taps or scrolls.
An ad unit touches all three. The script has to be fetched, the unit has to ask for an advertisement, and the advertisement may bring its own images and scripts. None of that is under your control in detail, which is why the choices you do control matter: how many units, where they sit and how much room they get.
It also helps to separate a slow page from a heavy one. A page can load its text quickly and still feel poor because the ad arrives late and shoves the text down. Fixing the first is about weight. Fixing the second is about reserved space, which is covered further down.
Auto ads or manual units: pick one on purpose
AdSense gives you two ways onto a page. Auto ads hand the decision to Google: you load one script and Google’s code picks the spots. Manual units are the opposite. You create each unit in your AdSense account, copy its slot ID, and decide where it goes.
Neither is wrong. Auto ads are quicker to start and harder to control. Manual units take a little more work per unit and give you a page you can predict. If speed and layout matter to you, manual is the safer starting point, because you know exactly how many ads exist and where.
WB Ad Manager supports both, and the AdSense pieces are all in the free plugin. You can also run the two together, but that makes it harder to tell which ads came from where, so try one first.
The setup in order
If you want the short version before the detail, this is the order that works for a first AdSense unit on a site that is not yet showing ads.
- Save your publisher ID in the plugin settings, in the Google AdSense section.
- Decide whether auto ads are on. For a predictable page, leave them off.
- Create the unit in your AdSense account and copy its slot ID.
- Add a new ad in the plugin, choose the Google AdSense type and paste the slot ID.
- Tick one placement, then publish.
- Load a post in a private window and check the unit and the layout.
Then stop. One unit, watched for a few days, tells you more than four units added in one afternoon.
Connect your account in the plugin settings
Open the plugin’s Settings screen and find the Google AdSense section. Paste your publisher ID (it looks like ca-pub- followed by sixteen digits). That one value is the default for every AdSense unit you create later.
For auto ads, tick the auto ads box. The plugin then adds Google’s script to the head of your pages. For manual units, leave it off.
There’s also a consent setting in the same section. When it’s on, the auto ads script waits for your consent plugin to report consent before it loads. It reads the common cookie banners, and a filter lets you wire in a custom one. One honest limit: the code applies that check to the auto ads script. If you run manual units on a site that needs consent first, handle that with your consent tool as well. Don’t assume the toggle covers every unit.
Create a manual unit and give it a placement
Go to the ad editor, add a new ad and choose the Google AdSense type. Enter the slot ID from your AdSense account. Leave the format on auto for a responsive unit, or pick in-article or in-feed if that’s what you created on the AdSense side.
Then choose a placement. The plugin offers a long list of placements: before or after content, after a paragraph you pick, a sidebar widget, header and footer areas and more. Our guide to placing your first ad zones covers each one.
For speed, placement matters more than the setting you’ll be tempted to hunt for. An ad right at the top of the page competes with your headline and hero image for the first thing the visitor sees. A unit after the second or third paragraph, or further down, gives the content a head start. That’s a layout choice, and it costs nothing.
What loads, and when
Here’s what the plugin does with the script, so you can reason about it.
A manual AdSense unit prints the standard ins element with your publisher ID and slot. The AdSense script is added in the footer with the async attribute, and only on a request where an AdSense unit actually rendered. A post with no AdSense unit doesn’t pull the script from Google. If three units share a page, the script is still added once.
Auto ads work differently by design. With auto ads on and a publisher ID saved, the script goes in the head of every page where consent allows it, because Google needs it early to decide what to place.
What the plugin does not do is delay or lazy-load AdSense units. The script loads as described above, and the units appear when Google’s code fills them. If you want deferral beyond that, it’s not something to expect from this plugin, and a performance plugin that claims to delay third-party scripts is a separate decision with its own trade-offs for revenue.
Keep AdSense off pages that do not need it
Not every page earns its ads. A contact page, a login page and a checkout page rarely produce useful ad revenue, and each one that skips the script is a page that loads a little lighter.
The free plugin has a setting called Disable on Post Types, where you choose the post types that should never show ads. It also has a setting that hides ads from logged-in users and a separate one for administrators. Each ad has display rules as well, so you can restrict a unit to chosen pages, categories or tags instead of the whole site.
Because the plugin only loads the AdSense script on a request where an AdSense unit actually rendered, these choices have a direct effect. A page with no AdSense unit does not ask Google for anything.
Cap how many units a page can show
Every unit adds a request, some script work and visual weight. A long post with six units isn’t six times the ad revenue of one with two, but it’s a good deal heavier.
WB Ad Manager has a Max ads per page setting, set to 10 by default. It counts ads of every type that the plugin renders on a page and stops adding more once the cap is hit. Ten is a ceiling, not a target. For most content sites a lower number is kinder to readers. Try 3 or 4 and watch what happens to your revenue and your bounce rate over a couple of weeks.
Auto ads sit outside that count. Google places those, so the cap governs only the ads the plugin renders itself. That’s one more reason to run manual units if you want a hard limit.
A worked example: a long article
This is an illustration, not a measurement. Imagine a 2,000 word guide that currently carries a header banner, a unit after every second paragraph, a sidebar unit and a footer unit. That is seven or more units on one page.
A calmer version might look like this:
- One unit after the third paragraph, with a reserved height.
- One unit in the sidebar widget area.
- The Max ads per page setting lowered from 10 to 3 as a safety net.
- Nothing above the first paragraph.
The page now asks for two units in normal use. The reader reaches the first paragraph before any ad competes with it, and the third slot exists only to stop a later edit from piling on more. Whether revenue rises or falls is something to read from your own AdSense report over a few weeks, not something to assume.
Reserve the space yourself to avoid layout shift
Layout shift is when the text jumps because an ad arrived late and pushed everything down. It’s the speed complaint readers feel most, and it’s measured in Core Web Vitals as Cumulative Layout Shift.
WB Ad Manager doesn’t reserve a fixed height for AdSense units, so this part is yours. The fix is a few lines in your theme’s CSS: give the wrapper of each AdSense unit a minimum height that matches the unit you created. The plugin gives AdSense wrappers a wbam-ad-adsense class you can target.
.wbam-ad-adsense {
min-height: 280px;
}
Use the real height of your unit, and a media query if the mobile unit is shorter. A reserved box that’s slightly too tall costs you a little white space. A box that’s too short brings the shift back.
Mistakes that cost speed or trust
Most slow AdSense pages share a few habits.
- Auto ads and manual units at the same time. Google places its own units on top of the ones you chose, and the plugin’s cap does not count them.
- A unit above the headline. It delays the content the reader came for and pushes the first screen down.
- No reserved space. The unit loads late and the text jumps.
- A consent banner that is not wired to the units. The plugin’s consent setting covers the auto ads script, so manual units on a site that needs prior consent also need your consent tool.
- Adding units without checking. Each one should earn its place in your report.
None of these needs a new plugin. They need a decision, then a re-check.
When a speed plugin is the wrong fix
It is tempting to reach for a plugin that delays all third-party scripts. For AdSense that has a price: a delayed script means a delayed ad, and an ad that appears late may never be seen if the reader has already scrolled on.
WB Ad Manager does not delay or lazy-load AdSense units, as described above. If you add a delay tool, test it on a copy of the site first and compare your AdSense numbers before and after. A page that scores better but earns less is not an improvement.
The same goes for caching. Page caching is good for speed, but the plugin counts an impression when the server builds the page, so a fully cached page can under-count impressions. The AdSense report is the source of truth for AdSense, and the plugin’s counts are a useful second view, not a replacement.
Watching the result over time
Speed is not something you fix once. Ad partners change their scripts, your theme changes and your content grows. Pick one page template that matters, note how it loads today, and look again after any change to ads, theme or caching.
What to check after the first ad goes live
Load a post in a private window and watch it load. Does the text jump when the ad arrives? Did the ad push your first screen down? Then open a page that has no AdSense unit and confirm it isn’t asking Google for anything.
Run the same page through PageSpeed Insights before and after, but treat the numbers as a trend, not a verdict. Ads come from a third party, results vary run to run, and nobody can promise a score. If the page is noticeably heavier, remove a unit before you reach for another plugin.
Finally, look at the cap, the placements and your consent setup once more with the features overview open, and decide what the site really needs. If you also sell direct sponsorships next to AdSense, the AdSense and direct mix use case shows how the two share a slot. The full plugin details are on the WB Ad Manager page, and the pricing page shows what Pro adds for selling ad space.