WordPress.org

Ready to get started?Download WordPress

Plugin Directory

!This plugin hasn't been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.

Ad Injection

Injects any adverts (e.g. AdSense) into the WordPress posts or widget area. Restrict who sees ads by post length/age/referrer or IP. Cache compatible.

Ad Injection from reviewmylife injects any kind of advert or other content (e.g. Google AdSense, Amazon Associates, ClickBank, TradeDoubler, etc) into the existing content of your WordPress posts and pages. You can control the number of adverts based on the post length, and it can restrict who sees adverts by post age, visitor referrer and IP address. Adverts can be configured in the post (random, top, and bottom positions) or in any widget/sidebar area. There's support for A:B split testing / ad rotation. And the dynamic restrictions (by IP and referrer) work with WP Super Cache, W3 Total Cache and WP Cache.

New Features 1.2.x.x

  • Set the position of the top and bottom advert by paragraph or character.
  • Position the random ads to start or stop in the middle of the post.
  • Stop the random ads 2/3 of the way down a post, or at a paragraph/character position from the beginning/end of the post.
  • New options to exlude ads from blockquote and pre sections. And custom ad exlude tags.
  • Fade unused Home/Archive options instead of making them dissapear.
  • Add page age settings to status.
  • Improve debug messages.

New Features 1.1.x.x

  • Template ads - you can now include ads anywhere in your theme template with some simple tags. You can load the top/random/bottom/footer ads, or you can load an ad from a text file on disk. Template ads inherit the same dynamic and global restrictions as for ads configured via the UI.
  • First ad can now be started at or after a paragraph or character position.
  • Override ad positions on individual posts using <!--topad--> <!--randomad--> <!--bottomad-->
  • Separate old post restriction for widget ads in case you want a different rule for the widget ads.

New Features 0.9.7.x

  • Archive and home page ads now fully supported with the same controls as ads for single posts/pages.
  • Category, tag and author restrictions for top, random and bottom ads.
  • Footer ads.
  • Restrict ads by page/post id

New Features 0.9.6.x

  • Ad rotation / A:B split testing support for random, top, bottom and widget/sidebar adverts.
  • Alternate content which can be defined for users who are dynamically blocked (by IP or referrer) from seeing adverts.
  • Choose which paragraph to start the random ads via the UI.
  • Dynamic features will work with W3 Total Cache and WP Cache as well as the previously suppoted WP Super Cache.
  • Widgets can be conditionally included on pages by category, tag, and author.

Automatic advert injection

The ads can be injected into existing posts without requiring any modification of the post. The injection can be done randomly between paragraphs, and there is an option to always inject the first advert at a specified paragraph (e.g. the first or second). Randomly positioning the adverts helps to reduce 'ad blindness'. Additional adverts can be defined for the top and bottom of the content, or the footer of the page. Widget adverts can be defined as well.

Widget support

Widgets can be added to your sidebars, or other widget areas on any pages. The same ad display restrictions that you setup for your other ads will also apply to the widgets.

Ad rotation / split testing

You can define multiple adverts for the same ad space which are rotated according to the ratios you define. Works with random, top, bottom and sidget/sidebar ads.

Ad quantity by post length

The number of adverts can be set based on the length of the post. It is a good idea for longer posts to have more adverts than shorter posts for example. Adverts can also be turned off for very short posts.

Search engines only mode (restrict by referrer)

You can specify that ads should only be shown to search engine visitors, or to visitors from defined referring websites - e.g. Facebook, Wikipedia, Twitter, etc. This will give your regular visitors (who are unlikely to click your ads) a better experience of your site. You can define which search engines or referring sites see your adverts. A visitor who enters the site by one of these referrers will see ads for the next hour.

Block by referrer

Block ads to people coming from certain referring URLs. e.g. you may wish to treat people who arrive at your site after searching for your name as direct visitors and disable the ads for them.

Ads on old posts only

Adverts can be restricted to posts that are more than a defined numbers of days old. This prevents your regular visitors from having to see your ads.

Category, tag, author, post ID, and post type filters

You can configure the adverts to only appear on specific categories, tags, authors, post IDs, or post types (or exclude them using these conditions).

Template ads

Ads can be included anywhere in your theme template with some simple tags. You can load the top/random/bottom/footer ads, or you can load an ad from a text file on disk. Template ads inherit the same dynamic and global restrictions as for ads configured via the UI.

Block ads from IP addresses

IP addresses of people who shouldn't see your ads can be defined. These could be the IP addresses of your friends, family, or even yourself.

Override ad positioning on individual posts

If you need to override the top, random, or bottom ad positions on a specific post you can use these in-content tags to manually set the ad positions: <!--topad--> <!--randomad--> <!--bottomad--> <!--adstart--> <!--adend--> <!--noads-->

You can manually exclude ads from specific sections of the post using the <!--adinj_exclude_start--><!--adinj_exclude_end--> tags.

Exclude ads from block tags

Ads can be excluded from <blockquote></blockquote> and <pre></pre> tags.

Alternate content

This is content that is displayed when ads are blocked for the user. You could use this alternate content to show other content, some kind of layout filler, or even a different type of ad. I've added support for rotation of alternate content as well.

Not tied to any ad provider

The advert code can be copied and pasted directly from your ad provider (Google AdSense, adBrite, ClickBank, etc) which will help you to comply with any terms of service (TOS) that state their ad code may not be modified.

Inject anything!

Although this plugin is usually used for injecting adverts it can in fact be used to inject anything. Here are some alternative uses for Ad Injection:

  • Inject an email opt-in form at the bottom of each post.
  • Insert a common header or footer block (e.g. copyright, disclaimers, website information).
  • Add tracking scripts (e.g. Google Analytics) into your site.
  • Use it to rotate random images or photos in your pages.
  • Put some time limited temporary content at the top or bottom of each post (e.g. sales offer, or web site announcement).
  • Inserting social networking buttons (e.g. Facebook, Twitter, Google +1) at the top or bottom of your posts.

Flexible ad alignment

Easy positioning options are provided for left, right, center, float left, and float right (or a random variant of these). Extra spacing can be set above and below the ad using the CSS margin and padding boxes. Or if that isn't flexible enough, you can write your own positioning code using HTML and CSS. And you can select which paragraph random ads should start from.

Works with WP Super Cache, W3 Total Cache and WP Cache

The dynamic features that require code to be executed for each page view (i.e. ad rotation, search engine visitors only, and ad blocking based on IP address) work with WP Super Cache, W3 Total Cache and WP Cache.

This plugin will automatically use the dynamic mfunc tag to ensure that the dynamic ad features still work when caching is on.

If you use WP Super Cache in mod_rewrite mode displaying the adverts (even with the dynamic restrictions) whilst caching requires no MySQL database access. For W3 Total Cache and WP Cache Ad Injection will not require any extra MySQL database access for cached pages other than what these plugin already use.

Inject PHP and JavaScript

As the plugin will inject whatever content you like into the page you can write your own ad rotation or a/b split testing code for the ads you inject. PHP code can be automatically executed, even when using WP Super Cache.

Hide UI panels that you don't need

If there are any panels on the admin screen that you don't need, you can click on the show/hide button to hide them until you need them.

For more information visit reviewmylife.

Actively being developed

As of 2011 this plugin is being actively developed and maintained. New features are planned for later on in 2011. If you have ideas for new features do let me know - I can't promise to do them any time soon - but if they are good and practical I can add them to my list.

Requires: 2.8.6 or higher
Compatible up to: 3.4.2
Last Updated: 2012-8-11
Downloads: 268,989

Ratings

4 stars
4.4 out of 5 stars

Support

0 of 2 support threads in the last two months have been resolved.

Got something to say? Need help?

Compatibility

+
=
Not enough data

0 people say it works.
0 people say it's broken.

100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,2,2 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
100,1,1 100,1,1 100,1,1 100,1,1 100,2,2 100,1,1 100,2,2 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
100,1,1 100,1,1 100,2,2 100,1,1 100,1,1 100,1,1 100,1,1 100,2,2 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
100,1,1 100,1,1 100,1,1 100,1,1
100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,2,2 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,4,4 100,2,2
100,1,1 100,1,1 100,2,2
100,1,1 100,1,1 100,1,1 100,2,2 75,4,3 100,2,2
100,1,1 100,1,1 100,2,2 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
100,2,2 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
100,1,1 67,3,2 100,2,2 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
100,2,2 100,9,9 100,3,3 100,1,1 100,2,2 100,3,3 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,2,2 100,2,2 100,1,1 100,3,3 50,4,2 50,2,1 100,1,1
100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,2,2 75,4,3 100,1,1
78,9,7 100,2,2 100,1,1 100,2,2 100,1,1 100,3,3 100,1,1
100,3,3 100,1,1 100,4,4 100,1,1
100,1,1 100,4,4
100,4,4 100,4,4
100,6,6
100,7,7
100,8,8
100,3,3
50,2,1
100,1,1 0,1,0
0,1,0
0,1,0
67,3,2
100,1,1
100,1,1
100,2,2