Ottermerce

Bulk catalog import, export
and editing for BigCommerce

Sign in Start free

Guide · Pages import

Web pages

Web pages are identified by name, which BigCommerce keeps unique — so a spreadsheet can address a page without knowing its id, and a file exported from one store imports into another.

1. Page types

Type Description Extra fields
pageStandard HTML content page.Nothing else needed
contact_formBuilt-in contact form page.Contact Fields, Contact Email
linkNavigation entry that sends visitors somewhere else.Link URL is required
rawRaw HTML with no storefront wrapper.Body is required

These four are the only types BigCommerce accepts on a write. Friendly spellings are understood — "Contact Form", contact-form, "Raw HTML" — and anything else fails the row before the API call, naming the allowed values.

2. Commands

Command Description Behaviour
NEWCreate a new page.Fails if a page with the same name already exists.
UPDATEUpdate an existing page.Uses Page ID if provided, otherwise searches by name. Fails if not found.
MERGECreate or update.The default. If the page exists, by id or name, it updates; otherwise it creates.
DELETEDelete a page.Uses Page ID if provided, otherwise searches by name.
REPLACERefused for pages.Fails the row. Re-creating a page would give it a new id and a new URL — breaking every link to it — and move its child pages to the top level. Use UPDATE.
IGNORESkip this row.Does nothing, and is recorded as skipped rather than as a success.

3. All supported columns

CSV column BigCommerce field Required Description
CommandOptionalNEW | MERGE | UPDATE | DELETE | IGNORE. Default MERGE.
Page IDidOptionalBigCommerce page id. Provide it for UPDATE/DELETE to skip the name lookup — and it stays reliable when page names change, which a name cannot.
NamenameRequiredPage name, 1–100 characters. BigCommerce keeps it unique, which is why a page can be found by name alone.
TypetypeOptionalpage | link | contact_form | raw. Default page.
BodybodyOptionalHTML content, for the page and raw types. Wrap the value in double quotes if it contains commas or line breaks.
Link URLlinkOptionalDestination URL, for type link.
Is Visibleis_visibleOptionaltrue or false. Default true.
Is Homepageis_homepageOptionaltrue or false. Sets the store homepage. Default false.
Is Customers Onlyis_customers_onlyOptionaltrue or false. Restricts the page to logged-in customers. Default false.
Parent IDparent_idOptionalBigCommerce id of the parent page. Only useful within one store, since ids differ between stores.
Parent Nameparent_idOptionalThe parent named instead of numbered — resolved for you, and portable between stores. Parent ID wins if you give both. The parent may be created by an earlier row in the same file; the order you write them in does not matter.
Sort Ordersort_orderOptionalDisplay order in navigation. Lower comes first.
URLurlOptionalRelative storefront URL, e.g. /about-us.
Meta Titlemeta_titleOptionalSEO title tag.
Meta Keywordsmeta_keywordsOptionalSEO keywords, comma-separated.
Meta Descriptionmeta_descriptionOptionalSEO meta description.
Search Keywordssearch_keywordsOptionalStorefront search keywords.
Channel IDchannel_idOptionalBigCommerce channel (storefront) id. Default 1.
Contact Fieldscontact_fieldsOptionalcontact_form only: fullname, phone, email, companyname, orderno, rma.
Contact EmailemailOptionalcontact_form only: the email address that receives form submissions.

4. Example file

Command,Page ID,Name,Type,Body,Link URL,Is Visible,URL,Meta Title
NEW,,About Us,page,"<h1>About Us</h1><p>Our story...</p>",,true,/about-us,About Our Company
NEW,,Contact Us,contact_form,,,true,/contact,Contact Us
NEW,,Careers,link,,https://jobs.example.com,true,,
UPDATE,101,About Us,,,,,,About Us - Updated Title
DELETE,102,,,,,,,

5. Building a page hierarchy

Parent Name exists because a raw parent id is unusable in a spreadsheet and meaningless in another store — an export of store A could never be imported into store B. Page names are unique, so a name resolves to exactly one page.

Because a Parent Name makes rows depend on each other, a file carrying that column is ordered parents-first for you and its jobs run in sequence. Write the rows deepest-first if you like; a grandchild, child and parent in any order all build correctly. A row naming a parent that does not exist anywhere fails saying so.

Without that column, page rows are independent and run in parallel instead.

6. Things worth knowing

  • A type change must bring its field. Switching a page to link needs Link URL in the same row, and to raw needs Body — BigCommerce rejects the change otherwise, even when the page already has one stored.
  • Type is required to create a page, so a file with no Type column could not create one at all. It is defaulted to page on the create path only: an update stays silent about it, because a partial update merges and naming a type the page cannot have is refused.
  • The Blog page is special. Your store's blog index is reported with a type BigCommerce will not accept back, so an export leaves its Type cell blank and says so in the export warning. Leave it blank and the page re-imports fine.
  • Is Homepage is exclusive. Setting it on one page moves it off whichever page had it — BigCommerce handles that itself, so only ever set true.
  • Deleting a parent does not delete its children. They survive and move to the top level. Categories behave the opposite way.
  • Blank cells never overwrite. A column you leave out, or leave empty, is not sent — and a cell holding only spaces counts as empty, so it cannot wipe a stored value.
  • Only one page can be the homepage at a time.
  • Check before you run. The file check flags any column that would be ignored, with a suggestion for a likely typo, and a dry run previews every row without writing anything.