100,000+
July 14, 2025
December 18, 2017
Create, manage, and validate your ads.txt and app-ads.txt from within WordPress, like any other content asset. Requires PHP 7.4+.
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.
/ads.txt
when requested.https://example.com/site/
or path-based multisite installs). While the plugin will appear to function in the admin, it will not display the contents at https://example.com/site/ads.txt
. 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.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.
Yes! However, if you are using a subfolder installation it will only work for the main site. This is because you can only have one ads.txt for a given domain or subdomain per the ads.txt spec. Our recommendation is to only activate Ads.txt Manager per-site.
Note: If you already have an existing ads.txt or app-ads.txt file in the web root, the plugin will not read in the contents of the respective files, and changes you make in WordPress admin will not overwrite contents of the physical files.
You will need to rename or remove the existing (app-)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 (app-)ads.txt inside the WordPress admin.
No FAQ provided.
dirname( __FILE__ )
calls with __DIR__
magic constant (props @Soean, @peterwilsoncc via #187).echo
statement (props @Soean, @dkotter via #186).clean_orphaned_posts
function (props @dilipbheda, @dkotter via #192).serialize-javascript
from 6.0.0 to 6.0.2 and mocha
from 10.2.0 to 11.1.0 (props @dependabot, @faisal-alvi via #185).braces
from 3.0.2 to 3.0.3 (props @dependabot, @iamdharmesh via #168).semver
from 7.3.5 to 7.5.3 (props @dependabot, @peterwilsoncc via #147).ads.txt
file exists check from the backend (props @sksaju, @peterwilsoncc, @mmcachran, @dinhtungdu, @helen, @jeffpaul via #131).(app-)ads.txt
posts not referenced in the option (props @sksaju, @peterwilsoncc via #138).simple-git
from 3.15.0 to 3.16.0 (props @dependabot, @peterwilsoncc via #128).http-cache-semantics
from 4.1.0 to 4.1.1 (props @dependabot, @peterwilsoncc via #130).Active
to Stable
(props @jeffpaul, @peterwilsoncc via #123).ads.txt
files for crawlers using a cache busting query string (props @peterwilsoncc, @cadic via #118).INVENTORYPARTNERDOMAIN
variable (props @dkotter, @faisal-alvi)ads.txt
file due to too many false positives. We will bring this back later in a better way.Further changelog entries can be found in the CHANGELOG.md file.