{"id":401486,"date":"2026-11-13T06:54:22","date_gmt":"2026-11-13T06:54:22","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/variation-import-guard\/"},"modified":"2026-11-13T06:54:13","modified_gmt":"2026-11-13T06:54:13","slug":"variation-import-guard","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/variation-import-guard\/","author":14232506,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.2","stable_tag":"1.0.2","tested":"7.1.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Variation Import Guard","header_author":"Shahid Irfan","header_description":"Check and repair WooCommerce variation CSV relationships before importing products.","last_updated":"2026-11-13 06:54:13","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/profiles.wordpress.org\/shahidirfan100\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":44,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.2":{"tag":"1.0.2","author":"shahidirfan100","date":"2026-11-13 06:54:13","revision":3799789}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3799834,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3799834,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3799834,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3799834,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3799834,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.2"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3799789,"resolution":"1","location":"assets","locale":"","width":1022,"height":1032},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3799789,"resolution":"2","location":"assets","locale":"","width":1022,"height":1032},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3799789,"resolution":"3","location":"assets","locale":"","width":1022,"height":1372}},"screenshots":{"1":"Upload a supplier CSV and see the checks that run before product data is written.","2":"Confirm detected columns, select supplier fields, and opt in to whitespace trimming or store matching.","3":"Review row findings, parent ordering repairs, and separate download links for the corrected CSV and report."}},"plugin_section":[],"plugin_tags":[567,21735,51677,724,286],"plugin_category":[45],"plugin_contributors":[276921],"plugin_business_model":[],"class_list":["post-401486","plugin","type-plugin","status-publish","hentry","plugin_tags-csv","plugin_tags-product-import","plugin_tags-product-variations","plugin_tags-validation","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-shahidirfan100","plugin_committers-shahidirfan100"],"banners":{"banner":"https:\/\/ps.w.org\/variation-import-guard\/assets\/banner-772x250.png?rev=3799834","banner_2x":"https:\/\/ps.w.org\/variation-import-guard\/assets\/banner-1544x500.png?rev=3799834","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/variation-import-guard\/assets\/icon.svg?rev=3799834","icon":"https:\/\/ps.w.org\/variation-import-guard\/assets\/icon.svg?rev=3799834","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/variation-import-guard\/assets\/screenshot-1.png?rev=3799789","caption":"Upload a supplier CSV and see the checks that run before product data is written."},{"src":"https:\/\/ps.w.org\/variation-import-guard\/assets\/screenshot-2.png?rev=3799789","caption":"Confirm detected columns, select supplier fields, and opt in to whitespace trimming or store matching."},{"src":"https:\/\/ps.w.org\/variation-import-guard\/assets\/screenshot-3.png?rev=3799789","caption":"Review row findings, parent ordering repairs, and separate download links for the corrected CSV and report."}],"raw_content":"<!--section=description-->\n<p>Variation Import Guard checks WooCommerce product CSV files before an import. It reports duplicate SKUs, missing parents, parent row order, attribute mismatches, missing variation prices, and invalid stock quantities. It can move variable parent rows before variation rows and map common supplier column names to WooCommerce's CSV headings.<\/p>\n\n<p>The checker never creates, updates, or deletes products. It writes a new corrected CSV and a separate row report. Store matching is optional and read-only.<\/p>\n\n<h3>Features<\/h3>\n\n<ul>\n<li>Detect common WooCommerce and supplier CSV headings.<\/li>\n<li>Review the detected mapping before processing.<\/li>\n<li>Check parent and variation relationships, SKUs, attributes, price, and stock.<\/li>\n<li>Move parent rows before variation rows in the corrected download.<\/li>\n<li>Trim mapped cells only when you opt in.<\/li>\n<li>Optionally compare product SKUs and parent types with the current store.<\/li>\n<li>Keep working files in a protected temporary folder and remove them after 24 hours.<\/li>\n<\/ul>\n\n<h3>Privacy<\/h3>\n\n<p>The plugin does not send file contents or store data to an external service. CSV content is processed on your WordPress server. The uploaded source file is removed after processing; output files expire after 24 hours.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin ZIP through Plugins &gt; Add New Plugin &gt; Upload Plugin, or copy the plugin folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate Variation Import Guard.<\/li>\n<li>Open Tools &gt; Variation Import Guard.<\/li>\n<li>Choose a CSV, confirm its type, SKU, and parent columns, then run the preflight.<\/li>\n<li>Review the findings and download the corrected CSV and row report.<\/li>\n<li>Import the corrected CSV using WooCommerce's product importer. Test a small sample on staging first.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20the%20plugin%20import%20products%3F\"><h3>Does the plugin import products?<\/h3><\/dt>\n<dd><p>No. It validates the uploaded file and prepares two downloads. Use WooCommerce's own importer to make product changes.<\/p><\/dd>\n<dt id=\"which%20files%20can%20i%20check%3F\"><h3>Which files can I check?<\/h3><\/dt>\n<dd><p>CSV files up to 8 MB and 15,000 data rows. UTF-8 (with or without BOM) and Windows-1252\/Latin-1 supplier files are supported. Save UTF-16 files as UTF-8 before uploading.<\/p><\/dd>\n<dt id=\"what%20does%20the%20corrected%20csv%20change%3F\"><h3>What does the corrected CSV change?<\/h3><\/dt>\n<dd><p>It renames mapped fields to WooCommerce headings, puts variable parent rows before variation rows, and can trim surrounding whitespace in mapped fields when that option is selected. Formula-like values and headers are prefixed with an apostrophe in both downloads so spreadsheet software treats them as text. Review those prefixes before importing; remove one only when you have confirmed the value is intended as plain text.<\/p><\/dd>\n<dt id=\"does%20the%20live%20catalog%20check%20change%20products%3F\"><h3>Does the live catalog check change products?<\/h3><\/dt>\n<dd><p>No. It reads matching product SKUs and parent product types. It does not create or update store data.<\/p><\/dd>\n<dt id=\"how%20long%20are%20uploaded%20files%20kept%3F\"><h3>How long are uploaded files kept?<\/h3><\/dt>\n<dd><p>The source file is removed after the preflight finishes. The corrected file and row report stay in a protected temporary folder for up to 24 hours so you can download them.<\/p><\/dd>\n<dt id=\"can%20i%20import%20the%20corrected%20file%20immediately%3F\"><h3>Can I import the corrected file immediately?<\/h3><\/dt>\n<dd><p>Review every reported error and warning first. A clean CSV check does not confirm the WooCommerce importer's final column mapping. Test a small sample on a staging store before a large import.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Prefix formula-like cells in both CSV downloads to prevent spreadsheet formula execution.<\/li>\n<li>Replace short global identifiers with a plugin-specific prefix.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Fix numeric parent SKU matching and preserve quoted CSV values during row reordering.<\/li>\n<li>Report output write failures instead of returning incomplete downloads.<\/li>\n<li>Reduce admin cleanup work, clear scheduled cleanup on uninstall, and improve footer contrast.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>Add bounded CSV preflight, parent-first repair, WooCommerce field mapping, row report, and optional read-only catalog check.<\/li>\n<\/ul>","raw_excerpt":"Check variation relationships and download a corrected WooCommerce product CSV before importing it.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/401486","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=401486"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/shahidirfan100"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=401486"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=401486"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=401486"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=401486"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=401486"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=401486"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}