Someone on your team uploads IMG_4892.jpg. It is 4,032 pixels wide, it weighs 5 MB, and it has no alt text. They were not being careless. They were writing a blog post and the uploader accepted the file, so as far as they knew, they were done.
Six months later that image is one of eight hundred like it, and cleaning it up means a bulk rename that breaks links, an alt text audit nobody has time for, and a conversation about standards that should have happened at the point of upload.
Gatewell has one job: nothing gets through the uploader until it meets your standards.
Every other image plugin works one of two ways. Either it fixes the file after it is already saved (renamers, alt text auditors, SEO reports, bulk optimizers), or it fixes the file silently in the background, so the person who uploaded it never learns anything and does the same thing again tomorrow. Both approaches accept the bad upload first and deal with it later.
Gatewell stops the file at the door and asks the person who is standing right there.
Gatewell replaces the WordPress media modal with a guided modal. When someone opens it — the Media Library “Add New” button, “Add Media” in the classic editor, “Set featured image” in either editor, or “Media Library” on a block placeholder — they get this instead:
IMG_4892 will not pass.Select multiple files and they go through a queue, one at a time, each with its own filename and alt text. There is no “apply to all” shortcut, because that is how you get eight hundred images described as “product photo”.
Overriding a core WordPress screen is a big thing to do to someone’s site, so there is always a way out.
Every Gatewell modal has a “Use WordPress Uploader” button. One click drops the user into the stock WordPress media uploader for that upload, with no restrictions applied. Nothing is trapped, nothing is unrecoverable, and no one is ever stuck.
Site owners who want the gate to be absolute can hide that button in Settings. It is visible by default. Deactivating the plugin restores the stock uploader everywhere, immediately.
gatewell-originals/ folder that the plugin protects with a .htaccess deny rule and an index.php stub so the originals are not part of the media library and are not reachable from the web.Agencies and marketing teams where more than one person uploads images and not everyone has read the style guide. If you are the only author on your site, you probably do not need a gate. If you have six contributors and a client who notices, you do.
There is no API key, no account, no per-image cost and no usage quota. Cropping, compression, format conversion, HEIC decoding and SVG sanitization all happen in PHP on your own hosting. Your images never leave your server. See the External Services section below.
A separate paid build exists. It adds things that depend on outside services or heavy client libraries: AI-generated alt text, cloud archiving of originals, previews for PDF, audio and video files, agency white-labelling, and a few additional rule types.
None of that code is in this plugin. It is not disabled, gated or locked behind a license check. It is physically removed at build time and is not in this ZIP. Everything described above this paragraph works with no paid version and no license key.
This plugin does not connect to any external service.
All image processing happens on your own server using PHP’s GD and ImageMagick extensions. Cropping, compression, resizing, format conversion, HEIC decoding and SVG sanitization are local operations. Every AJAX request the plugin makes goes to your own site’s wp-admin/admin-ajax.php. No file, filename, alt text, URL, site address, user information or usage statistic is transmitted anywhere.
There is no API key to enter, no account to create, no cloud conversion fee, no per-image credit, no monthly quota and no third-party watermark. The plugin works identically with the server offline from the public internet.
Cropper.js and Chart.js are bundled with the plugin and loaded from your own server. They are not fetched from a CDN.