Pro Feature

Theft Protection for WordPress Galleries

Protect WordPress galleries with watermarks, passwords, age gates, and right-click blocking to deter casual image theft.

Watermark

Add your logo on top of your images to make them harder to steal.

Password Protection

Add a password to gallery blocks and send it to your clients.

This gallery is password protected. To view it please enter "demo" password below:

Age Gate Protection

Protect visitors from viewing adult content.

How the four protection layers stack

The Protection panel sits in the Gallery block sidebar and holds four switches, all off until you turn one on. Watermarks serve stamped copies in place of the originals. Password Protection replaces the items with a password form. Age Gate Protection asks for a birthday first, and Right Click Protection blocks the context menu and image dragging, both in the grid and inside the open lightbox.

WordPress has a page password of its own, and it locks the whole page. These switches are narrower. A locked gallery can sit above a public contact form, next to text search engines still read, which is what makes client delivery workable on an ordinary portfolio site. The three galleries above are the same block with one switch changed.

Switches, defaults and file formats

Watermarking is the one layer with a settings page of its own, the Watermarks tab. The rest live in the block.

  • Add Watermarks to Photos is off by default. Turn it on and the grid image, its srcset, the lightbox image and the URL click-action link all point at the watermarked copy.
  • The watermark file can be a PNG with transparency, a JPEG, a GIF or a WebP, dropped into one of nine positions, Bottom Right by default. Size runs 1 to 100 percent of the image width and starts at 30, opacity at 50.
  • Copies live under wp-content/uploads/visual-portfolio-pro/watermarks/ with hashed file names, one per registered image size. Originals are untouched, and deleting an image from the Media Library deletes its copies.
  • JPEG, PNG, GIF and WebP get stamped. SVG, AVIF and BMP are skipped and the original is served instead. Generation needs the GD and Fileinfo PHP extensions.
  • A correct password sets a cookie for that one gallery, good for 30 days. A wrong one answers with “The password is incorrect.”
  • Age Gate Limit defaults to 18 and accepts 1 to 100. A passing birthday sets one 30 day cookie, shared by every age-gated gallery on the site, so a visitor confirms once.
  • The panel does not appear for the Social content source, and social feed images cannot be watermarked.

Setting up all four in three steps

  1. Open Visual Portfolio → Settings → Watermarks, upload the logo, pick a position and set Size and Opacity. Press Bulk Generate Watermarks and leave the tab open until the counter reports every image done.
  2. Select the Gallery block on your page, open Protection in the sidebar and switch on Add Watermarks to Photos. Right Click Protection is one more switch in the same panel and needs nothing set up first.
  3. For private work, turn on Password Protection and fill the Password field, or turn on Age Gate Protection and set Age Gate Limit. Rewrite the form description while you are there, since visitors read it instead of your photos.

Every layer here is Pro

Tiles, Masonry, Grid, Justified and Carousel layouts, the lightbox, the category filter and pagination all ship in the free plugin on WordPress.org. The Protection panel does not. Pro contains the free plugin rather than extending it, so there is no add-on to buy. The free and Pro comparison has it line by line, and pricing lists the tiers.

  • Watermark generation in Settings and the per-block Add Watermarks to Photos switch need a license.
  • So do Password Protection, Age Gate Protection and Right Click Protection.
  • Proofing galleries are Pro too, created with the watermark switch already on.
  • The gallery underneath is free, including its layout, skin, lightbox, filter and pagination.

Yes. A password and an age gate on the same block are answered in one form. Crawlers are the exception. A user agent containing bot, crawl, slurp or spider skips the age gate, so the page stays indexable. The password still stops it. The Protection panel documentation lists what each switch changes.

Why did the gate not appear when I tested it?

The editor preview never shows the form. On the live page your own cookie lasts 30 days, and the age gate cookie covers every gallery on the site, so a second visit looks broken when it is working. Test in a private window, and check that the Password field is actually filled. The troubleshooting page for a missing gate runs the same checks.

How much theft does this actually stop?

Less than people hope. Right-click blocking kills the context menu, image dragging and the Alt, Shift and Cmd click download shortcuts. Screenshots, developer tools and a pasted image URL walk straight past it, which the panel itself admits. Watermarks are the layer that survives all of that, and the right-click demo says the same.