Skip to content

Global settings

Open Watermark → Settings. These options apply across all watermark templates. Per-template options live inside each watermark builder.

All values are stored in the WordPress options key ultimate_watermark_options (SettingsPage.php:192). The keys below are the literal option keys — useful for programmatic config.

General tab

Backups & originals

FieldKeyDefaultWhat it does
Enable backup functionalitybackup_image0 (form default)When on, the original file is copied to uploads/ulwm-backup/YYYY/MM/ before the watermark is burned in.
Backup strategybackup_strategyfull_sizefull_size keeps the original full-resolution; alternatives keep less.
Backup qualitybackup_quality90JPEG quality used when re-saving the backup (only for downscaled strategies).

When backups are on, the Bulk → Remove watermark action restores from this folder.

⚠️ Disable backups only if you have your own off-site backup pipeline. Without backups, you can't restore an image after watermarking.

Where backups live on disk

wp-content/uploads/ulwm-backup/2026/05/your-image.jpg

(BackupManager.php:62–68,80–84,114–119).

A backup is created once per upload — the first time the image is processed. Subsequent watermark passes don't overwrite the backup.

Right-click & drag protection

FieldKeyDefaultWhat it does
Disable right click on imagesdisable_rightclick0Adds a contextmenu listener that suppresses the menu over <img> elements.
Prevent drag and dropdisable_drag_drop0Suppresses dragstart on images so visitors can't drag-save.
Enable protection for logged-in usersenable_protection_logged_in0When off, logged-in users can right-click and drag normally. When on, even logged-in users get the protection.

These run via frontend.js (frontend.js:34–41) — they don't stop a determined user (DevTools shows the original image URL), but they deter casual screenshot-and-save behaviour.

Note: Some Pro marketing material mentions "hotlink protection." The current code defaults disable_right_click and hotlink_protection to false in OTF settings (FrontendWatermarkManager.php:168–190); a server-side hotlink layer isn't shipped. If you need real hotlink protection, use .htaccess rules or Cloudflare Hotlink Protection.

Pro: Display tab (per-watermark)

PROOn-the-fly display, per template

Pro adds a Display tab inside the watermark builder. Toggle on-the-fly rendering, decide whether to apply to post-content images, thumbnails, WooCommerce galleries, and which roles bypass the watermark.

Unlock OTF →

Display tab fields (ProAdminManager.php:1495–1577):

FieldKeyDefaultWhat it does
Display on frontendotf_display_enabled0Master toggle for OTF for this watermark.
Apply to contentotf_apply_to_content1Watermark images inside the_content (post bodies).
Apply to thumbnailsotf_apply_to_thumbnails1Watermark featured images / archive thumbnails.
Apply to WooCommerceotf_apply_to_woocommerce0Watermark product galleries (requires WooCommerce).
Bypass rolesotf_bypass_roles['administrator']Multiselect: roles that see the unwatermarked image.
Cache enabledotf_cache_enabled1Cache the rendered watermarked image for fast subsequent loads.

See Performance & caching for cache mechanics.

Pro: Advanced settings tab

The Advanced (Pro) tab in Settings currently houses the WooCommerce integration UI (ProAdminManager.php:1471–1489). Configure:

  • WooCommerce-aware automatic watermarking on product image upload.
  • WooCommerce gallery handling.
  • Bulk batch settings (chunk size, throttle).

Activator defaults

When you first activate the plugin, several keys are seeded in Activator.php:67–78 with sensible defaults (e.g. enable_watermarking = on). The Settings UI's General tab shows a subset of those keys — the ones above. The seeded keys remain in the database for backward compatibility with older builds.

Plugin-wide hooks

Two filters let you mutate the entire settings config:

HookWhat it does
ultimate_watermark_settings_configModify the field config rendered on the Settings page.
ultimate_watermark_settings_tabsAdd a new tab to the Settings page.
php
add_filter( 'ultimate_watermark_settings_config', function ( $config ) {
    $config['general']['my_extra_field'] = [
        'label'   => 'My extra field',
        'type'    => 'checkbox',
        'default' => '0',
    ];
    return $config;
} );

See Hooks & filters for more.

Privacy / usage tracking

There is no usage tracking or telemetry in the free plugin beyond standard browser visits to your site.

Pro contacts the license server (https://store.mantrabrain.com/edd-sl-api/?) for license activation and update checks — see Installation §2. Nothing else leaves your server.

Where to go next