Hi,
Good questions. HikaShop supports all of this quite well. Let me go through each point.
1) Best approach
The CSV import/export is the most practical for your use case. You export your products, edit the SEO fields in a spreadsheet, then reimport. The import has an "overwrite" option that updates existing products, and only the fields present in your CSV will be modified, so your other product data remains untouched.
Mass actions are also an option if you want to apply the same change to many products at once (e.g. setting a canonical URL pattern for all products in a category). But for individual per-product SEO edits, CSV is more convenient.
The REST API also supports reading and updating product data including SEO fields. However, like MCP, it processes products one at a time, which consumes more API tokens and makes it harder to review changes before they are applied.
You also mentioned MCP (Model Context Protocol). HikaShop supports MCP via mass actions with the "On MCP request" trigger, which exposes them as tools that AI agents can call. You could use it to query products or even update data via the "Update element data" action. However, for SEO updates specifically, the CSV approach is more practical: you can export the CSV, have an AI process it to generate meta titles and descriptions, review the changes in your spreadsheet before reimporting, and it uses fewer tokens than calling MCP tools one product at a time. More details on MCP at the end of the mass actions documentation page.
More details on the import process:
www.hikashop.com/support/documentation/73-hikashop-import.html
More details on mass actions and MCP:
www.hikashop.com/support/documentation/167-massaction-form.html
2) Export scope
Yes, you can export only selected products. The export respects the filters applied on the product listing page. So you can filter by category, search by name, etc., and then export only the resulting products. You can also choose which columns to include in the export via the export settings.
3) Field targeting
Yes. When you reimport a CSV with the overwrite option enabled, only the columns present in your CSV file will be updated. If your CSV only contains product_code, product_meta_description, and product_page_title, then only those fields will be modified on the matching products. All other product data stays unchanged. Empty values in the CSV are treated as "no change" for that field.
The SEO-related fields you can use in the CSV are:
- product_name
- product_description
- product_page_title (meta title)
- product_meta_description
- product_alias
- product_canonical
- product_keywords
4) Product matching
The product_code is the most reliable identifier for matching. During import, HikaShop looks up existing products by their product_code. Since product_code has a unique constraint in the database, it guarantees a one-to-one match. You can also use product_id, but product_code is more human-readable and portable across environments.
5) Variant handling
Variants are supported in the CSV import. Each variant has its own product_code, which is used for matching, so you do not need to include characteristic columns when updating existing variants. However, you do need to include the product_parent_id column (set to the parent product's product_code) so that the import recognizes the row as a variant. Without it, the import treats the row as a main product and the update will be skipped due to a type mismatch.
So to update a variant, your CSV needs at minimum: product_code, product_parent_id, and the SEO fields you want to update.
Note that meta title, meta description, alias, and canonical are only used on the main product since variants share the same product page. However, variant product_name and product_description are used in the structured data (JSON-LD microdata) on the product page, where each variant is output as a separate Product entry with its own name and description. So updating those fields on variants can improve your rich results in search engines.
6) API/MCP stability
Both the REST API and MCP via mass actions are stable and support reading and updating product data including SEO fields. However, for SEO updates the CSV workflow is more efficient: the AI can process the entire file at once using fewer tokens, and you get to review all changes in a spreadsheet before reimporting. This makes it easier to verify and correct the AI-generated content before it goes live.
Summary of the recommended workflow:
1. Go to System > Products in the backend
2. Filter the products you want to update
3. Export them to CSV. You can choose which columns to include via the "Export fields" setting in System > Configuration (Main tab), under the Product button. Select only the columns you need: product_code + the SEO fields.
4. Edit the CSV in your spreadsheet application
5. Reimport with the overwrite option enabled
6. Test on staging first, then apply to production