$ 106.17
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
eCommerce (website_sale)
• Discuss (mail) • Website (website) • Invoicing (account) |
| Lines of code | 724 |
| Technical Name |
softg_product_image_publisher |
| License | OPL-1 |
| Website | https://www.softg.dev |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
eCommerce (website_sale)
• Discuss (mail) • Website (website) • Invoicing (account) |
| Lines of code | 724 |
| Technical Name |
softg_product_image_publisher |
| License | OPL-1 |
| Website | https://www.softg.dev |
SoftG Official Module · v19.0.1.0.0
Product Image Publisher
Export your Odoo product images as real .jpg public URLs - ready for Google Shopping, Facebook Catalog and Bazaraki.
The problem
Marketplaces and shopping feeds want real, cache-friendly URLs that end in .jpg or .png. Odoo's built-in /web/image/ route returns images without file extensions, with internal-looking paths, and often fails marketplace validators outright.
Worse, many feed consumers only re-fetch images when the URL string itself changes. With Odoo's native URLs, your image updates never propagate downstream.
Before - Odoo native
odoo.example.com/web/image/product.template/42/image_1920
· No file extension · Internal ID exposed
· Fails marketplace validators · Hits Python every request
After - Image Publisher
yourshop.com/img/hp-pavilion-15-notebook.jpg
· Real .jpg endpoint · SEO-friendly name
· Passes all validators · Nginx speed - no Python
What you get
â One-click publish all
Generate public URLs for every product image from a single button or scheduled job. Works on Odoo 19 Community and Enterprise.
⤠15 image slots per product
1 main image + 14 extra slots. Matches Bazaraki, Google Shopping, and Facebook Catalog limits exactly. Each slot gets its own public URL.
⦠SEO-friendly filenames
Filenames generated from product name (slug), fallback to SKU, fallback to ID. Human-readable, linkable, shareable - and stable.
â Daily auto-sync cron
Detects products whose images changed and re-exports automatically. Zero manual intervention after initial setup.
â¹ Bulk operations
Select N products from list view â Action â Generate Image URLs. 371 images across 810 products in under 90 seconds.
⨠SSRF-protected inbound
When importing images from URLs, refuses to fetch addresses pointing at private or loopback IPs. Safe by default.
â Bidirectional
Export images to public URLs or import images from URLs - both directions ship in the box.
â Config in UI
Change disk path and URL prefix via System Parameters. No code edits needed. nginx setup guide included.
â Works with any feed
Pairs with softg_xml_feed_generator - image_url and extra_image_url_1..14 fields used directly as feed image sources.
Works with
Bazaraki.com
Cyprus marketplace requires real image URLs. Generates exactly what Bazaraki's XML feed importer expects.
Google Shopping
Merchant Center rejects /web/image/ routes. Real .jpg URLs pass validation and appear in Shopping ads.
Facebook Catalog
Facebook requires stable, publicly accessible image URLs. Re-exports automatically on image change.
softg_xml_feed_generator
Uses image_url and extra_image_url_1..14 fields from this module as image sources in all feeds.
Headless storefronts
Next.js, Nuxt, Astro - any headless front-end can consume the public image URLs via Odoo's JSON API.
Supplier sync feeds
Drop-shipping and multi-supplier setups can import supplier image URLs bidirectionally using the inbound feature.
Technical specs
| Module name | softg_product_image_publisher |
| Version | 19.0.1.0.0 |
| Odoo target | 19 Community + Enterprise |
| License | OPL-1 |
| Dependencies | product, website_sale |
| Server requirements | nginx or any static web server (setup guide included) |
| Image slots | 1 main + 14 extra per product |
| Lines of code | ~1,019 Python + XML |
| Backports | 16.0 · 17.0 · 18.0 available on request |
Support
Email: support@softg.dev
Website: softg.dev
Free updates for the 19.0 major version included.
Backports to 16.0, 17.0, 18.0 available on request.
About SoftG
Odoo Ready Partner based in Cyprus and Canada. Real implementations across medical, retail, F&B, supplements, and construction. No offshore handoff - the engineer on your first call is the one who builds it.
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module