Skip to content
Back to Blog

Tagged: WooCommerce

Migrate WordPress Users to Laravel Without a Password Reset

I built a WordPress site in Docker to see what a wp_users table holds after WordPress's move to bcrypt: WordPress 6.7.9 first, then an upgrade to 7.1.2, with users created on both versions. Then I copied its eight users, hashes intact, into a fresh Laravel 13.33 app on PHP 8.5 and tried to log each one in. Seven of the eight logins threw RuntimeException: This password does not use the Bcrypt algorithm. The right password threw it, and so did a wrong one. WordPress has hashed passwords with bcrypt since 6.8, and Laravel uses bcrypt too, so this looks like it should just work. It fails for two separate reasons, and one of them never shows an error. If you only need the fix, it's two steps: import the rows with the query builder, then register a hasher that knows WordPress's formats. Laravel then replaces each user's hash with a Laravel bcrypt hash on their first login.

· 10 min read ·

WooCommerce to Laravel Migration: The Parts Nobody Talks About

If you've run a WooCommerce store long enough, you've felt the slowdown. Pages take longer to load. The admin panel becomes sluggish. Checkout starts timing out during traffic spikes. You throw caching at it, upgrade your hosting, install optimization plugins. It helps for a while. Then it doesn't. I've been building with PHP and Laravel for over ten years, and I've migrated production WooCommerce stores to custom Laravel applications. Not as a theoretical exercise, but because the stores hit a wall that no amount of WordPress optimization could fix. Here's what that process actually looks like, including the parts the generic migration guides conveniently skip.

· 11 min read ·

Stay in the Loop

Get the latest posts delivered to your inbox - on your schedule.

No spam. Unsubscribe anytime.