Custom Upload Dir
by ulfben · Media
Also makes 9 other plugins · 7.3K+ installs across the portfolio →
Choose your own upload folders using post titles, categories, dates and more. Keep files easy to find when browsing your server.
Try it live opens a temporary test site in your browser, which can take about 20 seconds to load. Plugins that rely on outside services or a full server may not work completely there.
Health
A 86/100
no flags
Active installs
5K+
≈5.5K estimated
Momentum
+40%
downloads vs prior 30d
Biggest opportunity: Add “upload folders”, “uploads” and “browsing” to your wp.org tags. You rank #4, #18 and #19 for them without listing them, close enough for a declared tag to move you up. WordPress.org counts only your first five tags, so with 4 listed these are the slots worth spending.
86 health vs 62 average across 3,279 Media plugins
Install conversion
How it's measured →4.4%
of downloads still active
At least 5K of 114.6K lifetime downloads are still running, above its category: the median Media plugin keeps 0.8%, across 2,318 plugins.
Downloads count every update, not just first installs, so older and more frequently released plugins read lower. Compare against other Media plugins, not across the directory. wp.org reports active installs as the bottom of a band, so the real rate is this or higher.
This plugin shipped 2 releases in the last 12 months, and every existing install that updated counted as another download. wp.org publishes no split between first installs and updates, so we show the raw rate rather than guess at one.
Details
Directory ranking optimization
How it's scored →How well this listing is tuned to rank in WordPress.org search, on the factors an owner controls. Not popularity, optimization.
Excellent listing optimization
Well tuned across the board
Updated 18 days ago
Tested up to WordPress 7.1.4, the current branch or newer
4.4★ over 25 reviews, smoothed to 4.20★
4 of 5 tags set · short description in place
1 of 1 support threads resolved in the last 2 months
Search visibility
How it's tracked →Directory searches this plugin turns up in, and which way each one is moving. WordPress.org publishes no history of search positions, so this starts the day we first tracked a keyword and never backfills.
34
Momentum
Losing ground
-0.5
Velocity
places per keyword, 19d
10%
Breadth
of keywords climbing, 19d
-0.4
Acceleration
recent half vs earlier
wp.org is where the directory puts the plugin for that search. On merit is where it would sit if results were ranked on rating, support and updates, without the install boost. The last column is how far the wp.org position moved, from our first reading in the last 90 days to the latest.
| Keyword | wp.org | On merit | wp.org move, 90 days |
|---|---|---|---|
| upload folders | #4 | #9 | 0 |
| upload your tag | #7 | #11 | down 1 |
| id upload | #4 | #6 | 0 |
| organize your tag | #16 | #23 | up 2 |
| media upload | #12 | #21 | 0 |
| browsing | #19 | #21 | down 1 |
| upload plugins | #9 | #18 | down 1 |
| uploads | #18 | #21 | down 2 |
| easy upload | #11 | #19 | down 2 |
| image upload | #19 | #20 | down 3 |
| files upload | #12 | #17 | 0 |
| wordpress upload | #13 | #21 | down 1 |
| plugin upload | #14 | #21 | down 1 |
| file upload | #24 | #21 | 0 |
| upload media | #15 | #22 | down 1 |
| uploader | #24 | #16 | down 1 |
| organize files | #16 | #23 | down 1 |
| upload files | #16 | #19 | down 2 |
| files your tag | Not in the top 24 | ||
| media your tag | Not in the top 24 | ||
79 searches this plugin appeared in over the last 90 days, 18 listed. 61 left out as unrelated or noise (years, numbers, stray words). 2 of its tags aren't in the top 24 for their own search.
What to do about it
- Add “upload folders”, “uploads” and “browsing” to your wp.org tags. You rank #4, #18 and #19 for them without listing them, close enough for a declared tag to move you up. WordPress.org counts only your first five tags, so with 4 listed these are the slots worth spending.
- One page off on “organize”. #16 puts you just past the first ten results, where almost all the clicks stop. The gap to close is small.
Daily downloads
Since 5 Oct 2022 · 1,488 days · wp.org + Plugin Pulse archive
30-day downloads
Rolling 30-day volume · peak 3.3K · peaks are release surges
Directory rank vs rivals
wp.org popularity rank over time · higher is better · when a rival's line climbs above yours, they've overtaken you
Rating trend
Star average over time · dips mark rough releases
Health trend
Composite health score, snapshotted daily
Update activity
How busy the existing users are, measured as downloads in the last 30 days for every 1,000 active sites. A spike means a new release everyone's pulling; a long, slow decline means an aging user base that updates less.
Release cadence
Occasionally updatedHow often this plugin actually ships. A steady rhythm is the maintenance signal a single "last updated" date can't show.
2
releases in the last 12 months
18d ago
latest release · v3.6.0 · 13 Oct 2026
20
tagged releases on record
Recent releases
What its installed base runs
via wordpress.orgShare of active installs on each version of this plugin. Green is the current release; a big slice on older versions is a user base that has stopped updating.
Estimated active installs
The public count shows “5K+”. Our estimate pins where the real number sits.
Crossed into this band 13 months ago; the previous band took 2.1 years to cross, which places it about 50% of the way through.
Install history since 23 Jun 2015
Recent reviews
All reviews on wp.org ↗- ★★★★★ site4sale3.2y ago
Большое спасибо из России за качественный плагин.Установил на несколько сайтов.
Read on wp.org ↗ - ★★★★★ rjacob9994.1y ago
does the job; EXCELLENT! thanks 🙂
Read on wp.org ↗ - ★★★★★ bibi699depreau6.5y ago
Addressed to the author of the plugin : Hello, French, and occasional voluntary developer for associations, I discovered your plugin “custom upload dir” which I found very interesting. Like me, many French people of my generation, (soon to be in their seventies) have limited use of English. So I made a translation of the plugin which, for information, works very well with PHP 5.6.4 and WordPress 5.4 – en_FR You will find attached the plugin with the translation.
Read on wp.org ↗ - ★★★★★ nhantam7.2y ago
Very useful & convenient to manage images in the long run if your website posts a lot of images
Read on wp.org ↗ - ★★★★★ holamediasolutions7.3y ago
Dosnt work when you import export post or products
Read on wp.org ↗ - ★★★★★ Jabe7.6y ago
Does perfectly what it’s supposed to do. Used it for years, then it was broken after Gutenberg update, I reported it in the forum and the developer fixed it on the following day. Those options should be included by default in WordPress to really customize it.
Read on wp.org ↗ - ★★★★★ Timothy8.1y ago
Add this to majority of websites built as a standard plugin. Great way to control media directories, helping to avoid space-hogging duplication of re-used images. Works great with current version. Thanks!
Read on wp.org ↗ - ★★★★★ hommealone8.6y ago
This is a great plugin which can be very useful for those with large media libraries. It helps to sort the uploads into multiple, manageable folders with a logical and intuitive directory structure. If your site will have a large media library, the normal year/month folders created during your main site build-out period can become huge – and therefore very hard to back up. This plugin solves that problem. If you have a site in which you will often go back and edit posts and pages and CPTs, you’ll find that standard WP folder structures are misleading: media that you add to a post a year later will not be put in the folder that corresponds to the current year/month, but rather in the dated folder of when the post was originally created. It can be very hard to find files. This plugin solves that problem; you’ll never have trouble finding a file again. The plugin has a few quirks and shortcomings: You must always name and publish your post/page/CPT before you can upload files to it. This can be an issue until you get into that habit, but once you do it is not a big issue. %permalink% should not be one of the options that you can choose to use in your path structure, in my opinion. Using it breaks the WP default Draft functionality. (So I just don’t use it which avoids the issue. This may be fixed in future releases.) Documentation could be better; but it is a free plugin, after all! Plugin author is not great at updating the plugin – but that never effects the functionality. Again, give the guy a break, it’s a free plugin. So yes, a few quirks and minor shortcomings, but overall a terrific plugin.
Read on wp.org ↗
Latest updates
via wp.org changelogRecent releases and news for this plugin
- 2026-10-13 Version 3.6.0 Added separate upload templates for Posts, Pages and custom post types. Each can use the default template, its own template, or WordPress’s normal folders (thanks kristinachilds and pedjas for requesting this!). Added a 3.6.0
- 2026-10-12 Version 3.5.0 Features and improvements A clearer settings page with clickable, keyboard-accessible placeholders and simpler explanations. Better path previews, including uploads without a post and feedback when a preview post cannot 3.5.0
- 2020-07-17 Version 3.4.6 Fixed a null dereference error. 3.4.6
- 2020-05-05 Version 3.4.5 added french translation (thanks, bibi699depreau!) 3.4.5
- 2019-03-24 Version 3.4.4 Fixed a few PHP warnings Removed the %permalink% template as it broke uploads to drafts. 3.4.4
- 2019-03-24 Version 3.4.3.2 Fixed ‘upload_dir’ not providing $post_id in Gutenberg editor. 3.4.3.2
Behavioral tests
via WP HiveAutomated install-time checks, tested on PHP 7.2.16 · WP 5.4.2
AI assistants
How it's measured →Whether ChatGPT and Claude name this plugin when asked the category question, and whether the readme gives them something to quote.
Not measured yet for this plugin’s topics. Its tracked searches are not among the measured topics. See the topics measured so far.
Readme readiness
6 of 8 pass · checked 29 Oct 2026Can an assistant quote this readme? Eight deterministic checks over the wp.org listing, no model involved.
- ! Says what it does Short description names no action; say what the plugin does for the site.
- ✓ Has a FAQ 8 questions in the FAQ.
- ✓ FAQ asks real questions 8 of 8 read like questions a user would type.
- ! Names who it is for One audience phrase ("if you need"); say who the plugin is for and what they use it for.
- ✓ Names what it works with Mentions Block editor.
- ✓ Headings and lists 6 headings and 3 lists.
- ✓ Enough to quote 5,485 characters of description.
- ✓ Tags match the text All 4 tags appear in the text.
Growth timeline
Install-tier crossings we have observed, and how long each tier took to outgrow
- 2025-09-25 6K+ → 5K+ down after 777 days in tier
- 2023-08-10 7K+ → 6K+ down after 1 days in tier
- 2023-08-09 6K+ → 7K+ up after 1 days in tier
- 2023-08-08 7K+ → 6K+ down after 7 days in tier
- 2023-08-01 6K+ → 7K+ up after 1 days in tier
- 2023-07-31 7K+ → 6K+ down after 1425 days in tier
- 2019-09-05 8K+ → 7K+ down after 444 days in tier
- 2018-06-18 6K+ → 8K+ up
Competes with
The plugins that solve the same job, ranked by shared tags then reach, closest match first. The letter on the right is each plugin's health grade (A best, F worst).
-
Clean Image Filenames 30K+ installs · 4.3★ · 3 shared tags B - H Healthy filenames 100+ installs · 3.6★ · 3 shared tags
-
File Upload Types by WPForms 40K+ installs · 3.9★ · 2 shared tags A - D Disable Real MIME Check 10K+ installs · 4.6★ · 2 shared tags D
- F Filenames to latin 9K+ installs · 4.4★ · 2 shared tags D
-
Media Deduper 9K+ installs · 3.9★ · 2 shared tags C
Embed this report card
Drop a live Pulse card for Custom Upload Dir into a readme, a review or a deck. It updates itself.
<iframe src="https://plugins.wpmayor.com/embed/custom-upload-dir" width="480" height="300" style="border:0" loading="lazy" title="Custom Upload Dir — Plugin Pulse"></iframe> Custom Upload Dir: 5K+ active installs, 4.4★ (25 reviews). Plugin Pulse (WP Mayor), as of 2026-10-31. https://plugins.wpmayor.com/plugin/custom-upload-dir
Spotted a number that looks wrong? Report a data issue and we'll check it against the source.