There are more than one methods to migrate from WP to Grav, but to my knowledge, none of them works 100% - so it depends a bit on your situation…
for me, the most important step was to migrate my blog, ~200 posts, ~5 categorys, many tags.
I used this plugin with a tiny modification (see issues ).
as for pages, I just went the simple ‘copy - paste’ approach, as I have only ~20 pages.
most work, however, was the plugins.
you can find the whole story here.
(and, of course, welcome to the grav community )
I don’t think there is a method to migrate a Wordpress site 1:1 to Grav - in fact to any system. Basically it comes down to the fact how simple or complex your Wordpress website is. And the answer will vary based on that.
I agree. Especially if you take into account the pages builder that are on the market, custom fields and shortcodes… For instance for my last WP-Grav export i had to tweak https://github.com/SiteBeez/wordpress-wp2grav-markdown-exporter to get all custom fields i need in my item.md, create a media library etc. But it’s worth it
I haven’t tried it myself, but having gone through the hassle of migrating between different systems and Drupal, I’d be inclined to export Wordpress to CSV and then import from CSV to Grav. A few plugins exist for WP to CSV. For example: https://wordpress.org/plugins/wp-all-export/.
My reasoning is that data migrations alway require manipulation of the source content to fit into the new system, and manipulating CSV files is very easy, whereas understanding the data structure of a system and creating custom code to manipulate it is a fairly advanced programming task.
Migrating from CSV to Grav could be a complex task, but it could also be a messy PHP script that just gets the job done by parsing each row of the CSV and building a md file with frontmatter.