Adstxt Manager Plugin

Price: FREE
Sold By:

Contributors: 10up, helen, adamsilverstein, jakemgold
Author URI:
Plugin URI:
Tags: ads.txt, ads, ad manager, advertising, publishing, publishers
Requires at least: 4.9
Tested up to: 5.3
Requires PHP: 5.3
Stable tag: 1.2.0
License: GPLv2 or later
License URI:
Text Domain: ads-txt

Create, manage, and validate your ads.txt from within WordPress, just like any other content asset. Requires PHP 5.3+ and WordPress 4.9+.

== Description ==

Create, manage, and validate your ads.txt from within WordPress, just like any other content asset. Requires PHP 5.3+ and WordPress 4.9+.

=== What is ads.txt? ===

Ads.txt is an initiative by the Interactive Advertising Bureau to enable publishers to take control over who can sell their ad inventory. Through our work at 10up with various publishers, we've created a way to manage and validate your ads.txt file from within WordPress, eliminating the need to upload a file. The validation baked into the plugin helps avoid malformed records, which can cause issues that end up cached for up to 24 hours and can lead to a drop in ad revenue.

=== Technical Notes ===

* Requires PHP 5.3+.
* Requires WordPress 4.9+. Older versions of WordPress will not display any syntax highlighting and may break JavaScript and/or be unable to localize the plugin.
* Ad blockers may break syntax highlighting and pre-save error checking on the edit screen.
* Rewrites need to be enabled. Without rewrites, WordPress cannot know to supply `/ads.txt` when requested.
* Your site URL must not contain a path (e.g. `` or path-based multisite installs). While the plugin will appear to function in the admin, it will not display the contents at ``. This is because the plugin follows the IAB spec, which requires that the ads.txt file be located at the root of a domain or subdomain.

=== What about ads.cert? ===

We're closely monitoring continued developments in the ad fraud space, and see this plugin as not only a way to create and manage your ads.txt file but also be prepared for future changes and upgrades to specifications. Ads.cert is still in the extremely early stages so we don't see any immediate concerns with implementing ads.txt.

=== What about app-ads.txt? ===

We plan on adding support for this file in the future! If you'd like to follow along with development or even help us get it done, please see [this GitHub issue](

== Screenshots ==

1. Example of editing an ads.txt file with errors

== Installation ==
1. Install the plugin via the plugin installer, either by searching for it or uploading a .zip file.
2. Activate the plugin.
3. Head to Settings → Ads.txt and add the records you need.
4. Check it out at!

Note: If you already have an existing ads.txt file in the web root, the plugin will not read in the contents of that file, and changes you make in WordPress admin will not overwrite contents of the physical file.

You will need to rename or remove the existing ads.txt file (keeping a copy of the records it contains to put into the new settings screen) before you will be able to see any changes you make to ads.txt inside the WordPress admin.

== Changelog ==

= 1.2.0 =
* **Added:** Make revisions accessible in the admin - now you can restore older versions of your ads.txt or view how it's changed over time (props [@adamsilverstein](, [@helen](
* **Added:** Show a notice on the edit screen if an ads.txt file exists on the server (props [@kkoppenhaver](, [@helen](, [@tomjn](, [@adamsilverstein](
* **Added:** Add a custom `edit_ads_txt` capability for granular assignment, which is assigned to administrators by default (props [@ethanclevenger91](, [@adamsilverstein](
* **Added:** Enable filtering of the output using `ads_txt_content` (props [@ethanclevenger91](
* **Changed:** Updated documentation, automation, and coding standards (props [@jeffpaul](, [@adamsilverstein](, [@helen](, [@mmcachran](
* **Fixed:** Early escaping (props [@tomjn](
* **Fixed:** PHPCS issues and added PHPCS scanning (props [@adamsilverstein](

= 1.1 =
* Better error message formatting (wraps values in `` tags for better readability)
* VIP-approved escaping

= 1.0 =
* Initial plugin release