WordPress.org

Ready to get started?Download WordPress

Forums

[resolved] Making big changes to a live site: How do you do it? (13 posts)

  1. tshirtfiend
    Member
    Posted 4 years ago #

    I'm in the early phases of adding on to a site that I already built for a client, including some design/functionality changes. I'm going to need to make some possibly significant changes to the site, which could pose a problem and as it's a live site, and obviously the client wants everything to look professional all the time.

    I was wondering what you guys do when you're making changes to a site (changing theme code, adding content, changing functionality) when you're working on a live site. The biggest things for me are:

    1. The actual site needs to not look messed-up
    2. The client needs to approve the test site before it goes live

    What do you guys do?

  2. jonradio
    Member
    Posted 4 years ago #

    For major changes, I have three WordPress installations: the "old" Live one, the "soon to be" Live one, and a Test Environment. The two "Live" ones mentioned reside in different folders on the same domain name and use this approach to flip from one to the other: http://codex.wordpress.org/Giving_WordPress_Its_Own_Directory

    The Test Environment is as completely separate as practical, but as completely similar as possible. Separate file space, separate database, on a different domain.

  3. @mercime
    Volunteer Moderator
    Posted 4 years ago #

    The Test Environment is as completely separate as practical, but as completely similar as possible. Separate file space, separate database, on a different domain.

    ditto. It's the way to go for such kind of change.
    Plus, even if your client's online market is worldwide, you can see the stats of which countries most of your online visitors are coming from. So choose the time where it won't affect viewership in those countries as priority ... even if you will have to do it at 3:00 A.M. like I did once :-)

  4. tshirtfiend
    Member
    Posted 4 years ago #

    Thanks for the suggestions. I had a tiny hope that I could run two WP installs off of the same database (same tables) so that any changes that I made to the content/settings would be easy to carry over to the live site. Seems like whenever I export>import a DB I forget to change some setting or other along the way.

    Last question: What's your strategy for keeping people from stumbling on the test installs? Do you just create a weird, random name for the sub directory?

  5. s_ha_dum
    Member
    Posted 4 years ago #

    I had a tiny hope that I could run two WP installs off of the same database...

    You can run multiple sites off the same database so long as all of the site in question can connect to the database. Its just a matter of flipping some setting in wp-config. If, however, that database is a live DB with valuable information that you don't want to lose, it doesn't seem like a wise thing to do to me.

    To answer your original question, I almost never work on a live site. I've been forced into it in the past and there isn't Zoloft enough in the world to make me consider doing that willingly. Basically, I have a local server with its own files and database. If I break something, which happens a lot ;), it doesn't really matter.

  6. henkholland
    Member
    Posted 4 years ago #

    Quote: Last question: What's your strategy for keeping people from stumbling on the test installs? Do you just create a weird, random name for the sub directory?
    Under Settings/Privacy you can block search engines. That is something.

  7. s_ha_dum
    Member
    Posted 4 years ago #

    @henkholland

    I don't always have a test site accessible from the web. In those cases I do have such a site, if I've needed to keep it protected I've used .htaccess to lock it down, otherwise I just put it in some obscure directory.

  8. jonradio
    Member
    Posted 4 years ago #

    To reduce the number of visitors to your test site, I would also add entries to robots.txt, requesting that search engines not index the folder where you run the test site.

    I echo the earlier warnings about running a test site off the Production database. Stuff happens -- the easiest mistake to make would be to get the database table prefix in the test system set to the Production tables. Then again, you could almost as easily get the database name wrong in your test system, and have it muck up the Production database. Which makes a good argument for having different database ID and password for the test database. The ideal approach is to run the test system "somewhere" where it can be stopped from accessing the Production database. Personally, I have not gone that far under the assumption that I couldn't afford the solution, but I haven't looked carefully enough to know for sure.

    One final word of warning, and perhaps the most important, about development/test WordPress installations: if you are doing much php or MySQL query work, runaway "tasks" can get you thrown off your web hosting account "for life". That will have a huge impact on your Production web site. Only solution that I know of is a local test environment on your own hardware (e.g. - LAMP on your workstation) to do initial debugging of php and MySQL queries, before moving testing to your web host-based test environment.

  9. s_ha_dum
    Member
    Posted 4 years ago #

    Only solution that I know of is a local test environment on your own hardware (e.g. - LAMP on your workstation) to do initial debugging of php and MySQL queries, before moving testing to your web host-based test environment.

    This is good advice. I have locked up my local server and had to reboot it. Also running locally means you can switch on things like MySql's slow query log and not worry about the performance hit.

  10. tshirtfiend
    Member
    Posted 4 years ago #

    if you are doing much php or MySQL query work, runaway "tasks" can get you thrown off your web hosting account

    @adiant: What you do mean by "runaway 'tasks'"? What causes them? I may work locally, but I really need to show my client a (mostly) working site before things go live.

  11. jonradio
    Member
    Posted 4 years ago #

    Runaway tasks refer to anything that starts consuming great amounts of processor time and runs for a long period of time. I have seen a web server of 8 state of the art Intel Quad Core processor basically freeze up while it runs workloads listed as 50-100 processors' worth.

    In php, this is typically a loop, with a control structure that never ends it repetition, because the specified condition is always or never met, depending on the statement.

    In a MySQL SELECT statement, it is typically missing some conditions that would reduce millions of comparisons of database table keys down to a small number of thousands.

    I merely suggested that you "get the bugs out" locally, so that runaway tasks do not occur on your web hosting account.

  12. Daywalker19
    Member
    Posted 4 years ago #

    That's good suggestion thanks for that!!

  13. Daywalker19
    Member
    Posted 4 years ago #

    In a MySQL SELECT statement, it is typically missing some conditions that would reduce millions of comparisons of database table keys down to a small number of thousands.

    I merely suggested that you "get the bugs out" locally, so that runaway tasks do not occur on your web hosting account.
    thanks Again for these

Topic Closed

This topic has been closed to new replies.

About this Topic