I was thinking of the best way to learn about the features of the Avada them.  I figured the best way was to find an actual project so I decided to move this website to the Avada theme. The website is currently a HTML based website with a WordPress blog.  Here are the steps I did:

  • Create a web hosting account at Media Temple for a testing website
  • Install WordPress using 1-click app to create a database
  • Backup existing WordPress database and files
  • Make note of the testing website current wp-config.php database settings
  • delete all files in the testing website except robots.txt
  • copy the files from production website
  • restore the production database to the test database
  • Change the URL reference in the database table
  • change the database settings in wp-config.php to link to the test database
  • Try to open test website

At this point, the WordPress blog of the old website has been migrated to a test website.  The next step was to get the WordPress installation in order with some cleanup and install the Avada theme.  Here are the steps:

  • Change blog name with TEST
  • empty all caches in W3 Total Cache
  • cleanup htaccess to be this
    • # BEGIN WordPress
    • <IfModule mod_rewrite.c>
    • RewriteEngine On
    • RewriteBase /
    • RewriteRule ^index\.php$ – [L]
    • RewriteCond %{REQUEST_FILENAME} !-f
    • RewriteCond %{REQUEST_FILENAME} !-d
    • RewriteRule . /index.php [L]
    • </IfModule>
    • # END WordPress
  • Delete old themes
  • review current plugins and delete any no longer need
  • empty all caches in W3 Total Cache
  • Install Avada theme
    • Activate required plugin – Fusion Core

I received and error message of “Fatal error: Unknown: Cannot use output buffering in output buffering display handlers in Unknown on line 0”.  I decided to disable W3 Total Cache plugin.  Then the error message changed to “Fatal error: Allowed memory size of 103809024 bytes exhausted”.  I switched back to the Twenty Fourteen theme and the site loaded fine.

I started troubleshooting the memory size issue.  Theme Fusion, developers of Avada, said it was a common issue when the PHP Memory Limit is set too low.  I found an article on Media Temple about how to edit the php.ini file.  They have a sample file that can be saved in the “/etc” folder.  I added the command “memory_limit = 128M” and uploaded the file.  I checked the status in the Avada theme.  Nothing changed.  I also notice a recommend to increase the PHP Time Limit to 180.  So, I also added “max_execution_time = 300” and uploaded.  It took a few minutes but that value updated.  But, the WP Memory Limit didn’t change.  Then I noticed a link in the status page and it said you needed to update the /wp-includes/default-constants.php file.  So, I edit to be this value “define( ‘WP_MEMORY_LIMIT’, ‘128M’ );”.  The value was then updated.

I waited and reloaded the home page.  The Avada theme loaded up there were some error messages about header.php and logo.png.  I looked at the knowledgebase of Theme Fusion and there was a fix for header.php.  That fixed that issue but the logo still didn’t load right.

The old blog finally loaded but many elements of the blog posts were wrong especially the AdSense ads.  So, here is a list of items I want to fix right away.

  • Create a placeholder home page
    • I set it as a static page in Reading in Settings.
  • Figure out how to put all the blog posts with a URL of domainname\blog
    • This was accomplished by editing the Permalinks in Settings to be “/blog/%category%/%postname%/”
  • Create a menu navigation like the old website
    • I just create a simple menu with the Home page.  I wanted a page for the Blog.  So, I created a blank page called “Blog” and set it to the static page for Posts in Reading in Settings.  However, the like gave an access denied error.  I think it is related to the permalinks.  So, I change the permalink to the page to be \blogposts\ and then in worked and loaded the most recent posts.
  • For the blog post pages, place the widgets similar to the old website
    • I create a new sidebar and added the widgets.  I assigned the sidebar to Theme Options for all Blog Posts.
  • Fix the AdSense ads for the blog posts
    • The code snippets didn’t copy over so copied them manually.

I next created placeholder pages for the main content pages.  I then added them to the header menu.  I then worked on the footer.

The next big step was to try matching the appearance of the original website.  Here are the steps I did:

  • logo
  • favicon
  • slider and slide order
  • AdSense ad
  • three column page
  • Twitter integration
  • standard page layout

The next step was to recreate the web site.  I used WebSite Auditor to audit the content website to get a sitemap of all the pages that I needed to recreate.  After recreating the web pages, I transferred the page titles and meta descriptions.

For the final pre-migration steps, I transferred a couple of new blog posts I had made during the testing.  I then created new 301 redirects since the main pages moved from .html files to WordPress subfolders.  Finally, I backed up all the files from both the old and new websites along with database backups.

To migrate the website, I did the following steps:

  • delete all the files via FTP
  • Restore the new WordPress database via SSH
  • Edit the URLs in the database via phpMyAdmin
  • Copy the new files via FTP
  • Change the database info in wp-config.php
  • remove robots.txt
  • updated the sitemap.xml
  • check Google Analytics is see if traffic is being tracked.  Also add a comment that the website was changed.
  • test the 301 redirects

Everything tested fine.

Links to research: