Slides of my presentation are up at: http://www.slideshare.net/gabrielkoen/anatomy-of-a-highvolume-cloudbased-wordpress-architecture
A few months ago, New Relic introduced Real User Monitoring. It natively supports WordPress and Drupal as of the time of this writing. By “natively supports”, I mean you can just turn it on in the New Relic control panel and your web servers will start automatically injecting it into your pages’ head. Real User Monitoring works with any web app, however — you just have to manually add the code yourself.
Here’s how you add it to a Magento theme template. Continue reading Implementing New Relic Real User Monitoring in Magento
Here’s a list of all the default / built-in querystring paramaters (or query variables) used by WordPress:
New Relic supports Zend Framework out of the box. Right? Supposedly it does, but I didn’t get any useful information recorded when using Magento. Everything came up “index.php”.
Unfortunately, getting a useful transaction name in New Relic from Magento requires modifying Magento core. Fortunately, it’s a pretty simple modification.
Vagrant is a Ruby project that lets you set up a Linux virtual machine very quickly, using VirtualBox. Ideally, at least. Getting it set up the first time on a MacBook can be tricky. Here’s how I got it running.
This assumes you’re running Vagrant in your home directory. Also, I already had VirtualBox installed.
Updated 5/30/2011: The previous instructions added ~/.rvm/scripts/rvm to ~/.bash_profile, which caused RVM’s settings to override anything in your ~/.profile. See “Gotchas” for more info.
I recently deployed Joost de Valk‘s awesome Google Analytics for WordPress plugin on a few sites. (I mean, he even SEO’d the plugin name, how brilliant is that?) One of the features of this plugin will add custom parameters to the URL in your _trackPageviews call so that you can gain insight into what kind of results you return.
For example, if you search for “K-Stew” and get no results, that will get tracked in GA as [“_trackPageview”,”http://www.example.com/?s=no-results:k-stew&cat=no-results”%5D. Great for being able to view GA reports and realize, hey, people want to see K-Stew and I’m not giving them any!
Magento gives you 3 slots for adding Flat Rate shipping methods to Google Checkout. I needed more (7 to be exact). Here’s how you can add more.
Continue reading How to create additional Google Checkout flat rate shipping methods in Magento
This post answers a very simple question I had, one I could not find an answer for. I needed to add additional Google Checkout buttons to Magento‘s onepage checkout and maybe the sidebar cart. I found other people asking the same thing, and answers ranged from cryptic to unhelpful. But I did find a solution.
Add this snippet to the template file where you want the Google Checkout button to appear:
This uses the standard Google Checkout button that’s used everywhere else, so if you customize the way the GCO button looks using the googlecheckout/link.phtml file your changes will show up everywhere you use it. This is great because it reduces the duplication of code. But what if you want to use a slightly modified GCO button somewhere? Read on…
Here’s the problem: Akismet is marking valid posts as spam when behind a load balancer. Because of marking comments as spam when Aksimet sees the IP address as coming from your load balancer, and then any comment that comes through gets marked as spam.
There are plugins that do this, to some degree, like Real IP. But really it’s a simple thing; just put this in your wp-config.php file: Continue reading Akismet False Positives when Behind a Load Balancer
WordPress has quite a few hidden features. My favourite so far: MU Plugins, or “must-use plugins”. Introduced with WP 3.0, the code says:
/** * Check the mu-plugins directory and retrieve all mu-plugin files with any plugin data. * * WordPress only includes mu-plugin files in the base mu-plugins directory (wp-content/mu-plugins). * * @since 3.0.0 * @return array Key is the mu-plugin file path and the value is an array of the mu-plugin data. */