I currently have a website that's been built using a static site generator (SSG; in this case, Hugo). The site has about 10 sections, each with 40-50 markdown files. As is the case with most content built out using an SSG, the content files are all well structured and include embedded metadata (via YAML front matter) at the top of each content .md file.

The front matter is very well structured and includes the following fields across all article files:

  1. title:
  2. subtitle:
  3. description:
  4. tags:
  5. categories:

There is also a staff/person content type with the usual fields:

  1. name_first:
  2. name_last:
  3. job_title:
  4. reports_to: Etc...

With Hugo (or just some clever BASH scripting), I can easily template these into a CSV (or multiple CSVs), JSON, etc. I know there are obvious differences between flat files/serialized data and an RDBMS, but I'm wondering if there is a clever way for me to make all of this content easily importable for Craft CMS 3, which our company is hoping to use for a major replatforming in about 3-4 months.

The entire site actually has close to 650 pages, but I figure I can start structuring them in markdown with YAML first to avoid a prolonged copy-and-paste nightmare. (Our current "CMS" is not a CMS by any means and doesn't contains any metadata.) I can parse the content out as very clean HTML, plain text, etc.

Any thoughts, first steps, suggestions, etc would be extremely appreciated. Thanks!

1 Answer 1


There is a good plugin called FeedMe that can help with imports. We used it migrating a pretty large EE site without issue. If you can spit out a XML, RSS, ATOM or JSON feed, it should be able to import it.

FeedMe Plugin

I am not sure if it is Craft 3 ready yet, though.

  • Thanks for the feedback. FeedMe is indeed an awesome plug, but I just touched base with the creator on Twitter and it seems that it's not working with V3. Bummer. I'm open to any other suggestions...
    – RyanDW
    Commented May 1, 2017 at 22:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.