WordPress Archives - AYALR https://ayalr.com/category/programming/wordpress/ Mon, 23 Mar 2026 08:52:07 +0000 en-US hourly 1 https://wordpress.org/?v=6.9.4 https://ayalr.com/wp-content/uploads/2026/03/cropped-ayalr-favicon-1-32x32.png WordPress Archives - AYALR https://ayalr.com/category/programming/wordpress/ 32 32 How to Backup a WordPress Site for free! https://ayalr.com/how-to-backup-wordpress-site-without-plugin/ Sun, 26 Dec 2021 12:36:39 +0000 https://ayalr.com/?p=315 1. Overview How to backup a WordPress Site free? The task is not trivial but I make it easier to […]

The post How to Backup a WordPress Site for free! appeared first on AYALR.

]]>
1. Overview

How to backup a WordPress Site free? The task is not trivial but I make it easier to keep your WordPress site safely backed up on your computer? I’m assuming that WordPress is installed on a Linux machine. However, this can be easily adapted to do it on other operating systems as well!

2. Is there a plugin?

Why don’t you use an off the shelf plugin which has already been tried and tested?

This is a very legitimate question. There are many popular plugins out there such as UpdraftPlus WordPress Backup Plugin and Jetpack by WordPress.com just to name a few.

Don’t get me wrong, plugins are useful for a variety of reasons, but they have to be treated for what they are, third-party software, over which you have little or no control. From a security point of view, the fewer plugins you install, the better it is.

Furthermore, the more plugins you install, the slower the site will run. You might also be tempted to install a long list of plugins, causing incompatibilities over time.

2.1 How to backup wordpress site without plugin

If you have good knowledge of how WordPress works under the hood, you have good SQL and MySQL knowledge, and you can find your way around an operating system easily, then you will soon know how to backup a wordpress site without plugin.

3. What items are we backing up?

The best way to backup a wordpress site without plugin is to copy the:

  1. file system
  2. database schema

3.1 How to backup the File System

The first step is backing up the WordPress files from the file system, including scripts, themes, plugins, and uploaded content. You need to know the directory which holds all of your WordPress. In this case, the directory is:

/var/www/html

The following command will compress all contents from that location into one single file.

tar -cjf blogFiles_28-04-2019.tar /var/www/html

Let’s tackle that command piece by piece. “tar -cfj” is a Linux command with which we instruct the operating system to compress files it finds in the location “/var/www/html”, and name the result blogFiles_28-04-2019.tar”. Note that the data was inserted in a way to indicate when the backup was taken.

So, just go to a directory of your choice and execute that command. Once it finishes, you will be able to see a new file called “blogFiles_28-04-2019.tar“. The amount of time required by the command, and the file size of its result, depend on how large your WordPress site is. 

3.2 How to Backup WordPress Database Schema

It’s now time to get a copy of the database.

For this step, you will need:

  1. the username,
  2. the password,
  3. the database name,
  4. the hostname of your WordPress database.

If you don’t know this information but have access to your host, you can retrieve them by reading the contents of the wp-config.php file. In our setup, this file is found in /var/www/html/wp-config.php.

With all the information at hand, you can execute the following command, replacing the placeholders with your information:

mysqldump --user=[YOUR_USER] --password=[YOUR_PASSWORD] --databases [YOR_DB_NAME] --host=<YOUR_HOSTNAME> > blogData_28-04-2019.sql

By executing this command, we are instructing the database engine to take a copy of all WordPress database contents into the file blogData_28-04-2019.sql

4. Storing the backups

At this point, we have our WordPress site backed up into two files “blogFiles_28-04-2019.tar” and “blogData_28-04-2019.sql”.

For obvious reasons, keeping the backup files on the same and single server is not a bright idea. Should something happen to the server, the site will be lost, together with the backup files. We don’t want this to happen, hence there are a few more steps to complete. We need to store a copy of these files in a reliable and secure place.

In this article, I will describe two ways which are both reliable and secure. Apart from these mentioned, there are other solutions.

4.1 FTP

FTP stands for File Transfer Protocol and is used to move files from one server to another. There are applications like FileZilla, or the linux command line tool lftp. In this article, we’ll use the latter. Just in case the lftp is not installed by default on your server, you can install it using the following command:

sudo apt-get install lftp

Once lftp is present, you can execute the following to copy the two files created in the steps before.

lftp [YOUR_FTP_USERNAME]@[YOUR_FTP_HOSTNAME]:~> put blogData_28-04-2019.sql
lftp [YOUR_FTP_USERNAME]@[YOUR_FTP_HOSTNAME]:~> put blogFiles_28-04-2019.tar

In both cases, lftp will ask for the password

4.2 The Cloud

Another alternative to using FTP servers is to use a cloud-based file storage solution like Google Drive, or DropBox. One solution would be more ideal than others depending on price plans and operating system support. There are other options too, like using a cloud-based source control solution like http://www.bitbucket.org, or http://www.github.com

5. Automation

In a real-world scenario, backups are automated. One approach that will be explained in this article is the following. In this part of the article, we will assume that you are hosting your blog on a Linux machine and that you are familiar with GIT.

We can achieve this by creating a shell script combining all the above steps and use a scheduler to execute our script at particular intervals. One such scheduler is the Linux Crontab. In this example, we will have the WordPress site backed up every day.

First, we need a shell script to create and upload the backup files. For simplicity’s sake, we will use bitbucket to store our backups on the cloud. We will also assume that the ssh keys of the client are already set in bitbucket. Create a new repository on bitbucket and clone it on the WordPress server. Update the script with your paths:

#!/bin/bash

echo "Finding config details..."
BLOG_DIR=/var/www/html
DEST_DIR=~/dbdumps/wellbeingbaristabackups/
DB_NAME=`echo "<?php require_once(\"${BLOG_DIR}/wp-config.php\"); echo DB_NAME;" | php`
DB_USER=`echo "<?php require_once(\"${BLOG_DIR}/wp-config.php\"); echo DB_USER;" | php`
DB_PASS=`echo "<?php require_once(\"${BLOG_DIR}/wp-config.php\"); echo DB_PASSWORD;" | php`
DB_HOST=`echo "<?php require_once(\"${BLOG_DIR}/wp-config.php\"); echo DB_HOST;" | php`
 
#Compress the WordPress files
echo "Compressing WordPress files..."
FILES_TAR_FILE_NAME=${DEST_DIR}blogFiles-$(date +%Y%m%d).tar
tar -cjf $FILES_TAR_FILE_NAME $BLOG_DIR

#Dump the database contencts
echo "Taking a database dump..."
DB_TAR_FILE_NAME=${DEST_DIR}blogFiles-$(date +%Y%m%d).sql
mysqldump --user=$DB_USER --password=$DB_PASS --databases $DB_NAME --host=$DB_HOST > $DB_TAR_FILE_NAME

#Push to git
echo "Sending files to remote"
cd $DEST_DIR
git add .
git commit -m "Another daily backup"
git push origin master

The final step is to configure the scheduling. The above script assumes that the backups will be taken not more than once daily. If you need more frequent backups, the date timestamp of the files needs to include hours or possibly minutes. Next is the scheduling for the script. To enable this we need to create a Linux cron job. Open your terminal and type in the following command:

sudo crontab -e

This will open the cron editor. You might need to change the script name and/or location, but if you named the script “wordPressBackup.sh” and saved it in location “/home/user/dbdumps/”, then add the following line in the crontab editor.

0 1 * * * /home/user/dbdumps/wordPressBackup.sh

This instruction will perform the backup, every day at 1 am.

6. Conclusion

In this article, we have seen how to make sure your WordPress site is backed up properly.

We have also used tools such as FTP and GIT to store our backups safely.

The post How to Backup a WordPress Site for free! appeared first on AYALR.

]]>
How To Make WordPress Hosting Migration To Bluehost Now [2026 Update] https://ayalr.com/wordpress-hosting-migration-to-bluehost/ Sat, 29 May 2021 18:14:48 +0000 https://ayalr.com/?p=222 5 Minute read. This is a proven use case of WordPress hosting migration from my previous host to Bluehost. I have […]

The post How To Make WordPress Hosting Migration To Bluehost Now [2026 Update] appeared first on AYALR.

]]>
5 Minute read. This is a proven use case of WordPress hosting migration from my previous host to Bluehost. I have smoothly transferred a lifestyle blog that I manage in under an hour with zero downtime. Let me quickly guide you through the steps needed to ensure a guaranteed smooth migration—and unlike my 2021 guide, I’ll show you the much easier methods available today

Why choose Bluehost for your WordPress hosting migration?

My blog started its life on a very humble IT infrastructure. For about two years I hosted the blog in my own apartment running on salvaged hardware. Being an IT geek this is all too possible, and it can initially save you important funds that can be used elsewhere.  This implied putting in more time and effort to keep up with uptime, stability, security, and of course scalability in face of constantly increasing traffic. 

However, there comes a time when a blog owner needs to upgrade and outsource to a trusted supplier. In my case, the blog grew beyond a certain stage and it made sense financially and infrastructural point of view to upgrading my hosting. Alternatively, you might want to migrate, to host it in a place that ensures quick access to your main traffic source, uptime, scalability, security, and support. If you made your choice, now it’s time to migrate!

There are WordPress hosting companies around every corner. You can also create your own setup on some cloud like Azure, AWS, or Google Cloud. It took me considerable effort to compare and decide on my WordPress host. After investigating different pricing models and applying performance tests using tools like GTMetrix, I chose Bluehost.

Why Bluehost still wins in 2026

Since my original 2021 article, Bluehost has only gotten better. Here’s what makes them stand out today:

  • Officially recommended by WordPress.org since 2005—that endorsement still carries weight 
  • Now running on Oracle Cloud Infrastructure, delivering significantly faster response times than standard hosting 
  • NVMe SSD storage included across all plans—that’s up to 5x faster than traditional SSDs 
  • 99.99% uptime SLA backed by enterprise-grade infrastructure 
  • Free CDN via Cloudflare built-in, ensuring global visitors get lightning-fast load times 
  • 24/7 WordPress-expert support via phone, chat, and email—real humans who actually know WordPress 

Pricing reality check: In my 2021 article, I mentioned “2 cappuccinos a month.” Today, pricing starts at $3.99/month for the Basic plan, with the popular Choice Plus plan at around $6.99/month . You still get a free domain for the first year, unlimited websites on higher tiers, automated backups, and a free SSL certificate.


The WordPress Hosting Migration Steps: 2026 Edition

Important: From this first step till the last one, make sure you don’t change any blog content, as such changes will likely be lost. Viewers will still be viewing content from the original WordPress until the last step is completed.

Here’s the good news: You no longer need to mess with FTP, phpMyAdmin, or SQL files. Bluehost now offers two much simpler methods. I’ll cover both so you can choose what works best for you.

Method 1: The Free Automated Bluehost Migration Tool (Easiest – Recommended)

This is the method I now use for all my client sites. It takes about 15-30 minutes and requires zero technical skills.

Step 1: Sign up for Bluehost

  • Visit Bluehost.com and choose your plan
  • Complete the registration process (this takes about 5 minutes)
  • Once done, log in to your Bluehost dashboard

Step 2: Locate the Migration Tool

  • In your Bluehost dashboard, look for the “Migration” or “Site Migration” section 
  • Click on “Start Migration” or “Free Website Migration”

Step 3: Install the Migration Plugin on Your Old Site

  • Bluehost will prompt you to install a small plugin on your current WordPress site
  • The plugin is safe, lightweight, and only used during migration
  • It packages up your entire site—files, database, plugins, themes, everything

Step 4: Let Bluehost Do the Heavy Lifting

  • Once the plugin is installed, Bluehost’s system automatically transfers your site
  • You’ll see a progress bar showing the migration status
  • Most sites complete within 30 minutes 

Step 5: Verify Everything Works

  • Bluehost will notify you when migration is complete
  • They provide a temporary URL to test your site before going live
  • Navigate through your site, check posts, images, and functionality

That’s it. No file downloads, no database edits, no configuration headaches.

Method 2: The Plugin Method (For Self-Starters)

If you prefer to handle things yourself or want more control, use the All-in-One WP Migration plugin—it’s what professionals use .

Step 1: Install All-in-One WP Migration on Your Old Site

  • From your WordPress dashboard, go to Plugins → Add New
  • Search for “All-in-One WP Migration”
  • Install and activate it

Step 2: Export Your Site

  • In the plugin menu, click “Export” → “File” 
  • The plugin will package your entire site into a single file
  • Download this file to your computer

Step 3: Set Up Your New Bluehost Site

  • Log in to Bluehost and create a fresh WordPress installation
  • Note the temporary URL (usually something like temp.yoursite.bluehost.com)

Step 4: Install All-in-One WP Migration on Your Bluehost Site

  • On your new Bluehost WordPress site, install the same plugin
  • Go to “Import” → “File” 
  • Upload the file you downloaded earlier

Step 5: Wait for the Import to Complete

  • The plugin will rebuild your entire site on Bluehost
  • All content, settings, and configurations will be exactly as they were

Step 6: Update Your Site URL (If Needed)

  • If you’re using the temporary URL, you may need to update the site address
  • The plugin usually handles this automatically, but double-check in Settings → General

Method 3: The Manual Method (For Developers Only)

I’m including a condensed version of my original manual method for developers who need FTP/SSH access or are migrating massive sites. For 99% of users, use Method 1 or 2 instead.

  • Back up your wp-content folder via FTP or SSH
  • Export your database via phpMyAdmin
  • Create a new WordPress site on Bluehost and note the database name
  • Import your database into Bluehost’s phpMyAdmin
  • Update wp-config.php with the new database details
  • Upload your wp-content folder to the new server
  • Update site URLs in the database (wp_options table)

Warning: This method carries significant risk. One typo can break your site. Stick to the automated tools unless you absolutely need manual control.

Testing your WordPress Site on BlueHost

Once migration is complete (using either method), it’s testing time:

  • Navigate through your site using the temporary URL Bluehost provides
  • Click on posts, pages, and products to ensure everything loads correctly
  • Check images, videos, and embedded content
  • Test contact forms and any interactive features
  • Verify that your theme appears exactly as it should

If you spot any issues, most can be fixed by clearing your site’s cache or reaching out to Bluehost support—they’re available 24/7 and genuinely helpful .


Making Your Domain Point to Bluehost

Once testing is complete and you’re happy with everything, it’s time to go live.

Step 1: Update Your Nameservers
Log in to your domain registrar (where you bought your domain name). Navigate to DNS settings and change your nameservers to:

text

ns1.bluehost.com
ns2.bluehost.com
[citation:6]

Step 2: Add Your Domain to Bluehost

  • In your Bluehost dashboard, go to the “Domains” section
  • Click “Assign” or “Add Domain”
  • Type in your domain name—Bluehost will verify ownership 

Step 3: Wait for DNS Propagation
This is the only part that requires patience. DNS changes can take 24-48 hours to propagate worldwide . During this time:

  • Some visitors will see your old site, others will see the new Bluehost site
  • This is normal and unavoidable
  • You’ll notice traffic on your old host gradually decreasing as the new DNS takes effect

In my experience, propagation completes within 2 days, though some users report seeing changes within a few hours.


What’s Changed Since My 2021 Guide?

If you’re curious about why I’ve rewritten this guide, here’s what’s different:

Feature2021 Method2026 Reality
Migration complexityManual FTP + phpMyAdminFree automated tool 
InfrastructureStandard hostingOracle Cloud + NVMe storage 
SupportGood24/7 WordPress experts via phone/chat 
Freebies includedDomain, SSLDomain, SSL, CDN, backups, SEO tools 
Time to migrate1 hour15-30 minutes

Final Thoughts

The above guide gives you three ways to move your WordPress site to Bluehost. For most people, I strongly recommend Method 1—the free automated migration tool. It’s what I use for all my client sites now, and it eliminates the risk of manual errors.

From my personal experience managing multiple blogs, Bluehost has only improved since 2021. The move to Oracle Cloud infrastructure, the inclusion of free CDN, and the consistently excellent support make them my top recommendation for WordPress hosting in 2026.

Ready to migrate? [Click here to sign up for Bluehost] and use their free migration tool. Your site will be on faster, more reliable hosting before your next coffee break.


This post contains affiliate links. I only recommend products I personally use and trust.

The post How To Make WordPress Hosting Migration To Bluehost Now [2026 Update] appeared first on AYALR.

]]>