Our crawler checks your site for the badge when you claim it (homepage or site-wide footer, both count), then rechecks every week. Take the badge down and the dofollow link pauses until it is back. No tiers, no payments, no tricks. The badge is the whole deal.

Marked on IndieAscent badge, standard dark Marked on IndieAscent badge, standard light Marked on IndieAscent badge, compact dark Marked on IndieAscent badge, compact light

Four badges, two sizes in light and dark. When your listing is live you get an embed snippet with your own listing URL in it, and you pick the one that suits your site. Put it in your footer or on your homepage; both count. Which badge you choose makes no difference to verification: our crawler looks for the link, not the picture.

The badge shows as a blank box on my site

That is almost always a Content Security Policy. If your site sends one, it lists which domains images may load from, and ours is not on your list yet, so the browser blocks it and leaves an empty space. Nothing is wrong with your badge code.

The fix is to add our domain to the img-src part of your policy:

Content-Security-Policy: img-src 'self' https://indieascent.com;

Keep whatever is already in your img-src and add ours to the end. If your policy is set in a meta tag, a framework config, or your host's dashboard rather than a header, the same domain goes in the same place.

Not sure where yours lives? Paste this to your AI assistant:

My site sends a Content Security Policy and it is blocking an external
image, so the image renders as a blank box. Find where the policy is
set in this codebase, then add https://indieascent.com to the img-src
directive without removing anything already there. Show me the change.

If you do not send a Content Security Policy at all, this is not your problem: check the image URL loads on its own, and that an ad blocker or privacy extension is not hiding it.

The badge comes with a listing, and both are free.

Start a log