This post is a continuation of the post How I deployed WordPress on Heroku: 1 of 2: http://www.appcloud101.com/archives/5102
In the previous post I had explained how I had deployed WordPress on Heroku. In this post I have explained some things you must keep in mind and the workarounds I used.
WordPress on Heroku Considerations
Images and files on Heroku: When you upload an image on WordPress running on Heroku, it will be saved on what Heroku calls Ephemeral file system. It is there temporarily and then is deleted when your dyno is restarted. As a workaround you can subscribe to AWS storage and write a bit of code which saves media on AWS instead of Heroku when you upload the file. There is already a wordpress plugin for this. If you want to do your own plumbing, you can look at it’s code as a starting point. An easier and cheaper solution is to sign up for a free image hosting site like imgur.com.
Custom Domain: If your domain name is registered elsewhere you can still run it on Heroku. In your domain name registrar’s application (CPANEL as in my case) you need to reconfigure DNS such that CNAME points to your Heroku app.
Performance: Why does your blog appear to be slow? It is not slow. Heroku is very fast! However the free dynos are put to sleep after a period of inactivity. So if your blog is not being actively accessed by any user, your free dyno on Heroku goes to sleep. When you access it, it wakes up.
EMails: To send emails from Heroku, you must use an EMail service as Mandrill or SendGrid. This is a best practice in any case. It is better even for non-Heroku WordPress installations to use a reliable SMTP service (instead of the default provided through WordPress). My experience with the default SMTP with WordPress has been less than happy.
AutoScaling: If you would like auto scaling for Heroku, you would need a Heroku add-on like Adept
Please do good capacity planning of your database and file storage. Creating your WordPress posts will consume both your database storage as well as storage for image files and/or other attachments.
With these details in mind, you should be all set for success in your WordPress/Heroku project!