{"id":231112,"date":"2025-05-23T03:29:57","date_gmt":"2025-05-23T03:29:57","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/opal-sync-media-to-amazon-s3\/"},"modified":"2025-12-05T02:53:51","modified_gmt":"2025-12-05T02:53:51","slug":"opal-aws-s3","status":"publish","type":"plugin","link":"https:\/\/szl.wordpress.org\/plugins\/opal-aws-s3\/","author":14655858,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.3.0","stable_tag":"1.3.0","tested":"6.9.4","requires":"5.0","requires_php":"7.0","requires_plugins":null,"header_name":"Opal Sync Media to Amazon S3","header_author":"WPOPAL","header_description":"This plugin uploads files from the WordPress media directory to an AWS S3 bucket and replaces their original URLs with the corresponding S3 URLs.","assets_banners_color":"a58ea4","last_updated":"2025-12-05 02:53:51","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wpopal.com\/contact\/","header_author_uri":"https:\/\/wpopal.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":464,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"wpopal","date":"2025-05-23 04:22:39"},"1.3.0":{"tag":"1.3.0","author":"wpopal","date":"2025-12-05 02:53:51"}},"upgrade_notice":{"1.3.0 - Update Core:":"<ul>\n<li>Compatible up to: WP 6.9<\/li>\n<li>Improve\/Optimize processing speed<\/li>\n<\/ul>","1.0 - Released: Apr 10, 2025":"<ul>\n<li>Initial release<\/li>\n<\/ul>"},"ratings":[],"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3301345,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":3301345,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.3.0"],"block_files":[],"assets_screenshots":{"screenshot-1.jpg":{"filename":"screenshot-1.jpg","revision":3299095,"resolution":"1","location":"assets","locale":""},"screenshot-2.jpg":{"filename":"screenshot-2.jpg","revision":3299095,"resolution":"2","location":"assets","locale":""},"screenshot-3.jpg":{"filename":"screenshot-3.jpg","revision":3299095,"resolution":"3","location":"assets","locale":""},"screenshot-4.jpg":{"filename":"screenshot-4.jpg","revision":3299095,"resolution":"4","location":"assets","locale":""}},"screenshots":{"1":"Configuration Required","2":"Cronjob for automatic handling","3":"Handling tasks using WP CLI commands","4":"Actions and Progress Details"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[1898,3863,84,217],"plugin_category":[50,59],"plugin_contributors":[227291,90637],"plugin_business_model":[],"class_list":["post-231112","plugin","type-plugin","status-publish","hentry","plugin_tags-aws","plugin_tags-cdn","plugin_tags-media","plugin_tags-s3","plugin_category-media","plugin_category-utilities-and-tools","plugin_contributors-khanhhv2240","plugin_contributors-wpopal","plugin_committers-wpopal"],"banners":{"banner":"https:\/\/ps.w.org\/opal-aws-s3\/assets\/banner-772x250.jpg?rev=3301345","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/opal-aws-s3\/assets\/icon-256x256.png?rev=3301345","icon_2x":"https:\/\/ps.w.org\/opal-aws-s3\/assets\/icon-256x256.png?rev=3301345","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/opal-aws-s3\/assets\/screenshot-1.jpg?rev=3299095","caption":"Configuration Required"},{"src":"https:\/\/ps.w.org\/opal-aws-s3\/assets\/screenshot-2.jpg?rev=3299095","caption":"Cronjob for automatic handling"},{"src":"https:\/\/ps.w.org\/opal-aws-s3\/assets\/screenshot-3.jpg?rev=3299095","caption":"Handling tasks using WP CLI commands"},{"src":"https:\/\/ps.w.org\/opal-aws-s3\/assets\/screenshot-4.jpg?rev=3299095","caption":"Actions and Progress Details"}],"raw_content":"<!--section=description-->\n<p>Boost your media workflow in WordPress using S3-compatible object storage. This plugin allows you to offload media files to Amazon S3 for better performance and scalability. Optionally, you can configure Amazon CloudFront as a CDN to serve your media files faster.<\/p>\n\n<h3>Features:<\/h3>\n\n<p><strong>Main Features<\/strong>:\n- <strong>Manual or Automatic Media Scan<\/strong>: Scan your media library manually or automatically using WP-Cron. You can configure the cron schedule to fit your needs.\n- <strong>Manual or Automatic Upload<\/strong>: Upload scanned media files to S3 manually or automatically, with customizable scheduling similar to the scan feature.\n- <strong>CloudFront Integration<\/strong>: Easily integrate Amazon CloudFront to serve media files via CDN, improving delivery speed.\n- <strong>Post Type Filtering<\/strong>: Support scanning and uploading media files associated with specific post types only.\n- <strong>WP CLI Support<\/strong>: Provides WP CLI commands for fast and bulk operations if you have command line access.<\/p>\n\n<p><strong>Configuration Required<\/strong>:\n- <strong>AWS S3 Access key:<\/strong>: Access key provided by S3 Service.\n- <strong>AWS S3 Secret key:<\/strong>: Secret key provided by S3 Service.\n- <strong>Bucket Name<\/strong>: The name of your S3 bucket where media files will be stored.\n- <strong>Region<\/strong>: The AWS region where your S3 bucket is located.\n- <strong>CloudFront URL (Optional)<\/strong>: If you use Amazon CloudFront, provide the distribution URL for faster delivery.<\/p>\n\n<p><a href=\"https:\/\/wpopal.com\/contact\/\">Free Support<\/a><\/p>\n\n<h3>External Services<\/h3>\n\n<p>This plugin connects to Amazon S3 and optionally Amazon CloudFront to offload and serve media files. Below is detailed information about the external services:<\/p>\n\n<ol>\n<li><p><strong>Service Name<\/strong>: Amazon S3 (amazon.com)<\/p>\n\n<ul>\n<li><strong>Purpose<\/strong>: Used to store and serve media files (images, videos, documents, etc.) uploaded to the WordPress media library.<\/li>\n<li><strong>Data Sent<\/strong>: Media files (e.g., images, videos, documents) and metadata (e.g., file names, paths) are sent to the configured S3 bucket.<\/li>\n<li><strong>When<\/strong>: Data is sent when a file is uploaded to the WordPress media library or when the plugin syncs existing files to S3.<\/li>\n<li><strong>Configuration Required<\/strong>:\n\n<ul>\n<li>Bucket Name<\/li>\n<li>AWS Region<\/li>\n<\/ul><\/li>\n<li><strong>Terms of Service<\/strong>: <a href=\"https:\/\/aws.amazon.com\/service-terms\/\">Amazon S3 Terms of Service<\/a><\/li>\n<li><strong>Privacy Policy<\/strong>: <a href=\"https:\/\/aws.amazon.com\/privacy\/\">Amazon Privacy Policy<\/a><\/li>\n<\/ul><\/li>\n<li><p><strong>Optional Service<\/strong>: Localstack (for testing environments localstack.cloud)<\/p>\n\n<ul>\n<li><strong>Purpose<\/strong>: Simulates Amazon S3 locally for testing purposes.<\/li>\n<li><strong>Data Sent<\/strong>: Media files and metadata are sent to the Localstack instance running on the developer's machine.<\/li>\n<li><strong>When<\/strong>: Data is sent when <code>OAWS_LOCALSTACK_MODE<\/code> is set to <code>true<\/code> in the plugin configuration.<\/li>\n<li><strong>Configuration<\/strong>: To enable Localstack, set the constant <code>OAWS_LOCALSTACK_MODE<\/code> to <code>true<\/code> in your WordPress configuration file.<\/li>\n<li><strong>Documentation<\/strong>: <a href=\"https:\/\/docs.localstack.cloud\/\">Localstack Documentation<\/a><\/li>\n<\/ul><\/li>\n<li><p><strong>Optional Service<\/strong>: Amazon CloudFront (if configured)<\/p>\n\n<ul>\n<li><strong>Purpose<\/strong>: Used as a Content Delivery Network (CDN) to serve media files faster by caching them closer to users.<\/li>\n<li><strong>Data Sent<\/strong>: URLs of media files stored in S3.<\/li>\n<li><strong>When<\/strong>: Data is sent when the plugin generates URLs for media files.<\/li>\n<li><strong>Configuration Required<\/strong>:\n\n<ul>\n<li>CloudFront Distribution URL<\/li>\n<\/ul><\/li>\n<li><strong>Terms of Service<\/strong>: <a href=\"https:\/\/aws.amazon.com\/service-terms\/\">Amazon CloudFront Terms of Service<\/a><\/li>\n<li><strong>Privacy Policy<\/strong>: <a href=\"https:\/\/aws.amazon.com\/privacy\/\">Amazon Privacy Policy<\/a><\/li>\n<\/ul><\/li>\n<\/ol>\n\n<!--section=installation-->\n<ol>\n<li>Unzip the downloaded zip file.<\/li>\n<li>Upload the plugin folder into the wp-content\/plugins\/' directory of your WordPress site.<\/li>\n<li>Activate plugin 'Opal Sync Media to Amazon S3' from Plugins page.<\/li>\n<li>Go to the plugin settings page and configure the required fields:\n\n<ul>\n<li>AWS S3 Access key<\/li>\n<li>AWS S3 Secret key<\/li>\n<li>S3 Bucket Name<\/li>\n<li>AWS Region<\/li>\n<li>(Optional) CloudFront Distribution URL<\/li>\n<\/ul><\/li>\n<\/ol>\n\n<!--section=changelog-->\n<h4>1.0.0 - Released: Apr 10, 2025<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>","raw_excerpt":"This plugin uploads files from the WordPress media directory to an AWS S3 bucket and replaces their original URLs with the corresponding S3 or CloudFr &hellip;","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/szl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/231112","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/szl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/szl.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/szl.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=231112"}],"author":[{"embeddable":true,"href":"https:\/\/szl.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/wpopal"}],"wp:attachment":[{"href":"https:\/\/szl.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=231112"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/szl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=231112"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/szl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=231112"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/szl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=231112"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/szl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=231112"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/szl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=231112"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}