Previous Page

Published on July 15th, 2011

Featured Image


Do you do your design/testing/development on your production website? Have you ever installed or updated something that crashes a section or the entire site? Ever tried to format or fix your site layout while everyone visiting watches you?

If you have spent any amount of time in WordPress you can easily identify with these issues. These issues can easily be avoided by doing development on your own computer. This article will run you through how to get WordPress working on your computer and leave your production site stable, clean and user friendly. Test all your plugins, updates, layout and design ideas on your local computer instead of letting the world watch you.


Develop Like a Pro

Most people set up their WordPress sites with hosting providers like BlueHost, HostGator, GoDaddy and the big named hosting providers. This is definitely where you want to start and the most affordable solution for getting your site visible to the world. The problem is that most people just stop here. They do all their testing/design/configuration and prototyping directly on their production site and rely on it as a one-stop shop for getting everything done.

Now given you have a low traffic site where you are really not trying to commercialize it or take it to the next level, then the practice of doing everything on a single production server is probably okay.  However if you establish good habits now, you will carry them forward to sites that really matter and are no longer just hobby sites.

When you begin to build up a decent list of subscribers where people are checking your site regularly and your name and brand is also associated with the reliability of your website, then you should approach every update to your site and database with much more caution and develop like the pros do.

Professional developers work in separate environments. They have two identical blogs on two separate computers. The first is a development environment and the second is a production environment which is usually their hosting provider. The development and production blogs are usually identical to each other except for one huge difference. The development server is only seen by the developer and internal to his/her company and the production server is what the rest of the world sees (usually your hosted server).

This is how the pros work and in this article you will learn how to set this environment up for yourself so you can take advantage of all the benefits a development/production environment offers you.

Benefits of multiple environments:

  • Design/prototype without affecting your production site
  • Detect plugin conflicts before they happen
  • Avoid unnecessary bandwidth costs
  • Test major upgrades for system stability
  • Debug customer errors in a controlled environment
  • Test new themes widgets and much much more…

What is XAMPP

To have the same functionality that your hosting provider gives you when you set up your production website, you will need the same tools they use to make this happen. Those tools consist of a Web server, database engine, and a scripting language capable of performing complex application requests. Most hosting providers run on Linux operating systems and you will either have a PC or Mac. This scenario is fine, just make sure you’re using close to the same PHP version in both environments. You can easily find this out by pasting the code below into a file named phpinfo.php and then browsing to it, be sure remove to it from your production server when you’re done.

<?php phpinfo(); ?>

There are also WordPress plugins that will output this same info.  Just do a search for phpinfo in the plugins directory.

XAMPP Control Panel

The three big tools that hosting companies use include: Apache, MySQL, and PHP. The beauty of XAMPP is that it bundles all these applications and a few others into an easy to use control panel that allows you to run great applications like WordPress, Joomla, Drupal, and tons of other great open source and commercial products on your own machine.

Installing XAMPP

Setting up and installing XAMPP is a simple and easy process. You can have your own WordPress up on your computer in under 15 min! Just follow these simple steps.



Windows Specific Instructions:

  • Disable UAC: During the install, you may get a message indicating that you need to turn off “User Account Control.”  This can easily be done by clicking  your start button. Type “uac” in the search dialog and choose “Change user account control settings” then set the slider to the very bottom.
  • Install Path:
    Good: C:\xampp or D:\xampp
    Bad: C:\Program Files\xampp  (xampp does not play well with spaces)
  • Services: These sections don’t need to be checked.
  • Firewall: Click “Allow Access” on all dialogs

After Install browse to: http://localhost/

You now have an environment capable of serving up WordPress sites locally.


After XAMPP is installed you will need to control XAMPP from it’s control panel. To always have XAMPP showing in your system you need to enable your notifications by clicking customize from the system tray pop-out menu. Then enable XAMPP to show notifications.

XAMPP Notification

You can also get to the XAMPP control panel by typing XAMPP from the start menu. The Mac will have similar and probably easier options so look for them after install. As far as the control panel for both operating systems, it is the same.

New WordPress Install

Start MySQL and Apache  (see panel above)

Browse to Database Editor:


Create a database: “mypress1” or whatever name you want
Create database user: Privileges -> Add a new User
UserName: “superadmin”
Host: “localhost”
Password: “whateveryouwant”
Privileges: Check All

Run WordPress Installer:

Download WordPress and extract to: C:\xampp\htdocs\mypress1\  your path should be similar
Browse to: http://localhost/mypress1/
Enter database info from above.
Finish Installer…

Your Done!

Sync Existing WordPress

So you might be asking, “I have a production site and I just ran through installing XAMPP. How do I get the production site onto my local box?” Good thing you asked, I have a handy little plug-in that I wrote that will help you perform this task. Just watch the video below and then download and install the duplicator plug-in and you’ll be ready to start developing like a pro. If your feeling brave and would like to try and move the site manually checkout this article on How to Manually Move a WordPress Site.

Administer Like a Pro

If you’re like most WordPress administrator’s you simply update plug-ins and the core of word press on your production site without realizing that these updates are editing core files and core database tables. This is going to work for you 99% of the time but it’s that 1% that could bring your site down and possibly cause outages for hours. Sometimes I experience people who have had their website down for days by simply installing a plug-in.

Individuals who administrate there WordPress sites like professionals have the two-tiered system I mentioned above in the section “Develop like a pro.” The systems don’t have to be 100% in sync; however, they should be somewhat close. So, before you do any upgrades or play with a new plugin  simply install it on your development site to make sure everything looks good and you have it configured just how you want and then perform the same action on your production site.

What Do You Think?

182 thoughts on “Do You Localhost Your WordPress?”

  1. Wow, this is a great post! Thanks a lot for the information.

    I just ran through the video and I now have my own WordPress setup on my own box.

    Now I feel like I can make a lot more changes or experiment without breaking my production site.

    Thanks again!


  2. Hi Cory,

    I discovered your site – and ultimately your magnificent Duplicator plugin – via the long and painful process of establishing a powerful security suite for (self-hosted) WP users.

    First off, I’d like to extend a heart-felt “Thank you!” for both such a great great plugin, as well as the equally excellent tutorial above. As a dedicated Linux user, I have never been able to find a suitable localhost solution… that is, until now, thanks to you.

    The possibilities that your tutorial have opened up simply make the mind reel with all of the exciting possibilities… easy to get unfocused.

    Anyhow, I have a quick question I was hoping you could shed some light on. I got localhost running totally successfully and was about to set up a mysql as per your instructions when I encountered the following warning:

    “Your configuration file contains settings (root with no password) that correspond to the default MySQL privileged account. Your MySQL server is running with this default, is open to intrusion, and you really should fix this security hole by setting a password for user ‘root’.”

    Any idea on how to go about this in Linux (Mint/Ubuntu)?

    Many Thanks in advance!

    Best regards,


    1. Hey Mark,

      The error you are getting on a localhost box won’t really matter since it is just a development box, however to answer your question and get rid of the warning in phpMyAdmin you can follow these steps.

      Browse to http://localhost/phpmyadmin/

      Create database user: Privileges -> Add a new User
      UserName: “root”
      Host: “localhost”
      Password: “whateveryouwant”
      Privileges: Check All

      After you change the password for root, you need change in $/xampp/phpMyAdmin.
      Open in a text editor, and find: $cfg[‘Servers’][$i][‘password’] = ”;
      Insert your root password from step 2 in the above ”. Save your
      Reopen your phpMyAdmin in the browser and the message should be gone.

      Hope this helps!

  3. Hello,

    One thing I am confused on is getting the newly developed site back onto the host server without messing up the activity that happened in the mean time. Such as, new comment and posts. It sounds like:

    1. we would have to backup the “live” sites’ database
    2. install the duplicate file from the “development” site to the “live” site.
    3. If I then restore the recently backed up database to the newly upgraded “live” site will it mess with my recent changes in development or will it simply keep all of my posts that were just backed up in the database?????

    Wondering what the right thing to do is.

    1. Hey Mark,

      Here are a few rules I follow.

      This is before a site goes live. At this stage I do all my development locally and setup my WordPress as I see fit. Then I upload the package and installer generated from the Duplicator plugin on my development box up to my production box or host. I then run the installer and I have a replica of what I just spent weeks developing.

      Once a site goes live I only duplicate a site the other way which is from production (my host) down to my development box. This of course only happens when I no longer need the state of my development WordPress instance. I use my development box as a playground for what I want to happen on production.

      Once my production site is duplicated onto my development box my sites are in sync temporarily. I then start the process of whatever project I have to work on and integrate all the changes on my development box. I usually keep a log or 90% of the time just know what I’m changing and working on. I then either FTP my custom files or reinstall any plugins directly onto the production site, based on all the changes I made on my development box.

      Any type of configuration is duplicated (like a plugin setup). However I know what the plugin or changes are going to look like and how it will function because I did all my testing on a development box. Now I don’t have to worry about installing a plugin and trying to tinker with it on a production site. I was able to make everything perfect on my development box and then push those changes to the production without messing up my production site. It also allows you to test a plugin or changes to see if you even want to use that plugin.

      Hope this helps!

    2. Alright I think I understand.

      1. duplicate live production site to development box.

      2. develop, then install development site to production site.

      3. when needing to make changes to production site.
      a. duplicate to development.
      b. develop.
      c. do not duplicate back to production site.

      4. copy files needed from development site to production site.
      a. put up maintenance mode on production site.
      b. copy files from development to production via ftp.
      Question: Which files do I copy?
      – Is it alright to copy the whole /wp-contents/ folder or will that mess up the

      5. take maintenance mode down and let visitors enjoy

      1. Hey Mark looks good!

        A few comments on your steps:

        Step 2. This is a manual process, so every plugin that you installed and configured on your development box you would need to re-install and configure on your production box. However in most cases you don’t need to worry about maintenance mode, because you already know it works on your development box and you have tested thoroughly. Most plugins are pretty simple, just install and make a few changes. However if its a large complicated plugin that require quite a bit of setup then maintenance mode may be necessary, its really your call.

        The underlying benefit to this process is that you can make easy changes to your site whenever you want with confidence, without having to wait for odd hours to go into maintenance mode.

        Step 3. You don’t really need to do this every time you want to make a change. In fact your development and production site can stay out of sink for quite some time if you want. You really only need to perform this step when you feel your development box (aka playground) is not representative of your production site.

        Step 4. If you are only working with plugins then you don’t have to FTP anything. Just install and configure with the settings you did on development. However if its a custom WordPress template then all you have to do is FTP the template file(s) and configure your new WordPress ‘Page’ to point to that template. You really don’t need to write your posts on a development box because you can just use the preview mode till you decide to publish the post.

        Step5. As I mentioned before maintenance mode isn’t really necessarily needed unless your doing large changes that surfer could access. In fact lots of time I will make large changes directly on a production site as long as they can’t link to the feature I’m implementing. Once I’m done I then put up the link so they can get to it.

        Many people use maintenance mode to test out plugins on there production site. That is a very bad practice. Plugins can conflict with other plugins causing problems on your site, so its important to always test these in a development environment. Anytime you have to put your site in maintenance mode you may ask yourself why.

        Maintenance mode is not necessary if you have already done diligence on a development box. I have been developing for over 20 years and implemented tons of website and probably only used maintenance mode 2-3 times. Now to be realistic maintenace mode is no big deal for a small blog, but if your site is averaging thousands of visitors a day then you don’t want downtime.

    3. Hey Cory,

      Thanks for all of the great info! And thanks for editing the format on my reply. I didn’t realize it would all align:left.
      “However if its a custom WordPress template then all you have to do is FTP the template file(s) and configure your new WordPress ‘Page’ to point to that template.” – Cory
      I am looking more at customizing the template for the entire site, based off of another template and editing the code.


  4. @Corey and @Mark – Thank you for precisely explaining the sync process and when it it not necessarily needed.

    Do either one you ever experience distinct anomalies with xampp that you do not experience with a live web install for a development box/playground? For example, a particular theme I’m rather fond of has a drop down widget area to the top. On the web, works correctly. In xampp, it freezes (will not drop down).

    There’s a couple other minor anomalies; enough to cause me to (sadly) abandon xampp.

    Have either of you experienced any anomalies via xampp that were no encountered via a live web production box?



    1. Hey Mark,

      Totally understand your pain! Anomalies are definitely a part of software development. There are times when I work on identically hardware and software and still get different results. Software is far from perfect and I have learned that as a developer or consumer of these products you have to learn to work around the issues and try to pinpoint the underlying problem.

      The problem most likely isn’t with xampp itself, but one of its underlying components. All xampp does is laydown PHP, MySQL and Apache. So the problem could be as much as a mis-match in one of those versions. You may have to go to an older version of xampp

      Sometimes minor things such as using PHP 5.3.1 or 5.3.2 can cause enough of a minor difference to cause things to not work. Then you have the conflicts of operating systems. Right now I do all my development on a Windows 7 xampp and then push everything up to a Linux host. While 95% of things work, I still get the strange anomalies which can sometimes drive me mad. But I usually find a way to fix it or work around it.

      Sometimes strange anomalies can also point to poor development design, which should help you identify the better plugins. In other words the plugin or software developer only tested on this one browser under this one version of PHP. In software development and especially web development that is a huge no-no.

      Try to get your versions of PHP, MySQL and Apache as close as possible. Also test in several browsers to make sure its not systematic of just one browser. You may also email the plugin author or post to the WordPress boards and see if someone has had a similar problem. Most likely your not the only one to experience the problem. If your still are not able to get your development box perfect that’s OK. Keep in mind its a sandbox to play in and tweak your settings.

      If the anomalies are too great and you just can’t find a work around on the xampp platform you could try some of these:

      You can also just Google ‘xampp alternatives’. There are quite a few out there. I have had the best luck with xampp.

      Just keep in mind that in the world of software development its very critical to isolate your development and production, especially if you making any type of cash-flow or have and audience. So either use xampp or another consolidated WAMP/LAMP packager and remember to always do your tinkering on your development box and leave your production box for your audience to enjoy…

      In future articles I’ll try to write some tutorials to show people how to identify these problems on there box so they will know the right questions to ask when they go into the forum. It’s important if you plan to do these sites on your own to have some very basic know-how of HTML, CSS and the ability to debug JavaScript. You won’t need to know how to program, but understanding what technology is actually causing the issue will help you get your answer so much faster.

      Hope this helps releave some of your tensions!
      Believe me I know exactly how you feel :)

  5. Hi Cory,

    My apology for misspelling your name above. And awesome, in-depth answer. It definitely gave me a renewed confidence to give it another shot; even despite the the anomalies.

    Since I am a dedicated Linux user I’m blessed in being able to have lampp configured to silently run in the background right at point of boot up. Absolutely no having to “launch” it when I need it … local server’s always running if the computer’s on.

    As you can imagine, that was an extremely hard proposition to walk away from.

    Prior to hearing your above response, I was running both a production box and a dev box (on it’s own toplevel subdomain) on my host account. On the upside, it was as close to 1:1 as could be realistically expected. On the downside, it had nowhere remotely close to the response time that running your own localhost has.

    Moral: Thanks to your most excellent insight in this regard, I am going to stick with lampp. A few minor anomolies are quite acceptable when the speed factor is taken into account. Thanks Cory!

    Best regards,


  6. Hey Guys, love your Duplicator plugin. I’ll definitely be doing a write up on it at Good work. Sign me up for that newsletter!

    And to answer your questions on this post, yes… why yes we do! In fact, we’ve deployed an XAMPP mashup that makes it even easier for developers and designers to work on multiple WordPress projects, try out bbPress, BuddyPress or even take WordPress Multisite with domain mapping for a spin. All on your local box, and cross platform too. Check it out!

  7. Nice post- I develop on localhost on my Win7 box using IIS7.5 server (inetpub)& IIS Express
    (WebMatrix). Both of these are Windows products which fit well on a Windows computer. My old computer ran Vista & I did use XAMPP on that for my localhost & that was fine but I have no reason to use XAMPP on Win7.
    Currently I have a problem with TweetBox not authoring on my localhost IIS7.5 but I hope I will sort this out soon! There are always issues with all these technologies….but there is always a way around the problems!
    Happy localhost developing :-)

    1. Hey Richard,

      By day I’m a C# developer pretty heavy on Windows, and really love playing with WordPress in the evenings. I have a good friend who uses WebMatrix and loves it! I’ll have to give it a try soon, it looks pretty nice!


  8. I am kinda new to wordpress so being able to develop on my local system and move it the live server is great : and thanks everso for a great product which happens to work most of the time – however I have a specific problem where I moved from one server to another and it did not change the permalinks or settings – whenever I go to change them in the new site it shows the name of the old site (in the browser) – the new site is and the old site is

    I was wondering if you could email me any suggestions?
    Thanks in advance.

    1. Hey Ann,

      If you want to go ahead and submit a support ticket at I can work with you so we can get it up and running on your system.

  9. Just spent the morning trying to install an application on my hosting site using MySQL. Found out that it won’t run there, and realize now that I’d be better off with this application running on my local site. Until now I didn’t know where to begin, but your video provides the exact information I need. Well done and thanks!

    And after poking around your website for a little while, I think I’ve just discovered a new favorite place. Nice work.

    1. Hey Tip,

      Glad the videos were helpful! I think lots of people don’t really know about using WordPress on their own computers, it can definitely allow you to tinker with ideas and try things you normally wouldn’t on a live site. Thanks for dropping by and taking the time to chat!


  10. Wow this really worked. I was able to sync my live site to my local computer. Once I made a child theme, oddly all the live sites widget customization’s disappeared, but then I simply reactivated them in the widgets for them to reappear in the child. Did I miss something on this point?

    Now I’d like to upload the new local child, but I’ve never done this at all. Can you please either tell me how or point me to a good tutorial. Everything I’ve seen via Google makes it look needlessly complex.

    Thanks for the great tutorial and idea for developing locally.


    P.S. How did you get the two check boxes below with the “Sign me up to your newsletter!” I’ll want one of those.

  11. Hi Cory,

    What I mean to ask is how do I upload the entire customized “Package” (WP, Theme, Plugins etc) to a live server once I’ve customized it locally? I’m sure this is very basic, but I’ve just begun and I’m totally confused.


    1. Hey Corl,

      Yeah your right it is a bit involved. Probably not something I could explain in a comment. I’ll try to get a video out that explains the process or at least will try to walk you through it a bit…


  12. Hi Cory,

    My production server (Bluehost) uses php version 5.2.17. The localhost Mac OS XAMPP I installed today uses php version 5.3.1.

    A.) Do I need to ask Bluehost to upgrade to 5.3.1? (Looks like 5.4.10 is the current “stable” version.)

    B.) Can I downgrade my XAMPP php version to 5.2.17? Should I, and if so, do you know a good info link for doing that?

    C.) Should I ask Bluehost to upgrade to 5.4.10 and upgrade my XAMPP localhost to 5.4.10? If so, do you know a good info link for doing that?

    D.) Why would Bluehost seemingly be so far behind in its php version? When a host upgrades php, is it on a per user-site basis upon request?


    1. Hey Ken,

      Looks like Corl answered a good portion of you questions. Thxs Corl! Its technically ok to run different versions. My preference however is to try and keep my development box and my hosted systems at least at the same minor version. So if I’m on 5.3.x at home I usually like to keep my vps/hosted sites at 5.3.x as well. A good host should update the revision number 5.3.x (the x part) automatically if it contains any security holes, which technically on many software projects is what that place holder is reserved for…

      Hope that helps!

  13. I’m testing Duplicator by transferring a test site on to localhost XAMPP with PHP 5.2.8. I get an installer fail because it is looking for 5.2.17+ yet I see 5.2.8 on one of your demos. All other points on the System Status pass.

    1. Hi Martin,

      The 5.2.17 check was probably added a bit after the demo. 5.2.17 is the most stable and secure of the 5.2 builds. If your using anything lower it will have security holes. Also php 5.5 is right around the corner being a one man shop its really to difficult to support so many versions for the Duplicator…

      Hope that helps!

    1. Hey Bill,

      Thanks for stopping by… If your behind a good firewall, keep good antivirus and have a small network of very trusted users you should be fine. Otherwise on a bigger internal network you might have to consider your options…

  14. Hi Cory,

    Great post, and thank you for putting in so much effort to develop a wordpress duplication solution.

    Can you please clarify something…

    Do we first create an empty wordpress instance at the new location? Or do we simply create a new (empty) database, and the plugin installs wordpress plus everything else?

    Assuming we only need to create a new database (and not wordpress), where do we upload the package? Does it go beside the installer script? And do we need to unzip the package first?

    And one last thing… what if we want the duplicated instance to live on the same host as the production site, i.e. in a sub-directory called dev, will there be any conflict or risk?

    Thanks again, Ross.

    1. Hey Ross,

      Thanks for stopping by… I think all of your questions or at least most of them can be answered here:

      You don’t need to unzip the file it should do it for you…

      For the last question I would avoid doing dev work on a production server, but if you do all you should have to do is change the paths of the url and the file system… Be sure to always have backups of all your data just in case you run into issues…

      Hope that helps!

  15. Hi Cory,

    Thanks for the quick start guide.

    When I run the installer it halts on Step 1 and prompts me to download installer.php, have you come across this behaviour before? Any suggestions?

    Thanks, Ross.

    1. Hey Ross,

      Go ahead and submit a support ticket and we can talk about it in the ticket thread!


  16. Everything as you said until I get to the part about where I log on at localhost/ at that point it doesn’t log onto the xamp page, but instead goes to another page (“Welcome” IIS7 Internet Information Service) It does this even if I type localhost/xamp/

    I have running but it wouldn’t run on port 80 so I reset it to port 21, 443 and it’s running.
    It might be good to mention that I also have microsoft server 2012 installed and microsoft visual studio pro. Would these conflict?

    Thanks for any help or advise.

  17. This might be a really silly question, but I am completely blind to the answer at the moment. I am in the pre-install phase on my localhost and my system status indicates that the Root Directory has a problem: “Is Writable” has a [Fail] beside it. What is the appropriate way to fix this?

    Thank you in advance! The videos have been extremely helpful and I appreciate the fact that this plugin exists!

    1. Hi Sasha,

      Thanks for stopping by… Actually that issue is related to how you have Apache setup. Unfortunately there is never a one size fits all solution for these issues. It tends to change across XAMPP versions and then adding the combination of Operating Systems and it gets pretty crazy on how you can solve the problem… The way to pin point your exact setup is to ask Google with a detailed search… So if your running windows on XAMPP then put a search like “XAMPP make directory writable windows” (clear here).

      You will probably come across several solutions. Try each one and then don’t forget to restart Apache (press start/stop in the XAMPP control panel) if you perform any instructions that ask you to edit your httpd.conf file.

      Hope that helps!

  18. In a previous job I had my own server to develop on. It was sah-weet!

    But, after moving on I lost that luxury. So I bought a used Dell Server and used the free VMware ESXi to host various virtual machines for WordPress and Joomla available from JumpBox, TurnkeyLinux, Bitnami, etc. I even rolled my own using a LAMP VM.

    After a while it got to be a hassle keeping the box running, updated, etc. so I started using VM’s on my Macbook, but that takes a bit of resources I didn’t care to lose.

    Finally, I found ServerPress. What a great product it is too! I think it’s built on XAMPP but all the setup is taken care of. In short, it’s the perfect solution.

    Combined with the Duplicator plugin it makes the PERFECT development environment.


    1. Hey Mark,

      Thanks for stopping by… I have been told by other people that both products work really well together, thanks for your feedback!

    1. Hey Chuck,

      I have seen server-press before. Have not used it yet, but heard really good reviews. If you ever give it a try let me know what you think…


  19. I can’t find the answer anywhere so thought you might be able to help:
    When I try to activate my duplicator I get a fatal error:
    fatal error: cannot redeclare class Duplicator_Zip in my site plus/wp-content/plugins/duplicator/classes/ on line 3

    can you tell me what might be causeing it? I am trying to move tons of sites to my localhost on my computer but this was my first one and I can’t activate it. LOL
    My host is Bluehost thank you, hugs Elsie

    1. Hey Elsie,

      Thanks for stopping by… Can you go ahead and use the ticket system for asking questions on the Duplicator?


  20. Hey there! Quick question that’s totally off topic. Do you know how to make your site mobile friendly? My web site looks weird when browsing from my iphone 4. I’m trying to find a template
    or plugin that might be able to fix this problem.
    If you have any recommendations, please share.
    With thanks!

    1. In the left navigation of this site check out the link “This sites theme is powered by Alyeska”
      It will take you to a theme that is mobile ready…. Enjoy :)

  21. Hi there.

    Any chance you’d consider making a tutorial about how to transfer you locally hosted website to a server? I have created a wordpress website hosted locally on my laptop and would like to put it on my hosting provider (bluehost).


    1. Hey Maitri,

      I plan to create a series of videos to help cover the various scenarios sometime in the future. Thanks for the feedback!


    2. Hi Maitri, have you found a great tutorial that you recommend for this? I created a website locally and want to replace a Joomla website on Bluehost.

  22. What fantastic tutorials! Of all the WordPress tutorials I’ve been drowing myself in for the past week, yours are head-and-shoulders above the rest–concise, packed with information, and delivered with style.

    However, I’m still confused about how to migrate a site produced on my localhost onto a web server. Your tutorial about Duplicator very nicely explains the reverse situation. For nervous newbies like myself, it would be great if you would consider an addendum to the Duplicator tutorial about how to move a finished WordPress site from localhost to a live web server.

    The next question is somewhat related. I currently have an ugly HTML site that has been there for years, which I will replace with the WordPress site. It has reasonably good SEO at present. Are there any SEO pitfalls to watch out for when replacing an HTML site with a WordPress site?

    Thanks for your time.

  23. I used to follow exactly what you suggest, I have however stopped updating the local server 1st. I now make sure I have a working copy on the local site, and then update the production site. I keep the local copy running the old version.

    The reason I started doing this was, it’s really impossible to test everything locally, and I’ve found issues after the production is live, and now both my local and production is running the update and the issue is in the update. I keep a last backup but now I have to restore two sites, and go through and find the error on the local.

    As you said 99% of the time everything works fine, so for me this has worked much better. I only have to restore the production, and can slowly go through the local install updating piece-a-meal and find the issue. Then apply the update again to production.

    1. Hey Shari,

      Thanks for the feedback! Actually there are many times where I’ll update the production side first when I know the change is safe to make. This has saved me time on many occasions when I really didn’t need to do the change on my development box. I think many times it about understanding your workflow and then executing what is the most productive for your setup…

      Thanks for sharing your experience :)

    2. Great post, coming from a professional web-dev background I can’t recommend this highly enough.

      One thing though, you really should be running THREE systems/servers:
      – Local (xampp/mamp on your local computer/network).
      – Testing (On the same server, with exactly the same specs and your Live site. Restricted via whatever mechanism you want (.htaccess, IP whitelist, etc) so that only you can access it, you don’t want people, or the search bots getting onto it).
      – Live / Online that the rest of the world see’s.

      This lets you test locally until you are happy, and then you can push the changes onto the test server and test there. As Shari said, all too often xampp and a live server don’t match (think write permissions, differing PHP / MySQL versions, misconfigured .htaccess files often work locally but crash online, etc, etc).

      Once you’ve got your local and test running smoothly you can rest assured that working 99% of the time goes to 99.999%.

      Maybe you’d like to do an “advanced follow-up” of this post, it looks like you have a great bunch of readers on your site, many who I think would benefit from this.

      Anyway, kudos to you to bringing standards and good coding/development practices to the public.

      1. Hey Tim,

        Thanks for stopping by and very well said! I use the setup you mentioned on several sites… When you start doing this stuff professionally you pretty much have to do it right or you’ll end up with issues… Never thought about a follow-up but I it may be worth it, currently working on the next version of the Duplicator which seems to consume quite a bit of time…


  24. I have installed XAMPP on my local machine and there is an empty wordpress installation waiting to go. I have a live wordpress site that I would like to clone so that I can run it on my local machine. I have installed the Duplicator plugin and built a package. I downloaded the installer.php file and also the file. But I don’t know where to place these files in order to run them. They are sitting in my Downloads folder — where should I put them in order to run the installer and build the clone of the site on my local machine?

    By the way, thanks for your excellent work.


    1. Hey Jon,

      Thanks for the feedback and stopping by! You will want to place them in the root of your web folder, or any directory that you can browse to via a browser such as http://localhost/mydir/ You can also checkout the quick start faq online as it helps explain some of this…


      1. Thanks. I’ve since taken a much more thorough look at your documentation. I’m impressed with your work.

      2. I must admit, however, that in spite of ten years of programming experience and several days struggling with your technology, I was never able to successfully get it to work. You sure weren’t kidding when you mentioned that it requires deep technical expertise. Maybe I’ve just overlooked something. In any case, life must go on.

        1. Hey Jon,

          I left a few links on the WordPress forum that might help. You might also check the httpd.conf and make sure all your root directories and paths are setup correctly… Unfortunately one miss setting and it can cause the whole thing to not work…

  25. Thanks for a great article!

    How do you push over the changes from the development site to the production site?


  26. Really nice Cory! I like your easy to understand writing style – and I think your Duplicator plugin is brilliant! Please count me as grandfathered-in when you start monetizing the plugin, k?! ;-) I wonder how your features compare to BackupBuddy – seems like they (potentially can) do the same thing?

    Q – when the site gets cloned, what happens to the SALT Authentication and unique security features that each individual WP and DB installation has? Do you recommend reconfiguring the SALT and … other security issues once they are in the new location (assuming they are in another live environment)?

    – JR

    1. Hey JR,

      Thanks for the feedback! Right now nothing happens to the SALT Authentication. The only thing that is updated in the wp-config are the database creds. I don’t normally update the salts unless I’m working on a clients site. Then I just google for ‘WP salt generator’ and there are few on the site that will give you new ones… The best security I believe is always SSL your admin and include a good solid wordpress plugin like ‘Better WP Security’ and use strong usersnames and passwords… Also an overlooked security practice is to always stay humble online… Don’t ever say or do something that gives someone a reason to hack you just because they can…


  27. hi, im still newbie about hosting domain , specially xampp
    i read in several articel that xampp is really fragile about secure, is that use xampp is make hacker more easier to screw our web? and if we download file WP to local (use FTP) and work offline from DreamWeaver,text editor then upload after finished, this way more secure right then use xampp? CMIIW

    1. Hi Daniel,

      Thanks for stopping by… XAMPP is not secure and you should only use it in a development environment, never in a production environment… You can workoffline in Dreamweaver, but you won’t be able to use PHP or WordPress in that case with out a web server and PHP installed. I hope that answers your questions…


      1. i see Cory, thank you for your advice, i think i will use WAMP than XAMPP, i heard and see is more simple and good updates. why u not use WAMP? :)

        1. I have never really played around with WAMP too much, I have nothing against it, probably just never really had the time to play around with it much…

  28. Cory:

    I am just getting into local development for my clients. I also use XAMPP. Is there a way for me to show my clients the site on my local computer without having to transfer it to the production environment? Thanks.

    1. Hey Brian,

      Thanks for stopping by and sorry for the delayed response! If you want to keep the site only on your computer then probably just a desktop sharing program would do best… Do a Google search for ScreenLeap or CrossLoop and I believe Skype also has an option as well… If you just want to do a proof of concept with them you could just use SnagIt…


  29. How can I test the website perfomance (speed) with in local (Wamp)?

    I have WordPress installed in my PC to test changes before I upload, and most of that changes I want to are related with page speed( Php, Css, plugins)… but I don’t find anything to test perfomance in local.

    Do you have any idea?


    1. Hey Pedro,

      If your on a shared host server (which most people are) then its not really worth the time to optimize heavily for page performance, because what you see on your WAMP server will never be a close one to one ratio of what you would get on a shared hosted segment. The main reason is that your at the will of other websites that are hosted on the same server. So you may be getting response times of 500ms on your WAMP but then your getting 1.5seconds on the host because of other shared requests. And this 1.5 seconds can wildly vary as you have no idea what the other websites are doing…

      However if you have your on VPS or even server then the exercise will be worth it, because your WAMP server will more closely represent a dedicated server. Remember you also have to keep in mind how much traffic your going to get per day. If your serving up multiple request per second then this will impact the performance and you will need load balancing tools to simulate load.

      For WordPress you might look at the Plugin Performance Profiler and if your know how to program you can look at this one. Also have a look at this blog post.


  30. Thanks for this article, Cory.

    Quick question about the way Duplicator works from an administration point of view …

    If I grab a copy of an existing, live site, and install it locally on XAMPP, then make design changes or update plugins, core files (WP version), etc, do I need to delete the live site before using Duplicator to upload the development site? Or does Duplicator manage overwriting an existing site?

    What’s the best strategy for updating live sites?

    Thanks in advance.

    1. Hey Stephen,

      Thanks for stopping by… Right now the plugin requires and Empty Database and Empty directory (except for the installer and archive files). Personally I don’t use the plugin to migrate to production, unless its the first time the site is going live. Normally I just duplicate the latest production version down to a sandbox area and test and develop locally, and then make the same changes again in production. Most of the changes I make are pretty easy to track from revision to revision.

      Technically you can take the approach mention however if you have session data such as stats/comments/shopping carts etc. then you will loose the production data if the database gets out of sync… So short answer the plugin does not manage any type of version control for you…


  31. Hello Cory,
    i already done work my wp from local, and already instal duplicator, and now i need to upload it to my live wp (still original).
    i think the easy way is to duplicate from local use Duplicator and then import from live Wp.
    is it enough or i need to configure anything else ?
    can u assist me with link tutorial how to do that?
    anyway i love your header :D Cool !

  32. Hi,
    I do WordPress localhost as you may know from my earlier post here and I now do this with IIS on my Windows8 PC (previous PC Win7).
    On setting this up on Win8 PC, I also followed the steps to make the WordPress install multisite on IIS localhost (as my WP online blog is also multisite). This worked fine and if anyone wants to do it there are x2 good reference pages @ WordPress Codex with instructions how to set up.
    So, happy WordPress localhosting and if you are on Windows do try IIS (or even IIS Express/WebMatrix and you can run XAMPP/Apache server alongside if you want experience with a Linux type server-and so get the best of both then!) :-)

  33. Hi there Cory..
    Great site and great tutorial. I stumbled upon this while trying to figure out how to easily, (for a newbie), sync between my locally dev site and my live one in HGator. I only went live yesterday, and didn’t think there will be any issues syncing between the two, but realized it’s not a straightforward process. I used Duplicator plugin to go live, which at the end, made my life simpler, (especially after my FTP failed to upload the entire site halfway through). While I can follow your suite and test things locally and then do these changes manually in my live site, I just refuse to believe that no one has come up with either a Sync plugin or a simple method to safely sync the two sites.
    What files does one have to manually upload via FTP to sync let’s say, content, pictures, etc? Or is not again straightforward with this method either?
    I appreciate your time and views on this matter..:-)

    1. Hey Tony,

      Thanks for touching base! If you want to sync just the database then ‘WP Migrate DB‘ is going to be the fastest most versatile way to sync system.

      Hope that helps!

      1. Thanks for your swift reply Cory…I really appreciate it..! I will definitely be using this plugin sometime in the near future as my works becomes more hectic…!!!

  34. s also the manufacturer of the world-famous Regza line of LCD
    television sets. Canon is going to launch its new flagship DSLR- Canon EOS 1D
    X in March 2012. It brought along with the reputation of Volkswagen for strong dynamic performers
    along with European flair.

  35. I really enjoy these kinds of articles and wish more people would do changes and edits to a local deployment of their site. A free product out there that can make it much easier to deploy a local webserver is Desktop Server. I’m not affiliated with it at all, just a regular user who likes good tools.

  36. I’m having problems reinstalling live website onto an instant wordpress instance. The issue is with authentication.
    Host=> localhost
    password=>blank (none)
    Name=> wordpress

    With no success.
    Any advice?

  37. Rahul Venkatram

    Thanks a ton!!

    Had a few hiccups since the tutorials don’t really say which directory to copy the .zip and the installer.php file to. but figured it out eventually and now it works like a charm.

    Thank you.


    1. I think I followed all the instructions, and I get the page template with a 404. If I browse to the folder http://localhost/1websites/wp-admin it redirects me to the production website/wp-admin instead. That would be magical if it was what I intended, but it is not.

      I spent all day on this and am stuck. Don’t know enough about php, apache, or mysql to even ask an intelligent question on your help forums.

      1. You can post a ticket to the help forums if you want Steve and I can help you better there…


  38. Heather Calton

    Hey Cory, do you offer any tutorials or information regarding your Duplicator plugin and how to synchronize or reconfigure it with a localhost database (mySQL/WAMP)? The tutorials you offer all relate to external databases. There are a few on the net but they all deal with older versions of Duplicator. Your help is greatly appreciated.

    1. Hi Heather,

      I don’t know of any off the top of my head. What issues are you having and I could probably help guide you in the right direction…


  39. Why not try WPDevMate which integrates Cory’s Duplicator plugin script and is a really easy and fast way to Install and Deploy multiple WordPress projects. It’s also cross platform compatible because it runs in a standard web browser. You can also download a portable server version of WPDevMate that runs on a USB stick for Windows.(

  40. Hi,

    Yesterday evening whilst doing some development work in localhost I inadvertently exited XAMPP instead of just closing the window. Since then my localhost wp-admin login is just a blank white page, “view source” has no code in it.

    I reinstalled WordPress and it didn’t fix it. Tried repairing and analysing the MySQL database and it made no difference. My localhost website is accessible with no problems, its the admin interface I can’t access. I tried removing all plugins and themes other than the default Twenty Ten but no good :(

    Any suggestions?

    1. In your wp-config try and set this value define(‘WP_DEBUG’, true); and then see if you see any errors…

    1. Hey Habib,

      You can’t publish from your own computer to a production site. Basically you will have to cut and paste the data, although if your wanting to sync the databases you can try WP DB Migrate

      1. That’s not true, Cory — if you are using DesktopServer! With one click, I can push my dev sites from local to production, and that includes the tedious task of changing domain urls (e.g. from to ) There’s even a WP plug-in that facilitates that transfer. I used to do local setup of server and all of the manual steps in transfer and upload and balked at DesktopServer. Now, I refuse to work a day without it. It’s that good. Boy, I sound like a sales person. I’m only a user..a happy one.

  41. Hello,
    Thanks for this great guide, answered a lot of my questions. I am a new web dev coming from a program dev background, doing this as a new hobby and favor. I am trying to edit an existing website made through wordpress. I have wordpress and xampp installed locally, and everything seems to be working. I can play with the default “hello world” blog from wordpress locally, so I assume I got it all correct so far. I see that you made a plugin to sync a remote site a local one. My question, if you don’t mind me asking, is what exactly is the plugin doing? For educational purposes, I’d like to learn how to copy a remote site manually. I am more comfortable in writing pure html/php/css code than letting wordpress handle everything, and I only have a basic understanding on how wordpress is translating the visual changes to actual code. Eventually, when I want to upload the changes I made locally to the live website, what should I do?

    Sorry if this has been asked before, but there’s a lot of comments extending back 3 years.

    1. I should mention that I have ftp access to the website in question and downloaded it in full already. However, when trying to navigate to it via xampp, it directs me to the “hello world” blog with wordpress.

    2. Hey John,

      Basically it creates a SQL script and zips up all your files then at install type it creates the new database, extracts the files and performs replace logic on the data… A bit more going on under the hood but that is the basics…

      Hope that helps!

  42. Hi Cory,
    Great tutorial video on using XAMPP, very thorough.
    Only comment – if edit the wp-config.php file with all database stuffs, including the DB Administrator name and password first, would it streamline the install process.

    My 2nd question – WAMP seems to be more streamline, do you have a video on it?

    1. Hi Robert,

      Editing the wp-config ahead of time could help if you already had your WP site setup… As far as WAMP I haven’t really played with it, but would like to when I get some time…


  43. I have spent a miserable day trying to use the plug in to get my localhost MS webmatrix wordpress site up and running instead of the ugly little site sitting on the Networks Solutions server. I failed.

    Maybe I am just duh, but I am defeated. Nothing was successful about using this easy plug in. Any help would surely be appreciated. I’ve searched and searched and found no step by step that actually worked.

    1. Hi Viki,

      If you want to submit a support ticket here:

      I can better work with you there…


    2. Hello, I have bitnami installed and am using the local host environment to redesign our current website. I would like to work on 2 other sites at the same time, so I am looking to install Desktop Server. In order to do this I need to install xampp. Do I need to uninstall Bitnami to do this? If so, what is the safest way to do this without losing any of the work I’ve done and when I upload those files into the new configuration, will they appear the same as in the Bitnami environment? Thanks for your help!

      1. Hi Judy
        Why not use WPDevMate which also integrates Cory’s Duplicator plugin script. You can install, run and work on as many WordPress projects as you like, and you don’t need to install anything else – you can also run it from a USB drive. If you don’t want to lose your existing work, use Cory’s Duplicator plugin to back up your existing website and import it into WPDevMate. Visit and look at the section ‘How to Import a Website from a remote location’ for more details.

      2. You should be able to run multiple web servers on the same box, you just will need to make sure they are not running at the same time as there would be a port conflict…

        Hope that helps!

    3. Vicki, I have spent an equally miserable day doing EVERYTHING to try to get xampp to work on windows 7 – ive done my hosts file, changed my ports, restarted, run as a service, used the interconnectIT script and more…nothing worked…i was really at give-up point… i tried so many things… I went and tried WAMP and it worked first time, effortlessly using this AMAZING plugin.

      thank you SO much dev – my move to localhost worked as easily as your video, but with WAMP, so thank you thank you! – anyone else struggling with XAMPP, try WAMP and vice versa! it was so unbelievably easy after all the struggling with XAMPP… this plugin does it all and wamp was so effortless (just install and browse to localhost, bam – it was there, setup database, moved the Duplicator files to the folder and browsed to the installer.php.

  44. I have recently started building a website for a client on WordPress using BitNami. Would you recommend using xampp instead? What is the difference between the two?


    1. Hi Alyssa
      xampp and Bitnami are great, however, In my humble opinion, they are too bloated – especially If you’re just developing WordPress websites. Try WPDevMate ( instead which has been designed specifically for WordPress websites, and it has a much smaller footprint too.

  45. Hi I have a question I hope someone could please give me an answer, I have just installed the duplicator plugin for the first time on wordpress hoping to move one of my sites to localhost/xampp but for some reason when i click save permalinks it directs me to the login screen as I would except but then when i attempt to login it just stays on the login screen stuck in some kind of loop! Have you ever seen this behavior before if so would you please point me in the right direction to fix this issue.

    Thanks for your time,

  46. Cory Hi,

    I am newly swtiched WPress Developer and designer. I was creating websites using Adobe Creative suite in Usaula manner like, HTML and CSS.

    I have recently created my portfolio site. I have Bitnami installed and did completed my site using WP on Bitnami. I hosted the site on Hostgaor and had to install WP from Hostgator.

    I did first export my WP site form the local host BITNAMI WP which I got XML file that wordpress xtrected file which I imported to the Hostgator WP.
    I also imported themes to the Hostagator WP as well.
    But the site is not showing up.
    What do you think what happened? Is there any problem with the data wp-config.php file or something else?

    Can you suggest me how I have to use the Duplicator plug in here in this scnario?

    Salma Naqvi

  47. Hi there, You’ve done a fantastic job. I will certainly digg
    it and personally recommend to my friends. I’m confident they’ll be benefited from this website.

  48. I was trying to follow a lot of this but I’m on a Mac using Yosemite 10.10.2 and none of the Windows stuff makes sense. I got as far as downloading XAMPP and I believe I created a database and set myself up as an admin user.

    The version of XAMPP I have shows files and subdirectories nothing like what you show in your videos.

    Then I tried to a WordPress installer program or app. All I could find were Windows .exe files which don’t exactly work on my Mac. I’m stuck.

    I have a simple web site, and sure would like to host it locally but either I’m just not getting this or you videos and instructions are out of date. Very frustrating.

    1. Suggestion to make your life easier? Go get DesktopServer and install. It’ll handle everything — and i do mean everything — you are trying to do manually. When you’re done with your WP site, two clicks and it will not only upload to your production (live) server but also change all of your urls so they match the live domain (e.g. becomes>

      When you go to build your next site, you open DServer and click to create a new one.

      Easy Peasy. Saves on wine charges.

    2. I finally got unstuck and have WordPress installed locally. Now when I go to WordPress and try to install the duplicator plug-in, I don’t see anything having to do with plug-ins. I thought there used to be a plug-in menu choice but it’s not there any more.

      How do I get your plug-in installed?

    3. I’m setup with a WordPress web site on DreamHost. I have FTP capability into the web site files. I move the package and installer into a “duplicator” directory but when I try to back and run the installer, it does nothing.

      What am I doing wrong?


      Jim C.

      1. Hey Jim,

        Go ahead and submit a support ticket here:
        and I’ll get to it as soon as I can…


    1. Hey Mitch,

      To delete a site you simply just remove the root wp folder and the database and it should be history…

    2. Hi Cory:
      The site that I’m duplicating has ssl setup. The local copy seems to be working correctly but in the address bar, I get”https://localhost…” with a red slash through the “https”.
      I’m not able to find the source of this. In the general settings the url is “http://localhost…” Do you know a fix for this?

  49. This is truly a great plugin, really appreciate your work.

    I was wondering if you’ve ever considered implementing syncing functions in the plugin for quick syncing of databases? it would be a great addition to your already great plugin.

  50. Hi Cory:
    I think I’ve got the hang of this now.
    One issue that occurs everytime is that most of the links on the login screen link to the web-based site. This occurs when I click the logo or when I try to login. If I click on the small type ‘Back to xxx” then it goes to the local site. Do you know of a fix?

    Thanks again.

    PS. I think I found a small bug. I found that if the SQL user doesn’t have a password, Duplicator’s installer won’t connect to the DB.

    1. I found a fix for the login screen issues:
      Open /Child Theme Folder/functions.php.

      Set this value:
      function loginURL() {
      return ‘http://localhost/siteName/’;

  51. A few things:

    (1) I have to ask: with DesktopServer offering a free version, why does anybody fiddle with installing XAMPP anymore? It’s so easy (even Steve can do it) to set up with zero problems on your local hard drive. Plus, DesktopServer (Premium) even recommends installing a local/dev site using your/Duplicator’s site zip file. Easy-peasy! And the Premium version of DesktopServer is well worth the price (there’s usually a -20% off coupon floating around from one of their recent WordCamp visits–check their website of FaceBook page.) I break my live site once a week at least, and thanks to always having a local/synced copy of my live site–it’s a matter of minutes before I’m up and rolling again with a restored live site. Just saying!

    (2) Would you please consider offering an Update Subscription option to let us know when the Google Drive (currently noted as “coming soon”) feature for Duplicator Pro is available? I’d update to Pro today, except that I’m waiting for Google Drive capability for auto-backups.

    (3) Thanks for a great product! One of three WordPress plugins/products which I consider indispensible and which (literally) saves my a$$ at leat once a week!

    (4) Cheers!

    1. Hey Steve,

      1. Yeah I agree DesktopServer is nice. I guess some habits are hard to break :)

      2. You can subscript to the email list at the bottom of the page. We’ll send out an update when its ready. Right now we have been working like crazy to get the plugin solid across the vast sea of hosting providers.

      3. Thanks for the Kudos

      4. Cheers~ :)

    2. Steve,

      In my opinion, developing wordpress at local server by means of XAMPP/WAMP/MAMP is easy because

      – Fast to load
      – if you want to edit the theme of your WP site, easy to edit if you connect it to dreamweaver.

  52. sir i have installed xampp server in my pc……once i shutdown my pc and again i want to run the server means it showing that server not found……i hv typed localhost in my browser and it showing the same error…please help me sir

    1. You have to goto the xampp control panel and start up the web server and db server…

      Hope that helps!

    1. Hey Thom,

      If you have a site already packaged up with a plugin like the Duplicator you don’t need to have WP installed…

  53. If I have already finished and transferred an entire website from a localhost to the remote server, how then I upload a new or additional page created via local computer (localhost) to the site on the remote server?

    1. Hey Manny,

      The Duplicator plugin just deals with an entire site, if you want to manage single pages or posts, just use the import tool built into WordPress..


      1. Hi Cory,

        Thanks for the initial info. I can only test the import tool when I already uploaded the entire website to my remote server. Anyway, I am using WampServer64 on my localhost in building my wordpress website to replace my non-wordpress site, which is currently running real-time on the net. My purpose is to just replace the site and keep the same URL. The next thing I would like to know is, which of the files in my remote server’s root shall I keep when I replace the non-wordpress site by the wordpress site I am building now?

  54. do you have any suggestions how to speed up a local wordpress install.
    I have a pretty powerful PC but any WP site I’m running on localhost loads so slow (slower then on the remote server).
    I have tried increasing the php memory by adding this to htaccess but no joy:
    php_value memory_limit 256M

    any other good practices to power up local WP?


    1. The MySqlDump option will help the Database portion of the install also not copying over files you don’t need on your site and keep the overall site size down can help…


  55. Hi Cory,
    I had already uploaded my new wordpress site from my localhost to my live server as a sub-domain of my current site for testing purposes; to cut short, configuration of database’ username and password was successful and permalinks saved. Now all pages link to each other very well except for the texts and images links from all pages where when click, redirect to the pages in my localhost. Checking on the text editor of wordpress all pages link-codes were replaced by new urls with “index.php”, while all the internal texts and images-links in pages still have the same urls as in my localhost. As I am new to wordpress, I am hoping that you can help me fix my problem. And if possible kindly, please add instruction on how I can finally replace my current site (non-wordpress) with the new wordpress now attached to it as a sub-domain, when everything is tested to be already working perfectly. Thanks a lot in advance.

  56. Hi Cory,
    What a great post and you are still answering questions … hats off to you!

    If I have a local site setup with one set of database credentials does it have to match credentials on the hosted site? I setup a site locally and need to recreate it on a host. But in cPanel, the mySQL Wizard tool is restricting how I create the credentials which will not match my local creds. Of course those database creds will match wp-config.php on the hosted site, however they will not match my db/wp-config.php on my local environment.

    Does it matter? I plan to use Migrate DB Pro to move the data. I would like to know the importance of having matching database credentials across environments.


    1. Hey Greg,

      Thanks for stopping by. The credentials should not need to match however they can if you want. Each DB on each server will have its own set of users. With the pro version of Duplicator we are going to be integrating cpanel connectivity into the installer so you can connect to your DB and select users directly from the installer installer. Hope that helps!


      1. Thanks Cory,
        Yes, your info matches what my mentor said. On sites I’ve developed and themed, I use a Vagrant environment which has it’s own local domain and IP. All site files and data are tracked in Git repos.

        For some site redesigns, matching db creds has not worked. I am grateful to learn that step is unnecessary and will use my own db creds for the local instance. I use Migrate DB Pro with the image add-on to pull and push data and images. I will look into your duplicator app for ways to implement in my workflow.


  57. Great list of wordpress plugins. As we all know that plugins are the real power of wordpress and every wordpress blogs are incomplete without plugins but choosing the right plugin for a blog is the toughest thing……Thanks a lot for the great list of wordpress plugins.

  58. Great article! Thank you.

    I’ve installed XAMP on my Linux laptop without any problems, easy peasy. Downloaded and copied the installer and duplicator backup of my WP site into the root directory of my localhost, but have run into a problem and could use some help. The installer finds an incompatibility with the versions of MySQL, localhost server is 5.5.5 and WP site is 5.5.46, and refuses to go any further. XAMP seems to have the latest version of MariaDB. Anything I can tweak to get around this?

    1. Found a workaround…

      In the installer.php file, change the database version to match the server version, in my case 5.5.5

      $GLOBALS[‘FW_VERSION_DB’] = ‘5.5.46’;
      changed to
      $GLOBALS[‘FW_VERSION_DB’] = ‘5.5.5’;

  59. Hello Cory,

    good article. question for you.

    I’ve been successfully using XAMMP and WP for a year or so now with no problem on ports 81 (Apache) and 3307 (MYSQL). A few days ago, I decided to update XAMMP as it was several versions out of date. I diligently followed the instructions online (XAMMP upgrade is apparently not trivial) by backing up my db, the htdocs folder, etc, etc. I got no error messages on install. I then changed all my ports in the appropriate config files and restored both my db and the htdocs folder. I also modified folder permissions at xammp folder and all subs to “full access”. I also modified NIS program control by adding xammp control panel exe.

    when I go to localhost:81, it just says “waiting for localhost:81” in the browser status bar. both apache and mysql are successfully started and show green in the XAMMP control panel. also, I can access the WP database in both HeidiSQL and Workbench and PHPMYAdmin (from XAMMP control panel).

    any thoughts on how to diagnose this?? I’d really like to get back up and running on my localhost.

  60. Hey! Тhis iѕ my 1st сomment hre so I јust ᴡanted to givе a uick shout out and ѕay I genuinely ebjoy reading throuh үօur articles.
    Ⅽan үou recommend ɑny othger blogs/websites/forums tҺat go oveг tһe same subjects?
    Manyy thankѕ!

  61. I am a student at university and new to wordpress.
    I would like to know how can i implement two factor authentication on my locally installed wordpress site

    Can anyone help me please
    Thank you

  62. Hi
    I’ve great info.
    I’ve just made a wp site on my local computer using bitnami.
    Works great.
    New how can I let my client access it?

    1. Hey Mark,

      On your local computer a client won’t be able to access it, but you could put on hosted server under a stage directory…

      Hope that helps~

  63. Hi Cory,
    Thanks for your post. The installation of Xampp was easy, but after that it was difficult. But I managed to import my existing site and database.
    The problem I have now is that when I go to localhost/blog it immediately redirects to my https site online.
    I already removed the .htaccess file and the code of Really Simple SSL from the wp-config, but that didn’t help.
    So I can’t access my site locally and I can therefore also not access the wp-admin to edit my site locally.
    What can i do?


  64. Wonderful goods from you, man. I’ve remember your stuff prior to and you’re simply too fantastic.
    I actually like what you’ve obtained here, really like what you are stating and the way in which by
    which you are saying it. You make it entertaining and you continue to
    take care of to keep it sensible. I can not wait to
    read much more from you. That is really a great website.

  65. I am working on a wp website on local host, but I have a really hard time making all the plug ins work even when I put them at the core folder in zip instead of automatically dowloading them in wordpress. It also causes problems for every update. It usually says “No working transports found”, but when I put the zip files in the core folder, it doesn’t work either. Also tried to add
    define(‘FS_METHOD’, ‘direct’);
    in the code, doesn’t work either to directly add plugins. Do you have tips?


    PS. I am not used with coding, informatics, etc. And also my wordpress is in French.

    1. Hi Florianne,

      To be honest I have never really heard of that issue… Maybe its a permissions issues, have you tried check the permission on the plugins directories and files?

  66. This design is wicked! You most certainly know how to keep a reader entertained.
    Between your wit and your videos, I was almost moved to start my own blog (well, almost…HaHa!) Excellent job.
    I really enjoyed what you had to say, and more than that, how you presented it.
    Too cool!

  67. From reading this I decided to try Duplicator. I usually do everything manually including mySQL queries to change settings. Pretty darn tedious. So I am excited to see if Duplicator works. On the first site, everything goes well as far as moving all files from the live site to my localhost (Xampp). But not every page layout is exactly right. All text shows up. Some background colors are absent. And every image except the logo in the header is broken (broken link shows). Checking the wp-content/uploads everything was moved correctly. Checking the media library, every URL is whacky:

    http://localhost/mysitename/C:/xampp/htdocs/mysitename/wp-content/uploads/2017/05/imagename.jpg etc.

    Is that correct? I’ve repeated the steps twice (deleting all files in the “mysitename” folder and installing fresh). I don’t see any selection I can make that changes the media links/urls. I hope there is some simple solution. It would be great to have Duplicator Pro as my routine backup and pipeline tool for back-and-forth live and offline development aid.

  68. Hi there,

    I was able to run the installation smoothly. However, after I logged in, the error message at the bottom showed up. I started over and still got the same results. Most of the other pages were working but this particular error makes it impossible to access the dashboard which I need for testing stuff out.

    Fatal error: Uncaught Error: [] operator not supported for strings in C:\xampp\htdocs\test\wp-content\plugins\LayerSlider\includes\slider_markup_init.php:83 Stack trace: #0 C:\xampp\htdocs\test\wp-content\plugins\LayerSlider\wp\shortcodes.php(218): include() #1 C:\xampp\htdocs\test\wp-content\plugins\LayerSlider\wp\shortcodes.php(159): LS_Shortcode::generateSliderMarkup(Array) #2 C:\xampp\htdocs\test\wp-content\plugins\LayerSlider\wp\shortcodes.php(49): LS_Shortcode::processShortcode(Array) #3 C:\xampp\htdocs\test\wp-includes\shortcodes.php(345): LS_Shortcode::handleShortcode(Array, ”, ‘layerslider’) #4 [internal function]: do_shortcode_tag(Array) #5 C:\xampp\htdocs\test\wp-includes\shortcodes.php(223): preg_replace_callback(‘/\\[(\\[?)(layers…’, ‘do_shortcode_ta…’, ‘[layerslider id…’) #6 C:\xampp\htdocs\test\wp-content\plugins\js_composer\include\helpers\helpers.php(234): do_shortcode(‘[layerslider id…’) #7 C:\xampp\htdocs\test\wp-content\themes\tower\vc_templates\vc_column_text.php(25): wpb_js_remove_wpautop(‘< in C:\xampp\htdocs\test\wp-content\plugins\LayerSlider\includes\slider_markup_init.php on line 83

  69. Hey Guys, love your Duplicator plugin. I’ll definitely be doing a write up on it at Good work. Sign me up for that newsletter!

    And to answer your questions on this post, yes… why yes we do! In fact, we’ve deployed an XAMPP mashup that makes it even easier for developers and designers to work on multiple WordPress projects, try out bbPress, BuddyPress or even take WordPress Multisite with domain mapping for a spin. All on your local box, and cross platform too.

  70. Undeniably belieѵe that which you saіd. Yoᥙr fɑvorite reason appeared to be on the internet the simplest thing t᧐ be aware of.
    I say to you, I certainly get irked while people consider worries that they plаinly don’t know about.
    You managed to hit the naіl upon the top and also defined
    out the whole thing without having side effect , people can take a signal.

    Will likely bе Ƅack to get mⲟre. Thanks

Comments are closed.