by Burhan Nasir on WordPress.org
Import external images automatically on save. Adds to media library and updates URLs. No manual downloads. Works with any post type.

Smart Auto Upload Images automatically imports external images from your post content into your WordPress media library. When you save or update a post, the plugin detects any external image URLs, downloads them to your server, and replaces the original URLs with your hosted versions. This improves site performance, ensures image availability, and gives you complete control over your content.
When you copy content from external sources or use remote images, you risk broken images when the original source removes them. Hosting images on your own server provides several benefits:
The plugin runs automatically whenever you save or update a post. Here’s the process:
No manual intervention required. Just write your content and let the plugin handle the rest.
The plugin automatically identifies external images in your post content when you save. It distinguishes between local images (already hosted on your site) and external images that need importing.
After importing images, the plugin intelligently replaces all instances of the external URL with your new local URL. This works with images in:
All imported images are added to your WordPress media library with proper metadata. You can:
Exclude specific domains from auto-import. Useful for:
Choose which post types trigger auto-upload. Enable for:
Set custom file naming patterns for imported images using dynamic tags:
%filename% – Original filename%post_title% – Current post title%post_id% – Post ID%image_title% – Image title attribute%date% – Current date%time% – Current timestampExample: %post_title%-%filename% becomes my-blog-post-example-image.jpg
Define alt text patterns for better SEO:
%post_title% – Use post title in alt text%filename% – Use filename as alt textSet maximum width and height for imported images to:
Set a post’s featured image using an external URL. The plugin will:
If you want to prevent images from certain domains from being imported:
%post_title%-%filename%imported-%date%-%filename%This helps organize your media library and improves SEO with descriptive file names.
Using the Post Editor:
Auto Upload Images works with popular page builders:
All images in Gutenberg blocks are automatically detected and imported when you save the post.
External images in Classic Editor content are imported on post save.
Enable auto-import for Product post type to automatically import external product images.
Configure any custom post type to trigger auto-import functionality.
Just ensure Auto Upload Images is active when running imports.
Imported images consume server storage. Monitor your hosting plan’s disk space if importing large quantities of images.
Import time depends on:
* Image file sizes
* Your server’s download speed
* Number of images per post
* Configured maximum dimensions
Programmatically control which image URLs get imported.
`
add_filter( ‘smart_aui_validate_image_url’, function( $is_valid, $url ) {
// Skip images from specific paths
if ( strpos( $url, ‘/cdn/avatars/’ ) !== false ) {
return false;
}
return $is_valid;
}, 10, 2 );
`
Check plugin documentation for additional filters and actions to customize behavior.
Problem: External images remain unchanged after saving post
Solutions:
* Check if domain is in excluded domains list
* Verify your server can make external HTTP requests
* Check WordPress debug log for errors
* Ensure PHP has necessary image processing libraries
* Verify write permissions on uploads directory
Problem: Seeing errors in wp-content/debug.log
Solutions:
* Check image URL is publicly accessible
* Verify image format is supported (JPG, PNG, GIF, WebP)
* Ensure external server allows download/hotlinking
* Check SSL certificate validity if using HTTPS images
Problem: Images added to media library but old URLs remain
Solutions:
* Clear any caching plugins
* Check post content in Text/HTML mode
* Verify images aren’t in excluded domain list
* Review file naming pattern doesn’t cause conflicts
Problem: Same image imported multiple times
Solutions:
* Plugin should detect and reuse existing images (v1.2.0+)
* Check if images have different URLs but same file
* Clear media library of duplicates and re-save post
Problem: Featured image URL not importing
Solutions:
* Verify URL is publicly accessible
* Check image format is supported
* Ensure PHP memory limit is sufficient
* Review error logs for specific error messages
Problem: Images exceed configured dimensions
Solutions:
* Ensure GD or ImageMagick is installed on server
* Check PHP memory limit allows image processing
* Verify dimensions are set in plugin settings
* Test with smaller images first