Should I publish an empty ads.txt file for a site that does not run any ads?

Ads.txt has zero to do with SEO or even UX. It is specific to programmatic advertising. It might be of interest if your websites display ads that are purchased on real time bidding (RTB) exchanges. Otherwise, you don't need this file.

Ads.txt also doesn't share anything in common with robots.txt, other than also being a plain text file, and generally getting placed at root level of the website.

I have never had to generate this file myself yet, since I work on the advertiser side these days, but as ads.txt has experienced wide adoption, I can share a little background. Essentially, when advertisers run ads on websites, they want to ensure that the website is what it claims to be. Bad actors have learned to spoof real, reputable websites on the exchanges and steal ad impressions, thus wasting advertiser dollars on impressions appearing on crappy websites or ones that humans may never even see.

The ads.txt initiative was a move to correct this. An ads.txt file will list all the exchanges that the publisher has a relationship with. Advertisers looking to buy an ad impression can crawl this file programmatically and check for the exchange to see if the site is legitimately a part of this exchange. Of course, bad actors have already found ways to sometimes get around this, in certain cases, but generally, these files make fraud more difficult.

Here's a pretty good guide, containing a link to Business Insider's file:

https://www.monetizemore.com/blog/ads-txt-publisher-implementation-guide/

An empty ads.txt file will thus not benefit you, and not having one won't harm you, unless your websites sell ad impressions, in which case you might want to look into this. If you don't implement this file, you will still be able to sell ad impressions, since many advertisers buy through exchanges and networks that aren't thorough or strict. But if you're competing for top quality ads (and their ad dollars), check out the link above for implementation specifics.


Yes.

According to version 1.0.2 of the ads.txt specification:

3.2.1 FILES WITHOUT AUTHORIZED ADVERTISING SYSTEM RECORDS

Some publishers may choose to not authorize any advertising system by publishing an empty ads.txt file, indicating that no advertising system is authorized to buy and sell ads on the website. So that consuming systems properly read and interpret the empty file (differentiating between web servers returning error pages for the /ads.txt URL), at least one properly formatted line must be included which adheres to the format specification described above. For files that do not otherwise contain authorized advertising system records, use the following "placeholder" record to indicate that the file adheres to the ads.txt specification:

placeholder.example.com, placeholder, DIRECT, placeholder

Update October 2020:

Prior versions of the ads.txt specification indicated that publishers may simply use an empty ads.txt file to indicate that no advertising system is authorized to buy or sell ads on the website. That method is now deprecated because of ambiguities it creates and should be ignored by consuming systems after March 1, 2020.