Skip to content

CMS Block & Page Import/Export

VIDEO WALKTHROUGH

CMS Block Import / Export: setup guide

2:43

Recorded on version 1.0.2 · Narrated walkthrough · English captions

Jump to a chapter 8 chapters
Read the full video transcript
CMS Block Import / Export 1.0.2 — Magento Admin setup

00:00:00 — Set up CMS Block Import / Export
Welcome to the Agentic Ecom C M S Block Import / Export Admin guide. We'll walk through the main setup screens and the checks to make before using the module. This guide assumes the extension is already installed.

00:00:15 — Open settings and choose scope
Start in Magento Admin and open Stores, Configuration. Choose CMS Block Import / Export. Check the Scope selector before editing. Use the appropriate website or store view where the setting supports it. The screen values here are a demonstration; enter the settings and service details that belong to your own store.

00:00:36 — Enable block import and export
Enable Import and Export for the intended store configuration. This tool handles C M S blocks. The related C M S Page Import and Export module handles page records. Keep those two content types separate when preparing files so you use the correct columns and screen.

00:00:55 — Open the block workspace
Open Content, Elements, Blocks and locate the import and export controls. Export an existing block before preparing changes, and keep the original file. Review the block identifier, title, active status, store assignment and H T M L content in the exported columns.

00:01:15 — Prepare scope and behaviour
Use the module's import and export workspace to choose the relevant store scope. Preserve an identifier when updating a matching block, or use a new identifier for new content. Review the available import behaviour and target scope before uploading; a store-specific change should not unintentionally replace content in another store.

00:01:36 — Check content after importing
Test a small, backed-up file in staging and read the import summary and warnings. Reopen the affected blocks, then check a page that uses them. Imported H T M L is sanitised, so compare the rendered result as well as the stored text. Refresh relevant caches if a storefront still shows earlier content.

00:01:58 — Save and verify your setup
When your required settings are complete, use the screen's Save control and wait for Magento's confirmation. Then reopen the record or configuration and check the saved values at the intended scope. If the storefront still shows earlier settings, refresh the relevant caches. Test your own configuration before using it with customers.

00:02:20 — Your setup checklist
That's the Admin setup walkthrough for C M S Block Import / Export. Check permissions and scope, review the module-specific settings, then save and verify a small staging example. Use the written guide at user guides dot Agentic Ecom dot net for installation details, complete field references and any separate storefront integration steps.

Two matched tools — CMS Block Import/Export and CMS Page Import/Export — let you manage your whole CMS in a CSV. Export every block or page, edit the content, SEO and store assignment in a spreadsheet, and re-import to update existing items or create new ones. The HTML round-trips intact, everything is store-scoped, and imported content is sanitised so a CSV upload can never become a stored-XSS hole.

Export CMS Blocks to CSV

Install CMS Block & Page Import/Export with Composer using your AgenticEcom licence key (find it on your My Licences page — one key unlocks every module you own):

Terminal window
# 1. Register the AgenticEcom repository (once per store)
composer config repositories.agenticecom composer https://repo.agenticecom.net
composer config --global --auth http-basic.repo.agenticecom.net <YOUR-LICENCE-KEY> x
# 2. Require this module
composer require agenticecom/module-cms-import-export
# 3. Apply it
php bin/magento setup:upgrade && php bin/magento setup:di:compile && php bin/magento cache:flush

Magento

Check the exact release against your Magento Open Source version.

PHP

Check the exact package requirements and test your PHP version.

Round-trip

Export → edit → import; the export format is the import format.

Safe

Script vectors are stripped from imported HTML.

Content → Elements → Blocks Import / Export (Export / Import tabs) — also reachable from the Import/Export buttons on the standard Content → Blocks grid. Columns: identifier, title, is_active, stores, content.

  1. Export — choose a store scope (all, or one store view) and download the CSV.

  2. Edit in a spreadsheet. Keep an item’s identifier to update it; add a new row with a new identifier to create one.

  3. Import — upload the CSV. Choose Add/Update (overwrite matching identifiers) or Add-only (skip existing), and optionally force every row into one store view.

One bad row won't stop it

Every row is attempted independently with a per-row report (created / updated / skipped + messages). A malformed or empty row is skipped, never fatal — and a missing required column is reported clearly up front.

True upsert

Items are matched by identifier within scope (correctly treating “All Store Views” as overlapping every store), so re-importing updates in place instead of failing on Magento’s identifier-uniqueness rule.

XSS-safe import

Imported HTML has <script>, inline on*= event handlers and javascript: URLs stripped — so a role that can import but not edit CMS can’t inject runnable script. Layout markup (<style>, Page Builder data-*, video <iframe>) is preserved.

HTML round-trips

Content is quoted on export and parsed RFC-4180 on import, so descriptions full of commas, quotes and newlines come back exactly as they went out.

How do I bulk-edit CMS content?

Export to CSV, edit the content / SEO columns in a spreadsheet, and re-import with Add/Update. Keeping each row’s identifier means it updates that block/page rather than creating a duplicate.

Can I move content between store views?

Yes — set the stores cell (codes separated by |, or all), or use the import option to force every row into a chosen store view regardless of the column.

Is importing HTML safe?

Yes — the importer strips script tags, inline event handlers and javascript: URLs from the content before saving, so a CSV import can’t introduce stored XSS, while keeping legitimate layout markup intact.

Is it secure?

Import and export are behind the module’s ACL resources, the import is XSS-sanitised, and both tools require exact-release compatibility testing (including the CSV escape-parameter handling that the new PHP versions require).