BalticXML
BalticXML
Description
BalticXML is a lightweight WooCommerce extension that exports your product catalogue as XML feeds compatible with three Latvian price comparison engines:
- salidzini.lv – official spec
- kurpirkt.lv – official spec
- ceno.lv – official spec
All three feeds are generated and served from the same plugin at separate URLs, for example:
https://yoursite.com/salidzini-feed.xmlhttps://yoursite.com/kurpirkt-feed.xmlhttps://yoursite.com/ceno-feed.xml
Each feed is cached on disk for fast delivery and regenerated automatically via WP-Cron.
Features
- Three independent XML feeds (salidzini.lv, kurpirkt.lv, ceno.lv) at their own URLs
- Per-format cache files and a single shared WP-Cron schedule
- Manual “Regenerate Feed Now” button rebuilds all feeds at once
- Includes simple, variable (per-variation) and external products
- Full category breadcrumb path (
Parent > Child > Subchild) - Automatic brand / manufacturer detection from common taxonomies and attributes
- Automatic EAN/GTIN detection from common meta keys
- Out-of-stock filter
- Customizable feed slug per portal
- HPOS (High-Performance Order Storage) compatible
- Translation ready
Feed Structures
salidzini.lv:
<?xml version="1.0" encoding="UTF-8"?>
<products>
<product>
<name><![CDATA[Brand Model 12345]]></name>
<link>https://yoursite.com/product/...</link>
<price>99.99</price>
<category_full><![CDATA[Parent > Child]]></category_full>
<category_link>https://yoursite.com/category/...</category_link>
<image>https://yoursite.com/wp-content/uploads/...</image>
<in_stock>5</in_stock>
<brand><![CDATA[Brand]]></brand>
<model><![CDATA[Model X]]></model>
<color><![CDATA[Black]]></color>
<mpn>ABC-123</mpn>
<ean>1234567890123</ean>
</product>
</products>
kurpirkt.lv:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<item>
<name>Apple iPhone 13 PRO 512GB black</name>
<link>https://yoursite.com/product/...</link>
<price>1200.59</price>
<image>https://yoursite.com/wp-content/uploads/...</image>
<manufacturer>Apple</manufacturer>
<category>Mobilie telefoni</category>
<category_full>Sakaru līdzekļi > Mobilie telefoni</category_full>
<category_link>https://yoursite.com/category/...</category_link>
<in_stock>5</in_stock>
<delivery_cost_riga>2.25</delivery_cost_riga>
<used>0</used>
</item>
</root>
ceno.lv:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<item>
<name>Huawei P40 Pro Melns</name>
<link>https://yoursite.com/product/...</link>
<price>849.99</price>
<price_sale>799.99</price_sale>
<image>https://yoursite.com/wp-content/uploads/...</image>
<manufacturer>Huawei</manufacturer>
<model>P40 pro</model>
<category>Mobilie telefoni</category>
<category_full>Telefoni-plansetdatori > Mobilie telefoni</category_full>
<category_link>https://yoursite.com/category/...</category_link>
<in_stock>12</in_stock>
<ean>6901443378944</ean>
<used>0</used>
<delivery_cost_riga>2.99</delivery_cost_riga>
<delivery_latvija>5.99</delivery_latvija>
<delivery_latvijas_pasts>1</delivery_latvijas_pasts>
<delivery_omniva>1.50</delivery_omniva>
<delivery_days_riga>4</delivery_days_riga>
<delivery_days_latvija>6</delivery_days_latvija>
</item>
</root>
Installation
Automatic Installation
- Log in to your WordPress admin panel
- Navigate to Plugins > Add New
- Search for “BalticXML”
- Click “Install Now” and then “Activate”
Manual Installation
- Download the plugin ZIP file
- Go to Plugins > Add New > Upload Plugin
- Upload the ZIP file and click “Install Now”
- Activate the plugin
After Installation
- Make sure WooCommerce is installed and active
- Go to BalticXML in the admin menu
- Confirm the feed slugs and copy each feed URL
- Click “Regenerate Feed Now” to build the cache for the first time
- Submit each URL to the corresponding price comparison site
Faq
Each portal has its own URL, all shown on the BalticXML settings page:
- salidzini.lv ->
https://yoursite.com/salidzini-feed.xml(default) - kurpirkt.lv ->
https://yoursite.com/kurpirkt-feed.xml(default) - ceno.lv ->
https://yoursite.com/ceno-feed.xml(default; email it to info@ceno.lv after configuring)
All slugs are configurable.
All feeds are regenerated together on the same WP-Cron schedule. Default is daily; you can change it (hourly, every 6 hours, twice daily, daily, or disabled) in BalticXML settings.
By default they are excluded from all feeds. You can change this in BalticXML settings.
Yes – by default each variation is exported as a separate item in every feed, with the variation attributes appended to the name. You can disable this in settings.
The plugin checks the product_brand, pwb-brand and pa_brand taxonomies, and the brand product attribute, in that order. The same source feeds <brand> (salidzini.lv) and <manufacturer> (kurpirkt.lv, ceno.lv).
The plugin checks the meta keys _ean, _gtin, _global_unique_id, _wc_gla_gtin and the ean product attribute. (Used by salidzini.lv and ceno.lv. kurpirkt.lv does not require this field.)
Use the matching product attributes (model, color/colour, mpn, adult, over_the_counter_medicine) or the corresponding meta keys (_model, _color, _mpn, _adult, _over_the_counter_medicine / _otc). They are all optional – emitted only when set.
delivery_cost_riga– set the meta key_delivery_cost_rigaor add adelivery_cost_rigaproduct attribute (numeric).used– set the meta key_usedto1or add ausedproduct attribute set to1/yes/true.
For each delivery field, set either a meta key prefixed with _ or a product attribute (without the prefix):
delivery_cost_riga,delivery_latvija– max delivery cost in Riga / Latvia (decimal)delivery_latvijas_pasts,delivery_dpd_paku_bode,delivery_pasta_stacija,delivery_omniva,delivery_circlek,delivery_venipak– per-carrier delivery cost (decimal)delivery_days_riga,delivery_days_latvija– max delivery days in Riga / Latvia (integer)used– set to1for used / refurbished products
All ceno.lv fields are optional – they are emitted only when a numeric/non-empty value is configured.
Yes. Text domain is balticxml.
Reviews
Changelog
1.0.0
- Initial release
- salidzini.lv compatible XML feed (
<products>/<product>schema) - kurpirkt.lv compatible XML feed (
<root>/<item>schema) - ceno.lv compatible XML feed (
<root>/<item>schema with extended delivery fields) - Per-format cache files with shared WP-Cron regeneration
- Simple, variable and external product support
- Brand / manufacturer and EAN auto-detection
- Customizable feed slugs per portal
- HPOS compatible
- Translation ready
