WordPress migration with SSH

Scenario:
Old Site: www.domain.com/blog
Path: /home/domain/public_html/blog
New Site: www.domain.com (Assume the site is empty)
Path: /home/domain/public_html

In order to move the WordPress account manually without any plugin, you may done it through SSH without any trouble.

Folder/File
1.  Log into the SSH.
2.  Copy the folder and file from blog folder to main site.

cp -apr /home/domain/public_html/blog /home/domain/public_html

3. If you using Permalink and having mod_rewrite rule, you may edit your .htaccess file,

vi /home/domain/public_html/.htaccess

4. Change the rewrite rule from,

RewriteEngine On
RewriteBase /blog/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]

to

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

Database:
1.  Dump the database. Assume your database named wordpress.

mysqldump wordpress > wordpress.sql

2. Change the entry from www.domain.com/blog to www.domain.com.

sed -i 's/www\.domain.\com\/blog/www\.domain\.com/g' wordpress.sql

3. Restore the database back to the domain.

mysql wordpress < wordpress.sql

Published by

Mick Genie

Mick Genie is the founder of MickGenie.com and working at ExaBytes Network Sdn Bhd and WPWebHost web host company. He is expertise in Windows and Linux environment especially web hosting related information, tips and trick as well as the IT Information.