Excel table of the Shopify Blog Posts to import and export

Includes Blog Posts, Blogs, and Comments.

Excel Sheet Name

Blog Posts

Columns Available For Export And Import

Base Columns

Column Allowed Values Description / Example Value
ID Number ID is automatically generated number by Shopify to identify the item.
It is filled in by an Export.
When creating new Blog Post, leave this value empty.

22920047631
Handle Any characters allowed in a URL This is what your store visitors will see in the Blog Post URL address like this:

https://mystore.com/blogs/blog-handle/blog-post-handle

URL address has a great impact on SEO, so be sure to give it a meaningful name.
Regardless, what you write here, the app will convert it to lowercase, and remove all non-URL friendly symbols.
You can leave it empty when creating new Blog Posts – in that case, the app will generate it for you from Title.

Even if the handle will be in the non-English language, it will transliterate it to English, so that it is valid for URL. For example “всё про рубашек” will be converted to “vse-pro-rubasek”.

Whatever you will put in the Handle column, the app will convert it to required Handle format, which is acceptable by Shopify.

red-tshirt-story
Command
  • NEW
  • UPDATE
  • REPLACE
  • DELETE
When importing Blog Post row – tell the app, what to do with it:

  • NEW: will try to create a new Blog Post with the provided details. If such Blog Post will already exist (with the same ID or same Handle), then the result will be Failed.
  • UPDATE: will try to find existing Blog Post, and update it with data from the row. If such Blog Post will not be found, then it will create new. All the existing Blog Comments will be kept.
  • REPLACE: at first, if such Blog Post with provided ID or Handle exists, then the app will delete it. After that, it will create a new one. If an existing Blog Post will not be found, then still the app will create a new one. The difference from UPDATE is that it will not keep any of columns, which were not included in the import file since the Blog Post will be deleted and re-created. All the existing related Comments will be lost.
  • DELETE: the app will delete the existing Blog Post, which is found by ID or Handle. If such Blog Post will not be found, then the result will be Failed. This DELETE command is very handy for deleting Blog Posts in bulk.

If no Command is specified, then the app will assume the UPDATE command.

UPDATE
Title Text Title of the Blog Post

Red Tshirt Story
Author Text The Author of the Blog Post

Jimmy Kimmel
Body HTML Text, HTML A long description of the Blog Post.

You can write here just a plain text or format that text using HTML code.

You can put here additional images, videos, links to any other URLs: Blog Posts, Pages, Collections, Products or sites, tables, and so on.

You can learn about HTML capabilities online, for example, W3Schools.com or use some online video courses, like from Treehouse.com or Udemy.com.

The best way to create HTML Description is to write one Blog Post in the Shopify Admin, format it as you like, and then do the export. Then you will see how that translates to HTML and will be able to apply the same to other Blog Posts.

Warning: Be aware that Excel has a limitation of 32,767 characters in one cell. Your Blog Post body may not fit in that. If you open the exported Excel file and the Excel complains that the file is damaged and offers to repair it – then this might be the case. If it happens, your next best way to export, is to the “Excelfy: CSV” format. Then the CSV file will contain your full Body HTML – which you can import then to your other store.

Here goes the everything <b>you need to know</b> about <em>T-Shirts</em>.
Summary HTML Text, HTML A short summary of your Blog Post.

This is shown in the list of all blog posts so that the reader can see the short snippet of the blog post text.

It can be text or HTML code – the similarily to Body HTML.

T-shirts are for wearing. <b>That's it!</b>
Tags Comma Separated List Tags allow you to add additional elements or “properties” to your Blog Post which you can use for filtering.

Funny, Smart, T-shirt
Created At Time This column will only be exported.

It will be automatically set to the date and time when the Blog Post was first created.

2017-10-06 23:03:00 UTC
Updated At Time This column will only be exported.

It will be automatically updated, whenever you change the Blog Post data.

2017-10-06 23:03:00 UTC
Published
  • TRUE
  • FALSE
Tells, whether this Blog Post should be Published on your “Online Store”. If you will set it to FALSE, it will be hidden from Online Store, and clients will not be able to find it.

If you will leave this cell empty, then it will hide that Blog Post form Online Store.

TRUE 
Published At Time This column can be exported and imported.

You can set specific Blog Post publication date.

2017-10-06 23:03:00 UTC
Template Suffix Text Template Suffix allows you to specify another Template from your Theme for this specific Blog Post. For example, you might want to specify a different template for a Women T-shirts Blogs, which has different page colors.

women
Image Src URL Link to the image. This link must be publicly available so that Shopify can download the image to the store.

A Blog Post can have only one image.

Once an image is imported, it doesn’t need to be hosted anymore with this link, because Shopify will download this image and store on their own servers.

If you don’t need to update image for Blog Post, just remove this column from Import file, and it will leave image unchanged when you do your import.

https://images.com/image.jpg
Image Width Number The width of the image, in pixels.

Exported only.

Image Height Number The height of the image, in pixels.

Exported only.

Image Alt Text Text Alt Text for the Blog Post image. Great for SEO, because then search engines will know, what is inside the image.

Woman wearing red T-shirt on horse

Blog Columns

You can have several Blogs on your store. Each Blog can have many Blog Posts.

Therefore – each Blog Post needs to be associated with the specific Blog.

Those columns will describe that Blog.

You only need to have values for Blog: ID and/or Blog: Handle columns in all rows – so that each Blog Post can be linked to the Blog.

Since each Blog Post is updated separately then if you don’t need to update Blog fields each time, you can leave those other columns empty.

Column Allowed Values Description / Example Value
Blog: ID Number Unique identifier for the Blog.

When creating new Blog, leave this empty.

This allows to identify the Blog and match it to the Blog Post of the same row.

When importing data – if the existing Blog is not found by ID, then it is searched by the Handle.

22920047635
Blog: Handle Any characters allowed in a URL This is what your store visitors will see on the Blog or Blog Post URL address like this:

https://mystore.com/blogs/blog-handle/blog-post-handle

Blog handle works by the same principle as Blog Post Handle.

When importing – this handle is also used to identify the Blog if it cannot be found by Blog: ID.

If Handle is left empty then it will be generated from the Blog: Title.

tshirt-blog
Blog: Title Text Title of the Blog.

Required only when creating new Blog.

Everything About Tshirts
Blog: Commentable
  • no
  • yes
  • moderate
Tells whether the Blog Posts allow comments from the blog visitors:

  • no: Blog Posts cannot be commented.
  • yes: Blog Posts can be commented and comments will be instantly visible to everybody.
  • moderate: Blog Posts can be commented, but the comments will become visible to others only when you as a Blog Owner will approve them.
Blog: Feedburner URL URL URL to the Feedburner / RSS / Atom service for pushing your blog changes to the platforms that notify subscribers about new posts.

If you don’t know what this is – leave it empty.

Read more in the Shopify article: Advanced publishing.

http://feedproxy.google.com/
Blog: Feedburner Path URL path The subfolder (path) of the Feedburner URL.

If your Feedburner full URL is, for example, http://feedproxy.google.com/tshirt-blog then your path will be tshirt-blog.

If you don’t know what this – leave it empty.

tshirt-blog
Blog: Template Suffix Text Template Suffix allows you to specify another Template from your Theme for this specific Blog. For example, you might want to specify a different template for a T-shirts Blog than for the others.

tshirt
Blog: Created At Time This column will only be exported.

It will be automatically set to the date and time when the Blog was first created.

2017-10-06 23:03:00 UTC
Blog: Updated At Time This column will only be exported.

It will be automatically updated, whenever you change the Blog data.

2017-10-06 23:03:00 UTC
Primary Row TRUE / FALSE The Body HTML and Summary HTML values of the Blog Post is put only on the first row of the Blog Post if the single blog post takes many rows. This is done to save the space in the file.

The Primary Row = TRUE allows sorting back the rows by putting the Body HTML row on the top. That is, if you needed to change the sorting of your table to do some changes in bulk.

Comment Columns

Each Blog Post can have many Comments – written by the blog visitors.

Column Allowed Values Description / Example Value
Comment: ID Number Unique identifier for the Blog Post Comment.

When creating new Comment, leave this empty.

This allows to identify the Blog Post Comment and match it to the Blog and the Blog Post of the same row.

When importing data – if the existing Blog is not found by ID, then the app will create new Comment. So be careful if you import the same comments two times with no valid ID then those will be added again and can result in duplicate comments.

22920047635
Comment: Author Text Author of the Comment.

John Smith
Comment: Body Text, Textile Markup Comments written by blog post visitors cannot be written in HTML to format them. But Shopify allows using the Textile Markup to add basic formatting to the text.

This is *my* text.
Comment: Body HTML HTML The HTML representation of the comment body.

This column will only be exported and you cannot import the HTML comments here – Shopify will ignore them.

Basically, this is used for showing those comments on the website.

<p>This is <strong>my</strong> text.</p>
Comment: Email Email E-mail address of the comment author.

[email protected]
Comment: Status
  • pending
  • unapproved
  • published
  • spam
  • removed
Status of the comment:

  • pending: Comment has this status only for a short moment after posting – then Shopify system moves it to respective other status depending if the comments are moderated or not. When importing, you cannot set the comment to “pending”.
  • unapproved: The default status of the comment if the “Blog: Commentable” is set to “moderate”, which means that the comment is waiting for manual approval from you.
  • published: Comment is approved and is showing on the website.
  • spam: Comment is marked as a spam and is not showing on the website.
  • removed: Comment is removed (deleted) from the website. If you have this comment ID in an earlier export, you can restore the removed comment by updating its status to “published”.
Comment: IP IP Address The IP address of the comment author at the moment of posting their comment.

You can also import this field.

159.148.34.56
Comment: Browser Text The browser – also known as “User Agent” of the website visitor at the moment of posting the comment. It allows determining the browser kind, version and even the operating system of the commenter.

Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0
Comment: Created At Time This column will only be exported.

It will be automatically set to the date and time when the Comment was first created.

2017-10-06 23:03:00 UTC
Comment: Updated At Time This column will only be exported.

It will be automatically updated, whenever you change the Comment data.

2017-10-06 23:03:00 UTC
Comment: Published At Time The time when the blog post Comment was Published – made visible to the public.

You can set this time to what you need.

2017-10-06 23:03:00 UTC
Comment: Command
  • UPSERT
  • UPDATE
  • DELETE
Tell the app what to do with the Comment row:

  • UPSERT: it means “insert or update”. If the Comment with specified “Comment: ID” will be found then it will be updated. If it will not be found then it will be inserted as a new comment.
  • UPDATE: strictly only update existing comment. If the comment with specified “Comment: ID” will not be found then this item import will fail. Using this when you update comments will allow you to make sure you are not creating any duplicate comments by accident.
  • DELETE: will delete that particular comment if it is found by specified “Comment: ID”. If it will not be found then it will be just skipped, assuming that it’s already deleted.

If no value is specified then the UPSERT is assumed by default.

UPSERT

Metafields

You can add up to 250 custom metafields to the Blog Posts.

Just start the column name by “Metafield: “.

Read the description on Metafields page.

SEO Fields

SEO fields are actually Metafields with the following names:

  • SEO Title Metafield name is “Metafield: title_tag”
  • SEO Description Metafield name is “Metafield: description_tag”

Good To Know

  • The best way to understand what data goes into which column, create one Blog Post manually in Shopify Admin, and then export that.
  • You don’t need to fill in all columns to create Blog, Blog Posts or Comments.