Why I don’t develop WordPress websites locally

Nowadays, it’s easy to run a web server locally on your computer. Multiple products even handle the complex configuration part for you. Still, I prefer to develop WordPress websites on a server connected to the Internet.

I want multiple people to collaborate simultaneously

Developing locally for small projects is very flexible. For example, you can choose to connect your code to a code repository or not. Depending on the project size, you can define different environments to work in, such as development mode and production. Or not.

Developing on your local machine can be faster and more organized, but it requires deployments so others can see your work as a developer. That means pushing your code and/or database to an accessible server.

That is when things can get messy. When you publish your changes, you must still follow processes like clearing the cache, synchronizing the database, or checking that everything is fine. You can also wait for your customer to report that things have broken again—sad, true story.

What if you want to show your progress before pushing the changes? Of course, there are ways to do so, like recording a video or creating a “magic” preview link if the tool you choose to develop locally allows you to do it.

I heard a brilliant idea about complex database migrations: What if you never needed to migrate in the first place? It sounds like it is just for people who like to live dangerously, right?

In that case, the guy talked about creating bridges between code versions. I won’t do that, but it got me thinking things can get more manageable if we skip migrations.

Migrating a WordPress site is very polished now, but I still have to occasionally search for and replace strings. Serialized data, I’m talking to you!

I like working on the real server

The nature of WordPress is to work online. You do not develop every bit of code from scratch. For example, plugins will probably not be connected to a local repository. Also, for websites in production, there is likely always someone making changes to the content.

Since WordPress’s present and future are based on blocks, even building most of the site’s templates is, in reality, content that can be connected to a repository but most likely doesn’t need to. Revisions are added to these pieces to undo precise changes, and real-time collaboration is coming!

Working on a Staging WordPress for small or risky changes makes more sense for most projects.

This will sound cheesy or weird, but I like to feel a website’s real speed. For example, I can detect if it is slow or if the images are too heavy just by browsing it. Developing locally can cause you to lose this.

Most programmers have tried to convince me to develop locally, and my workflow could be better if I stopped doing it online. One thing is sure: I’ve seen most of them get in trouble with their strategy. I prefer troubleshooting WordPress at the application level than everything else.

Jos Velasco.

If you want to discuss developing websites efficiently with WordPress or have any questions, please get in touch with me. If you liked this post, please share it with your friends or network.

CC0 licensed photo by annezazu from the WordPress Photo Directory.

Comments

2 responses to “Why I don’t develop WordPress websites locally”

  1. sebastienserre Avatar

    I think this is doable until you have to develop your own code.
    What about writing a custom plugin or a custom theme in PHP for a customer?

    By seeing the related link, I think, I haver the answer.

  2. Alan Fuller Avatar

    This is the old confusing issue of using the word developing! For developing I code I disagree – code development is far better / faster done locally with source control ( git ) and a remote repository ( github ) and far easier to step debug via a local test env rather than creating tunnels. As you say “Most programmers have tried to convince me to develop locally,” But developing websites is a different thing – it should be calledd something different ( building?) – website delveloper (builder) does not equal code developer (programmer). I totally agree that building websites is best done on server, for the reasons you mention collaboration, real world feel etc. When I’m developing code for a website build I use a hybrid approach – code development is local and use my IDE to autodeploy code to the staging/test server in real time.

Leave a Reply

Your email address will not be published. Required fields are marked *