How to Migrate Python to WordPress
Python is powerful. Sadly, Uncle Ben said it best: with great power, comes great responsibility. To properly utilize Python, you’ll need good developers to maintain and update it regularly. If you’re a small business or new blogger who needs to push out content, it may make more sense to explore options outside your tailor-made, cost-heavy Python website. A content management system (CMS) like WordPress may be a better fit for you.
Image Credit: Pixabay
WordPress regularly updates, has an abundance of built-in functions, and provides non-technical users with an array of plug-ins to make web maintenance easy. Tech savvy marketers and writers are already using WordPress in large numbers.
The good news is, even if you have a complex website already built with Python, it is possible – albeit labor-intensive – to migrate your site.
Why should I migrate to WordPress?
WordPress, for the unfamiliar, is a free website creation and management system. It uses PHP (a language very similar to Python) and MySQL to interact with its database. There is a myriad of custom functions already built into their database, which saves back-end developers a great deal of time when coding in responsive functionalities.
Its ease-of-use and plug-in architecture have caused WordPress to experience a meteoric rise in popularity. At the moment, it is the most popular CMS by far. In fact, according to W3Techs, 27% of the top ten million websites are powered by WordPress.
Migrating to WordPress: First Steps
You’re going to need to scour your old Python files to make sense of them. This may involve tedious work, such as combing through your database files.
After that you’ll be able to assess your current Python site. This will require carefully reading files, exporting data, and checking for bugs. Here are some questions that can help guide you through this process:
What data are we using?
You may have to reverse engineer the data structures being used. How you accessing data and what data you are using are important factors to consider as you begin the migrating process.
You can use tools like Postico to read into your existing database files and export them into other ones, such as csv. After exporting, however, you will need to tweak your tables to function correctly with WordPress.
What tables are we using in our database and are they compliant with WordPress?
Custom tables are great for your Python site. Unfortunately, these tables will be a pain in WordPress. If a table does not fit WordPress’s structure, you will not be able to utilize any of
WordPress’s custom functionality with it. This means your site will require custom coding to parse data from these tables. For example, WP_Query($args) will fail on a custom table that does not follow WP rules.
It’s easy to assume that because you’ve imported your tables into WordPress that your site is ready to go. However, you won’t get any of the benefits of choosing a CMS if you don’t ensure your tables adhere to WordPress’s guidelines.
What tools are available to convert our data?
Once you’ve answered the above questions, you’ll be able to develop a plan of action.
After you’ve developed a plan, consider the tools you could use to make your job of migrating easier. Everything in WordPress is a post type. This can be hard for developers migrating databases to understand. This is where the Advanced Custom Fields plug-in can help alleviate the headache of tying items together through post type.
Advanced Custom Fields plug-in is a great tool for creating custom post types and establishing special relationships between data items, all of which can be referenced in your PHP scripts.
Migrating to WordPress: Next Steps
You’ve got the basic structure down. Your data is accounted for and tailored for WordPress. Now for the nitty-gritty.
You’ll need to go in and convert your code to PHP. In Isaac Castillo’s case, founder of Echo Design Solutions, his team created a script that iterated through his core data structures in Postgres, and returned PHP scripts. Through these PHP scripts, his team was able to interact with WordPress’s database. After using this script to convert his WordPress-compliant tables, he tested for bugs, and tweaked appropriately.
Of course, you always have the option of hardcoding your tables. This is laborious. Creating a script that does this for you automatically can save you a lot of time and energy.
Migrating to WordPress: Conclusion
Python is a truly powerful programming language, but a CMS like WordPress is much more flexible for non-developers.
The migration process is always difficult. For the Echo Design Solution’s team the whole process took about two months. Still, in the long run, a WordPress site with minimal maintenance could pay dividends for your business or blog.