Skip to content

Tolling files

PDFs, datasets and downloads are free until you pick them, and what tolling a paper costs you in Google Scholar.

On this page

A whole-site toll covers your pages and most of your files. It keeps a fixed list of extensions free so pages still render for human readers: stylesheets, scripts, images, fonts, media, and .pdf, .txt, .xml, .json.

Anything outside that list (.csv, .zip, .xlsx, .epub, .docx) is already tolled on a whole-site toll.

The last four on the free list often hold your content: a whitepaper is a PDF. You can toll them under Sites → Manage → Which pages → More options → File types AI agents pay for:

pdf · json · txt · xml

Tick a type and it starts tolling. Leave it and it stays free.

Stylesheets, scripts, images and fonts cannot be tolled. A human reader must never hit a payment wall because a font returned 402.

What stays free no matter what you pick

  • robots.txt, llms.txt, ads.txt, app-ads.txt, security.txt and favicon.ico.
  • Your sitemaps and feeds, wherever they live and whatever they are called: /sitemap.xml, WordPress's /wp-sitemap.xml and its numbered sub-sitemaps, Yoast's /post-sitemap.xml, Hugo's /index.xml, /blog/feed.xml, /feed/.
  • Anything under a section you listed as free.
  • Every request from a human.

The first two groups are how an AI agent discovers what you sell, so the toll exempts them before it reads your picks. If you tick xml, your sitemap is still free.

Whether the file can be priced depends on where your catalogue comes from

An agent can only pay for a file the toll can price, which depends on your content source:

  • One payout wallet for the whole site. The file tolls the moment you save. There is no catalogue step.
  • Your own credits API. Add the file to it, keyed by its full path with the extension, as in /papers/2026/quantum-bounds.pdf. A 404 still means free, so until your endpoint answers for that path the file keeps serving free.
  • A crawled catalogue. The file has to be discovered and confirmed before it can be charged for. Only sitemap discovery lists files; an RSS feed lists posts, so a catalogue built from a feed never picks the file up. Check the site's catalogue page for a row keyed by the file's full path, extension included.

On WordPress with the naulon plugin

Most WordPress servers hand a file straight from the uploads folder without starting WordPress, so the plugin cannot see the request on its own. When you tick a type, the plugin adds a short rule to your .htaccess that sends those uploads through WordPress first. People still get the file free, and agents get a 402.

The rule only takes effect while the plugin's own files exist, so deleting the plugin by hand never breaks your uploads: the server goes back to serving files directly. Deactivating the plugin removes the rule.

The plugin checks this works before your dashboard offers it. It asks your own site for a small test file and reports "working" only when WordPress itself answered. Under Toll scope, each result reads:

  • Files are tolled. Tick any type.

  • Your server ignores .htaccess. Usually nginx. Open the plugin's Diagnostics screen in wp-admin and add the rule it shows to your server block, then choose Check again. The rule looks like this, with your paths:

    location ~* ^/wp-content/uploads/(naulon-probe/.+|.+\.(pdf))$ {
        try_files /nonexistent /index.php?naulon_file=$1&$args;
    }

    Remove it if you ever remove the plugin, or those files stop loading.

  • WordPress could not write .htaccess. Diagnostics shows the lines to add by hand.

  • A cache serves files on its own. A CDN rule such as Cloudflare's "Cache Everything" answers before WordPress does. Add a bypass for these types under your uploads folder.

  • Your files are served by your media host. A media-offload plugin serves uploads from another domain. Route the site through naulon to toll them.

A ticked type reaches your site within the hour. Check again in Diagnostics does it straight away.

A file is credited to the post it is attached to, with that post's authors and price, and a file attached to a free post stays free. A file attached to no post is credited to whoever uploaded it. Tolled files are marked private, no-store, so no CDN keeps a copy to hand to the next agent free.

If you publish research, read this part

Google Scholar will not index a paper unless the full text or a complete author-written abstract is freely readable. It has no paywall exemption and no crawler-only exception: its robot must read the abstract exactly as a person does. So lay your site out like this:

  • Put the abstract on its own page and add that section to your free list.
  • Put the paper behind the toll as a PDF.

A worked example

Say your site is example.org and you publish at /papers/.

  1. Set the toll scope to the entire site.
  2. Under Which pages, add abstracts to the free sections.
  3. Tick pdf.
  4. Re-crawl.

example.org/abstracts/quantum-bounds is now free, so Scholar can index it. example.org/papers/quantum-bounds.pdf tolls, and an agent that reads it pays the authors directly.

Rates and prices live on the pricing page.