In this guide you’ll learn how to upgrade your site to Shopp 1.3.x. Lets begin by defining some terms that will be used throughout this article. It is okay if you are not familiar with all of the terms or phrases.
Upgrade Primer for Shopp
Taking a look at them now will make following this tutorial for upgrading Shopp much easier.
- Backup your WordPress – this is really important as it allows you to restore your data should something go wrong. This is a good practice!
- WordPress dashboard – this is the WP-admin or the backend of your WordPress site where you log in with your username and password
- SFTP/FTP client – this software allows you to login to your remote WordPress site so you can view folders and files and make changes as needed
- Shopp templates – these are the theme and content templates that handle the layout and styling of your store
- Shopp add-ons – these are your payment gateways and your live shipping rate calculators
Now that we have defined those terms, lets now talk briefly about expectations.
The first version of Shopp (1.0) was released six years ago in December 2008. The Shopp 1.1.x platform was released four years ago in August of 2010. The Shopp 1.2.x platform was released in February of 2012.
During this time WordPress has changed and so has the Shopp ecommerce plugin.
Custom coding and/or Shopp templates that were created several years ago will not work out of the box with the current version of Shopp. These will need to be updated. This also applies for Shopp add-ons. A payment gateway written several years ago will not be compatible with the latest version of Shopp. Here are some other changes to be aware of if you are upgrading from Shopp 1.1.x or older:
- The Shopp menu has been expanded into Shopp and Catalog respectively
- Shopp information is now stored in the dbprefix_shopp_ tables (wp_shopp_) with supporting information in native WordPress database tables
- Your product IDs will change as these are now stored in the dbprefix_posts (wp_posts) table
- Shopp pages are now virtual and no longer use the four WordPress pages with shortcodes
- Taxonomies such as product categories are handled differently. A link like this example.com/shop/category/my-parent-category/my-child-category will become example.com/shop/my-child-category/
- Shopp add-ons are stored in /wp-content/shopp-addons
Have the changes above made you nervous about upgrading?
Here are just a few reasons why you should upgrade:
- Want to use the current version of WordPress? An old version of Shopp that was written several years ago will not be compatible. Also, running old software exposes your site to unnecessary security risks.
- The latest version of Shopp is faster and has a more powerful API than the older versions. This offers flexibility for creating the store that you desire.
- Support resources are provided for the current platform. This includes documentation, software downloads, and help from the Shopp support team.
Ready to move on to the planning the upgrade to Shopp 1.3.x? Now is a good time to take another look at the phrases and terms then were mentioned at the beginning of this guide. We’ll be using those throughout the remainder of the tutorial.
Planning the Upgrade for Shopp
In this part of the checklist, we’ll be taking an inventory of our current site. No changes will be made during this time. This is an exploratory step to plan out our upgrade. More planning = a better upgrade experience.
- What options do I have for backing up my WordPress site?
- Am I comfortable manually backing up WordPress?
- Can I use a backup plugin for WordPress or does my web host offer automatic backups?
- What SFTP/FTP client can I use?
- FileZilla and Cyberduck are free options that were on multiple operating systems. On a Mac? Try Transmit.
- What version of WordPress is my site running?
- You can find out by logging in to your WordPress dashboard and then looking in the bottom right area of the screen (scroll down if needed). The version number is also located in the At a Glance widget on your WordPress dashboard.
- What plugins are running on my site?
- Go to your WordPress dashboard and then click on Plugins. This will take you to your Plugins screen. Take a look at your list of plugins and make note of any that are out of date. Now is a good time to perform a basic audit for your list of your plugins. Are there any plugins that you do not need? Less plugins means a less updates and reduces the chance of a plugin conflict.
- Do I have any Shopp templates running?
- Locate Shopp in the WordPress admin menu and then go to Setup –> Presentation. Do you see a checkmark for templates? If so, then custom templates for Shopp are running. Make a note of your findings.
- What Shopp add-ons am I using for my store?
- Locate Shopp in the WordPress admin menu and then go to Payments and make a note of your payment gateways. Then go to the Shipping and make a note of your shipping options.
- Are there any other customizations to be aware of?
- Did a developer write a custom plugin or site-specific plugin to extend your current version of Shopp? Has any custom coding for Shopp been added to the theme’s functions.php? Make a note of any of these changes.
This wraps up the exploratory step for the upgrade checklist. You should now have some information that provides a well rounded view of your current WordPress site. Now lets use that information to plan out our upgrade.
Planning – Backup WordPress, Upgrade WordPress core, Upgrade other Plugins
- Before making any changes to your site, you should backup your WordPress site. We do not expect that anything will go wrong and this will be very helpful if a problem arises. The first step of the upgrade will be to backup your WordPress site.
- Next, you should test out your SFTP/FTP client by logging into your WordPress root (remote WordPress site on your web host’s server). Your web host will be able to provided the credentials for logging in. They will be different than your WP-admin login information.
- Now, take another look at the list of WordPress Plugins that are running on your site. Are there any that you can do without? Now is a good time to deactivate these plugins and delete them from your WordPress site.
- What version of WordPress is currently running? If it is older than the current version of WordPress, then you should update WordPress.
- Now go back to your remaining WordPress plugins and update each of them except for Shopp. At this point, your site will have the latest version of WordPress along with the latest version of your plugins minus Shopp.
- Perform another backup to your WordPress site.
We’ll now move on to the next planning stage.
Planning – Enable Debugging, Backup Shopp Plugin, Run the Upgrade
- Login to your WordPress site using your SFTP/FTP client and open up your wp-config.php file for editing. Then add this macro so debugging can be easily enabled if needed. It should replace any existing debugging macros in your file. Be sure to save changes.
- Next, raise the memory that is available to PHP.
- Then, browse to this location:
Now create a new folder there called shopp-addons. This new folder will hold any Shopp add-ons. Here is the result after you have created the new folder:
- Now login to your WordPress dashboard (WP-admin) and go to Plugins. Locate Shopp in the list and deactivate it.
- Return to your SFTP/FTP client and browse to this location:
Locate the Shopp plugin folder and rename it based on its version of Shopp. For example, if you are upgrading from Shopp 1.1.9, then you could rename the shopp folder to shopp_119_backup. If you were upgrading from Shopp 1.2.9, then you could rename it to shopp_129_backup. This naming is so you can easily recognize this folder. Now relocate the folder one step above the WordPress plugins folder to this location:
Now we need to deactivate any Shopp templates that are running. Browse to this location:
If you see a shopp folder in the location above with files, then go ahead and rename it from shopp to shopp_old_templates:
- Then create a new folder there called shopp. This will hold the new Shopp templates for 1.3.x.
We are now ready to run the upgrade. Continue to the next set of steps.
Planning – Run the Upgrade, Restore any Shopp Add-ons
- Go back to your WordPress admin and click on Plugins. Select all plugins and deactivate them.
- Then click on Add New and search for Shopp. Then install it but do not activate.
- Login to your Shopp Store Account and download the latest versions of your Shopp add-ons such as payment gateways (e.g. Stripe, FirstData, Authorizenet) and live shipping calculators (e.g. USPS, FedEx, UPS). If you do not have any add-ons, then you can skip the next two steps.
- The Shopp add-ons will download to your computer as zip files. Unzip them. Then using your SFTP/FTP client, browse to this location:
- Upload all of your Shopp add-ons there
- Return to your WordPress admin and activate Shopp. It will take a few seconds to process part of the upgrade. Then click on Shopp –> Setup. If you are prompted by a database upgrade, then go ahead and allow that to run by clicking on the button. Afterwards, you’ll be brought to a welcome screen for Shopp 1.3.x.
In the next steps, we’ll confirm that our site was upgraded correctly.
Planning – Check the Settings, Update Shopp Templates, Test the Store
- Go to Shopp –> Orders. You should see your orders there.
- Go to Shopp –> Customers. You should see your customers there.
- Go to Catalog –> Products. You should see your products there.
The checks above usually mean that your Shopp information has migrated successfully. If information is missing, then restore the site from the backup that you captured right after removing any unnecessary plugins and try again. If the information is there, then you can reactivate all of your remaining WordPress plugins that were previously deactivated. Then you can work your way through the remaining Shopp menus to update the new options and ensure that your payment gateways, shipping options, and tax settings are set correctly.
Refresh permalinks by browsing to Settings –> Permalinks from your WP dashboard. This will load the latest Shopp images rewrite rule.
Then go to Shopp –> Setup –> Presentation. You should see a button to install Shopp templates. If you see a message about the folder not being writable, then use your SFTP/FTP client to browse to this location:
Adjust the folder permissions so the folder can be written. Try 755 and if that doesn’t work, try 775. Then return to your WP-admin and refresh the Presentation screen for Shopp. You should now see a button to install Shopp templates. Go ahead and click on the button to install the templates.
Your WordPress site will now be running the latest version of WordPress core and latest versions of all of your plugins including Shopp. The next step is to update your Shopp templates if they were customized in an older version of Shopp.
Your old templates are located here:
Your new templates are located here:
You’ll notice that there are more templates in use. Migrate over your customizations by referencing the new API calls. All available API calls for Shopp are available here. You should not modify the core plugin folder. Instead you should customize the templates for Shopp in the location above. As you are completing this process, be sure to test out various Shopp pages including the storefront page, product pages, and checkout pages on various web browsers such as Chrome, Firefox, Internet Explorer, Opera, and Safari. It is also helpful to test on different computer and devices. Then add any CSS fixes to your shopp.css file in the location above.
Once you are happy with the layout and styling, you can run some transactions in the store. Again, it would be best to test with a variety of web browsers. After an order is received, the following should happen:
- Thank you page is shown
- Merchant and customer receives a receipt
- The order is recorded in Shopp Orders
Once you have finished testing the store, you can add any store links to your website’s navigation via WP-admin –> Appearance –> Menus.
Planning – Additional Recommendations
If you are using database storage for images, then now is a good time to migrate images out of the database and into file system storage. File system storage is faster and uses less resources. For this reason, it is a better option for your store. You can use a plugin like Shopp Images Tools to migrate the images.
Next, complete these steps:
- Rebuild product search index through Shopp –> System –> Advanced
- Recalculate product summaries through Shopp –> System –> Advanced
That wraps up the planning stage.
Are you ready to move forward with the upgrade? View the Shopp upgrade checklist that I use for upgrading sites below.
Completing the Upgrade for Shopp
This checklist varies slightly from the planning steps above in that a staging site is used when there is custom coding on the site or custom templates. This allows us to get a head start on migrating those customizations. Does your WordPress host provide a staging site?
- Create a new development site for project with latest version of WordPress and Shopp
- Setup copy of parent theme and child theme on site
- Setup copy of existing Shopp templates folder on site
- Migrate customizations to new Shopp templates by referencing the current API for Shopp
- Backup WordPress site
- Add debugging macro to wp-config.php file – disabled but can be easily turned on if needed
- Raise memory available to PHP in wp-config.php file
- Deactivate all plugins via WordPress admin –> Plugins
- Delete plugins that client no longer wishes to use
- Update WordPress core
- Update remaining plugins
- Backup WordPress site (backup #2)
- Deactivate Shopp
- Deactivate old version of Shopp (e.g. 1.0.18, 184.108.40.206, 1.2.9) and relocate folder to /wp-content/shopp_versionnumber_backup
- Install Shopp 1.3.x
- Setup file system storage for product images through Shopp system settings
- Migrate product images to /wp-content/uploads/shopp/images
- Create /wp-content/shopp-addons folder
- Install latest versions of Shopp add-ons
- Setup and enable Shopp templates in child theme’s folder
- Verify Shopp orders and customers were migrated
- Verify merchant information was migrated
- Verify payment and shipping settings were migrated
- Update tax settings
- Verify products were migrated
- Rebuild product search index through Shopp –> System –> Advanced
- Recalculate product summaries through Shopp –> System –> Advanced
- Refresh permalinks through Settings –> Permalinks
- Restore previously deactivated plugins
- CSS fixes to shopp.css file in /wp-content/child-theme-folder/shopp/shopp.css
- Add store links to navigation through WP-admin –> Appearances –> Menus
The site is then turned over to the client for its initial review. Edits are then made to meet the client requests and the service is completed after completing a final backup (backup #3).