Blog

What are the key points in marketing sales copywriting that build search engine relevancy?

When you think about a product that you use, does an image come to mind? More than likely it does, because of the way our minds work. Taking this as a starting point when creating marketing sales copywriting; the words people that you use influence what they think and how they will respond to your message. The goal is to translate the benefits the person will receive when they use whatever product or service you are describing by creating an image in their mind.

No matter which way you slice the pie, marketing is still about tuning into the network of human emotions which play a huge role in the purchase decision. Images that accompany advertising work best when the words are chosen with attention to this fact. There are several elements that create effective marketing sales copywriting, however what works in a print newspaper or magazine may not create the relevancy needed for the search engines.

Pay Attention to ‘Stop’ and ‘Power’ Words in Search Engine Optimization and Marketing Sales Copywriting

Aside from the domain name and TITLE tag of the website, the content that’s within the HEADING tags (H1, H2, H3 etc) get the attention of the search engine robot quickly. Using keywords here works to focus the reader’s attention as well as provides a solid piece of content for the search engines. With the attention span of the average person dwindling by the moment, it’s extremely important to choose your headline text to motivate the person to keep reading. That motivation comes from the emotional response to what they read.

For example, let’s look at two headlines :

1- “This is the Most Revolutionary Dental Product Discovery in 50 Years!”

2- “Medical Research Studies Prove Tooth Sensitivity Product Effective”

While both of these headline may grab attention, for the search engine robot, Headline Number 1 doesn’t provide enough substance. Using adjectives like ‘revolutionary,’ ‘exciting’ and ‘awesome’ may sound great, but how many times have you searched for a ‘revolutionary product?’ For the human visitor the words ‘revolutionary’ and ‘discovery’ could easily throw up a red flag and send their cursor to the back button of their browser.

The words used in Headline Number 2 are more relevant. Why? Because it’s more specific: the keywords ‘medical research studies’ along with ‘tooth sensitivity’ are more closely related to what people are searching for than ‘dental product.’ However avoid using this type of phrase if you cannot provide the citations to support it or the reader will feel deceived.

The other reason why Headline Number 2 will rank better is because of the evidence statement. Particularly when you are writing about anything health-related, people want to know it’s safe. When you are producing marketing sales headlines, think about the main resistance points like; safety, effectiveness or quality that are in the readers mind and find a way to address them from the beginning.

A variety of SEO experts have compiled a list of words that ‘stop’ the data processing flow; these words are valid, but filtered out by robots during their review of content. But if you think this list are primarily conjunctions like; ‘and,’ ‘with’ or common words like; ‘the’ or ‘for’ prepare yourself to be surprised. If you are serious about marketing sales copywriting, be sure to visit Link Assistant. Here you will find a comprehensive and up-to-date list that includes quite a few words needed to make content easy to understand, such as;

  • always
  • seems
  • make
  • however
  • could
  • next
  • without
  • you
  • value
  • under
  • hello

While it may be impossible to avoid every single one of these ‘stop’ words in your content, it’s a good idea to limit your use of them in heading tags and headline text. The other set of words to be wary of are those that fall into the ‘hype’ category which are the words people have come to dislike.

Attuning your writing to the emotions that different words stimulate can help you avoid hype and embed your message in the reader’s mind. Creating marketing sales copywriting that builds search engine relevancy requires you to think, but more importantly to understand how language influences human behavior that drives decision-making.

Next up: Using Power Words in Marketing Sales Copywriting to Influence the Purchase Decision

Website Security: What’s the big deal?

UPDATE:  A huge “Thank you!” goes out to Oliver Bross at MrMail.com for his steadfast support  and the Codelanders for their support and skill in restoring the amazing tutorials on the blog. The developers of these coding wonders make our jobs a lot easier and we are pleased to share them with you.

Website security has taken on a totally new meaning for online business operators as well as visitors to these websites. Beyond marketing our products and services, we have a responsibility to safeguard our customers from unpleasant encounters of the hostile kind.

I send greetings to all my friends and foes :-) , yes Lightfoot is still here and the CodeLand19 are still standing, here today to launch our Website Security series from our brand new castle. My apologies for my absence goes out of all of the great people who subscribed to the CodeLand blog.

I suppose that we should be flattered that SOMEONE likes our work so much that they launched brute force and cross frame scripting attacks on the website, however I find it odd because I thought that myself and the CodeLand19 crew were nowhere near the fame of some bloggers on the Internet. Perhaps I was mistaken or perhaps this is the price you pay for being an active member of CodeLand.

CodeLand19 is hearty group of guys work around the Web as programmers, designers, researchers, writers and marketers, if you are interested in what we do, join in the conversation. Part of our code is to understand both sides of the Internet (white hat and black hat); it exists and should be respected, because this knowledge is how you can make the most of your online presence.

However, time and again, we encounter webmasters who shiver in their boots when they hear the phrase “Black Hat” and run screaming away from the conversation. But it simply is not enough to be careful not to use tactics that will get you kicked off the search engines; you have to understand how to deal with the fact that there are a group of people who apply these techniques and enjoy creating chaos and harm.

With that said, the other interesting note is that (as I discovered) these vagabonds are pretty in discriminate about who they choose to annoy. In any case, I refuse to become bitter about the experience: live and learn, it was time for the blog design to be refreshed anyway. But to save others from this situation, let me just share with you the valuable resources which helped overcome this situation.

Starting off with the brute force attack scenarios, where an unauthorized person uses a ‘bot’ to run through a whole series of passwords or MD5 hash combinations to gain access to your website. Lorelle.wordpress.com has a great write-up on the issue along with resources to assist you in the battle of protecting your website.

When it comes to Cross Frame Scripting it’s related to Cross Site Scripting but in this case the attacker uses an iframe to literally ‘frame’ your webpage and divert visitors from your website. You can find a ton of information at the Open Web Security Project.

Creating a website on WordPress has become immensely attractive because of the outstanding number of sophisticated themes and versatile plugins. As a result more people are investing their time and money to create business ventures. The dilemma that many people face is whether or not to upgrade their WP installation when they rely on plugins that are not compatible with the new version. Although I have been in the same position, past experience has proven that your work only becomes harder if you don’t. The upgrade may force you to drop plugins but without it your website is vulnerable.

Thanks to CodeLand19 members the bandits did not succeed in kidnapping our little castle on the Net, but unfortunately I have heard horror tales where people have lost everything. Open your mind to the reality that website security has to be taken seriously and make it a top priority.

 

 

Enhanced by Zemanta

The Challenge of Being a Copywriter for the Internetby Suneva Lightfoot

*Copywriting

*Copywriting (Photo credit: Bazstyle | Photography)

Google dominates the world of search engines and as a copywriter myself, along with everyone in the Codeland crew, we were really happy to see their increased focus on the use of relevant keywords in website content. There are dozens of articles and tutorials on keyword research, unfortunately most of the information is too generalized to produce results. Relevant keywords are even more important today because of the increased online competition; but when it comes to copywriting, some clients insist using these general terms to deliver their message. Relevancy, or how closely a term relates to the subject,  is one of the things that differ between writing copy and copywriting.

What IS Copywriting?

Whenever I tell someone I am a copywriter, they often ask me: “what is copywriting?” In essence, my job is to use language in a way that distributes information to promote and publicize a person, an idea, a service, a place or a product. It’s the descriptive use of words used in marketing and advertising activities. The idea is to motivate the reader to take action, i.e. , “Clip this Coupon and Save $5 on Your Next Purchase” in an offline newspaper or “Follow This Link for Your Free Income Calculator”  on an Internet website.

A copywriter needs more than just a good command of language; an understanding of how language effects behavior is essential. It’s a proven fact that some words and phrases are more effective than others that mean the same thing.  If you drill down into the science even further, you’ll discover that these words are connected to primal human motivators; love, power, recognition and security.

What are Relevant Keywords?

The words a person uses when they search the Internet is usually more related to the solution they want than the product or service itself.  Understanding what’s beneath the surface of the features and benefits of a product or service are the keywords that make it relevant to the person searching for it. For example, a person looking to buy a lock for their door, might use the search query: “how to prevent robbery.”  A copywriter has to also consider the variables of the service or product. For instance, is it something that has a geographical reference? The language, phrasing and tone used to promote Texas barbecue is not the same as what would be used to promote McDonald’s.

Copywriting, Search Engines and Website Content

Google’s focus on “relevancy” as one of the qualifying points in ranking  websites has made the job of being a copywriter a little easier.  There are many websites that have misused keywords in their META tags and their content to gain high rankings in the search engines.  More times than I would like to remember, I have visited web pages that  reduced to gibberish because of the over use of keywords throughout the content.

On the other hand,  if the website title is “Sea Turtles in Madagascar” and the content is about scrapbooking, it also will fail to meet the visitor’s expectations.  Not only will this produce a poor ranking in the search engines, it will undoubtedly frustrate the Internet user who is searching for content related to the title of the website.W

hen you produce quality, relevant content you empower your visitor and increase your exposure.  As a copywriter and a website content producer, the challenge is to phrase the information to please humans and search engine bots at the same time.

Okay, So How Do I Do That?

Start with the basics to build your foundation. It definitely is important to know:

  • who can use the information you want to distribute,
  • why it will be of use to them,
  • what benefits it offers them
  • where they are looking for the information

Then start building your message by drilling down to the motivations:

  • what is the basic need that your information is related to
  • which terms are people using to search for it

All of this information is what the experts call “long-tail” keywords, combine them with your primary keywords and then you can begin to create the information for your website content. The more useful the information you offer to the reader, the greater your credibility and reader-loyalty will become.

It’s All about the Reader

Crafting your content so that it informs and provides the reader with a way to use or enhance the knowledge they receive brings even better results. Related information such as reference books, events, products or services depending on the subject of your content. An excellent resource for combining different methods to deliver knowledge to your audience is Lynda Felder’s book “Writing for the Web: Creating Compelling Web Content Using Words, Pictures, and Sound.”.

Keep in mind that when you are writing for your website, you best bet is to approach it like a conversation, instead of a report. A conversational tone engages people and helps them fully understand your message. However, respect your visitor’s time; get to the point of your paragraph quickly or you risk losing their attention.

A face to face conversation doesn’t include the shorthand code that’s used when sending text messages on a mobile phone.  So it’s a good idea to resist the temptation to use it when you write the information for your website,  unless of course, that is what your website is about.  It’s very convenient to think that everyone understands what these abbreviations represent, but that’s not the reality. It’s worth remembering that many of these terms have a short span of popularity; a few months from now, they may no longer be used. If you use these terms today, will your content make sense a year from now?

Providing information that makes sense and is easy for the reader to understand is probably the most important part of being a copywriter.

Next time, we’ll take a look at some of the technical  tools you can use for copywriting for relevancy.  Thank you for taking time to read this article.

[poll id="1"]

 

Enhanced by Zemanta

In this tutorial, we will explain how to take a flat logo and animate it using Photoshop’s new 3D and Timeline features. Let’s get started!


Tutorial Assets

The following assets were used during the production of this tutorial.


Step 1

Open the logo in Photoshop. Note that the PNG file contains transparency—this is important when we convert to 3D. There’s no need to adjust the image size since we will change it at the end when we save it as an animation.


Step 2

Select the Crop Tool and extend the top and bottom to give our scene more space. Hit Enter to commit to the changes.

Use the Rectangular Marquee Tool to select just the ‘envato’ text (the leaf is excluded) and click on the “Add Layer Mask” icon in the Layers Panel. This will isolate just the text.


Step 3

To make things easier, I’ve renamed the only layer to “Text.” Go ahead and make a copy of this layer, rename if “Leaf,” and click on the Layer Mask (this targets the mask, making it editable). Press Command/Ctrl + I to invert the selection and thus, isolating the leaf. The result should look identical to the original image that we opened. The only difference is that the text and leaf icon are now on separate layers.

With the “Leaf” layer still active, go to Layer > Layer Mask > Apply. This will remove all delete all pixels that were hidden by the mask.

Next, go to 3D > New 3D Extrusion From Selected Layer. This will automatically bring up the panels we need to work in our 3D scene.. If not, you can always go to Window > Workspace > 3D to force those panels open. Notice that the “Leaf” layer now appears as a 3D object llayer.


Step 4

In the 3D panel, select the “Leaf” object (denoted by the extruded star icon) and go to the Properties Panel and set the Extrusion Depth to 35. Also, deselect Catch Shadows and Cast Shadows.

We now need to move the “Leaf” object to the exact center of our scene. Before we do this, it will help to change our camera to a better view. Select the “Current View” layer in the 3D panel, then select the “Top” preset in the View setting .

On the canvas, use the onscreen widget to position the leaf in the exact center of our scene (denoted by the intersection of the red and blue lines).


Step 5

Currently, our canvas is showing the Top View. Select “Default Camera” in the 3D panel to reset the camera. Notice that the leaf object does not appear to be in its proper position. We will fix this in the next step.

Currently, the leaf appears out of position. To fix this, use the camera tools in the top menu to move the camera until the logo is properly placed. By moving just the camera, we can make the leaf object appear to be back in it’s proper position. It is important that we do not actually move the leaf object like we did in Step 4.


Step 6

Now, we’re ready to animate—click Create Video Timeline in the Timeline Panel. If you don’t see the timeline panel, then go to Window > Timeline.

When you do this, you will see all the layers displayed as separate video layers in the timeline. In this case, we will have two video layers.


Step 7

Since we want to animate the “Leaf” object, we need to access its properties in the timeline. Twirl-down the “Leaf” layer to show all properties that can be animated. For this aniamtion, we will focus on the “3D Scene Position.”

Click the stopwatch icon to Enable Keyframe Animation. This will add our first keyframe to our timeline (denoted by the yellow diamond).

Since Keyframe Animation is enabled, Photoshop will automatically add a keyframe when we make changes to the scene’s position (or rotation). Before we start rotating our scene, we need to indicate how long it will animate for. Do this by dragging the Current Time Indicator (denoted by the blue slider) to another point in the time bar.


Step 8

Back in the 3D Panel, select the “Scene” layer and go to the Properties Panel. In the Properties Panel, select the Coordinate icon and change the “Y Angle” value to 360. This will rotate the scene around its Y-axis 360 degrees.

Notice that a new keyframe has been added to our timeline. Using the Current Time Indicator, you can scrub back and forth to see how our 3D object animates. Since our “Leaf” object was placed in the exact center of our scene, we should see the leaf spinning in place.


Step 9

Our goal is to have the “Leaf” object appear to continually rotate around its axis while only showing the front face of the object. To do this, we first need to make a copy of our “Leaf” layer. In the Layers Panel go ahead and copy this layer. Notice that a copy of this layer also appears in our timeline.

Next, scrub through the timeline until the “Leaf” object makes three-quarters of a turn.

Grab the beginning of the “Leaf copy” video layer and drag it to the red line. This video layer is now cropped and will start animating right after the three-quarter turn.

Now, scrub over the first part of our animation and find the point at which the object makes its first quarter turn. This time, drag the ending of the “Leaf” video layer so it stops at the red line.

Finally, slide the “Leaf copy” video layer over to the red line. Scrub through the timeline to check that the animation is smooth.


Step 10

Before we render any frames, we have to tell Photoshop which frames we want rendered. Use the Current Time Indicator to scrub through our animation to locate the point where our object appears to make a full rotation. Use the slider immediately below the timebar to set the end of the work area. Now, only these frames will render.


Step 11

With our scene complete we can set up the final animated GIF. We will cover two options to save out our animation: Option 1 will quickly save out a low-quality GIF; Option 2 will take more time, but allow us to produce a high-quality GIF.

The first option is to go to File > Save for Web. This option skips the rendering process and will save out the frames as they appear on our canvas. Go ahead and change the settings as you see fit. Click Save when done.

Here is an example of the final animation using Option 1. Notice that the edges of the leaf appear jagged.


Step 12

The second option will require our scene to be rendered first. It is highly recommended to save at this point. Now, go to File > Export > Render Video and make the changes as shown. Make sure to select “Photoshop Image Sequence” as the output. This will render our scene as individual frames.

After all the frames have rendered, we can open them as an animation. Go to File > Open As and navigate to the folder we just created with all of our rendered frames. Select the first frame and click “Image Sequence” at the bottom of the window. Click Open. You will also see a dialogue box for the Frame Rate, just click OK.

The rendered images should automatically appear in a new timeline as a new animation.


Final Rendering

The last step is to save out the animation as a GIF. Just repeat Step 11 and you’re done!.



Optimize Magento in the Cloud

17.07.2012

POSTED IN PHP, PHP 5 | Comments Off TAGS : ,

In this follow-up tutorial, we’ll optimize Magento, add a Redis cache, SSL and DNS alias, then scale the application for benchmarking and production. The following assumes you’ve already used the first tutorial to launch a basic Magento cloud application on Pagoda Box. Ready to optimize?


Requirements

You can download the finished code for this tutorial, or install Magento from a Quickstart to test a working site.

Fair Warning: Pagoda Box is not traditional hosting. This tutorial not only optimizes Magento, it lays the groundwork for a progressive continuous integration workflow.


Step 1: Enable eAccelerator, XCache or APC Cache

Enabling a Bytecode Cache will optimize performance, especially with large codebases such as Magento. You could use eAccelerator or XCache bytecode caching, but Magento recommends APC. To enable APC, simply add it to the list of php extensions in the Boxfile as follows:

web1:
  php_extensions:
    - apc

Your new Boxfile should look like this:

web1:
  name: mag-app
  shared_writable_dirs:
    - media
    - var
  php_version: 5.3.8
  php_extensions:
    - pdo_mysql
    - mysql
    - simplexml
    - mcrypt
    - hash
    - gd
    - dom
    - iconv
    - curl
    - soap
    - apc
  after_build:
  - "mv pagoda/local.xml app/etc/local.xml"
cron:
    - "*/15 * * * *": "curl -s -o /dev/null http://magento.pagodabox.com/cron.php"
db1:
  name: mag-db
  type: mysql

Step 2: Create a Redis Component

By default, Magento sessions on Pagoda Box are located in writable storage, and are accessible to all your web instances. This tutorial moves sessions to Redis, which is an “advanced key-value store”. Redis provides extremely powerful in-memory caching, coupled with persistent data for far better read, write, and session performance.

Create a Redis Cache from the Boxfile

First, enable the Redis extension by adding - redis to the extensions list in the Boxfile, just as we did for APC. This allows your PHP components to connect with Redis. Also add a Redis cache component to your Boxfile as follows:

cache1:
  name: mag-cache
  type: redis

Your updated Boxfile should look like this:

web1:
  name: mag-app
  shared_writable_dirs:
    - media
    - var
  php_version: 5.3.8
  php_extensions:
    - pdo_mysql
    - mysql
    - simplexml
    - mcrypt
    - hash
    - gd
    - dom
    - iconv
    - curl
    - soap
    - apc
    - redis
  after_build:
  - "mv pagoda/local.xml app/etc/local.xml"
cron:
    - "*/15 * * * *": "curl -s -o /dev/null http://magento.pagodabox.com/cron.php"
db1:
  name: mag-db
  type: mysql
cache1:
  name: mag-cache
  type: redis
  

When a Redis component is included in the Boxfile, a Redis cache is automatically added to your infrastructure when you deploy updates.

Alternate: Create a Redis Cache from the Dashboard

You can also create a Redis cache from the Pagoda Box Dashboard. The Dashboard is also where you scale the Redis component.

First, click “Add Cache” in the Dashboard.

…then choose Redis.

Once your new cache component has been deployed, click it in the Dashboard, then choose your preferred amount of RAM as follows:

Data is persistant with Redis, so you can resize the cache without losing sessions or caching data held in memory, unlike Memcache.


Step 3: Configure Magento for Redis Sessions and Cache

This tutorial shares a single Redis component for Magento sessions and caching. If your site receives enough traffic, creating a separate Redis component for both sessions and caching can provide an added measure of performance.

Redis Sessions

Configure Magento sessions to use Redis.

If you ever need to override Magento default files (like we will here), do not modify Magento’s core files. Override files should always reside in Magento’s Local Directory to protect functionality and future upgrades.

  • Edit the session handler section of your local.xml file to use Redis, and set the session save path as follows:

    <session_save><![CDATA[redis]]></session_save>
    <session_save_path><![CDATA[tcp://tunnel.pagodabox.com:6379]]></session_save_path>
    
  • Next, add Redis support to Magento by overriding a core Magento file. Copy the file:

    app/code/core/Mage/Core/Model/Session/Abstract/Varien.php
    

    Then create your own local version at:

    app/code/local/Mage/Core/Model/Session/Abstract/Varien.php
    

    In the new file, around line 62, add the following:

    case 'redis':
                    ini_set('session.save_handler', 'redis');
                    session_save_path($this->getSessionSavePath());
                    break;
    

Redis Cache

Now, configure Magento cache to use Redis, as well.

  • Add the Credis library and Cm Module to enable Redis as a Magento cache. The module consists of one file, which you can download here. Although the Cm module author recommends installing via modman, modman doesn’t correctly register all submodules with Pagoda Box. Instead, save the file as: app/code/community/Cm/Cache/Backend/Redis.php.

    Add the Credis library as a Git submodule to your project:

        $ cd your_site_dir
        $ git submodule add git://github.com/colinmollenhour/credis.git lib/Credis
        
  • Once again, edit the local.xml file. Change the cache delcaration and it’s contents as follows:

            <cache>
              <backend>Cm_Cache_Backend_Redis</backend>
              <backend_options>
                <server>tunnel.pagodabox.com</server>
                <port>6379</port>
                <database>0</database>
                <force_standalone>0</force_standalone>
                <automatic_cleaning_factor>0</automatic_cleaning_factor>
                <compress_data>1</compress_data>
                <compress_tags>1</compress_tags>
                <compress_threshold>20480</compress_threshold>
                <compression_lib>gzip</compression_lib>
              </backend_options>
            </cache>
    
  • Set far future expires to drastically reduce the number of requests per visitor as they browse your site. Do this after finishing frontend theme work. Adding the following static_expire directive to the web1 section of your Boxfile will expire static asset caches after 1 year.

    web1:
      static_expire: 31536000
    
  • Add the updated files to git, commit and push to Pagoda Box.

    	$ git add .
    	$ git commit -m 'installed and configured redis'
    	$ git push pagoda --all
    
  • After deploying, clear the Magento system cache by logging into your Magento admin and going to System -> Cache Management, then clicking ‘Flush Magento Cache’.

NOTE: Avoid JS & CSS in Writable Storage

Magento has a few optimization utilities that merge javascript and css files, then place them in Pagoda Box’s shared writable storage. Most of the time, that’s a non-issue, but at high traffic volume, Pagoda Box can access files from the distributed web instances much faster than files in shared writable storage. For high traffic performance, keeping javascript and css in the repo outperforms minification.

To turn file merging off, log into your Magento admin panel, then navigate to: System > Configuration > Developer

Choose “No” under JavaScript Settings and CSS Settings as follows:


Step 4: Verify Redis is Working

Now that Magento is configured for Redis, verify that everything is working. Follow this Redis guide to establish a secure tunnel, then use the terminal to access Redis on Pagoda Box. Once connected, run the following command to display a list of all stored keys.

$ keys *

Assuming you’ve browsed the udpated site, you should see a list of assorted keys. If you see session keys only, cache keys only, or if you don’t see any keys at all, review your configuration settings and ensure you’ve cleared the Magento cache.

For a full list of useful commands when using Redis, see their official documentation.


Step 5: Adding DNS / SSL

Piggyback SSL is free and automatic for every app on Pagoda Box at their app’s subdomain (appname.pagodabox.com). While it’s possible to benchmark using Piggyback SSL, we’ll enable Third-Party SSL for purposes of the tutorial. Wildcard Certs and Self-signed SSL are detailed in this
“>DNS / SSL guide
.

Add SSL

Begin by clicking the “Add an SSL Certificate” button under the DNS / SSL Tab in the Pagoda Box dashboard.

Next, choose whether you’re creating a certificate, or using an existing SSL certifcate, as we are here. Assuming you’ve got an existing certificate, click “Transfer Existing”.

Finally, paste the relevant information into the appropriate field and activate. Your SSL Certificate is now saved with your application.

Add A DNS Alias

After you’ve entered an SSL Certificate, it will appear in your list of available SSL Certificates. If you haven’t already, add your custom domain as a DNS Alias to your application. Click “Add New Alias” and enter your registered domain as the alias. Pagoda Box will assign a shared IP address by default, but this will change when you associate an SSL certificate with the DNS Alias.

Finally, associate your SSL certificate with your DNS alias by selecting it from the SSL dropdown list next to your DNS Alias, then click “Save”. With the SSL certificate now tied to your DNS Alias, your alias gets a unique, dedicated IP address.

Once you associate an SSL Certificate with a DNS alias, that alias will get a dedicated IP address. Make sure to verify that your A-Record matches the IP provided after you add, delete or modify your SSL Certificates.


Step 6: Benchmark with Blitz.io

We’ve used Blitz.io to benchmark a few Magento applications. It tests both http response and database writes using variable lists URLs and Cookies.

To start, create a free account on Blitz.io. Once you’ve registered, look for the “START!” button at the bottom of your welcome page.

Click “Start”, and Blitz will provide a series of simple tutorials that explain the variables you’ll use in a Query URL to test your application. For our purposes, your base Query URL should look something like this:

-p 1-24:60 -r california -T 4000 -v:cookie list[d1b1530ff8694817e1f11f55e0a4a120,805d9a11f3b9f8ea35ee2db1d9aac3fc] -v:urls list[index.php,furniture.html,ottoman.html,about-magento-demo-store,checkout/cart/add?product=51] -b "my-cookie=#{cookie}Ó http://magento-demo.pagodabox.com/#{urls}

Specifically, that query will gradually test 1-24 concurrent visitors (can test to 250 with Free account) over 60 seconds, from California, timing out at 4 seconds. The query also sets a list of cookies and URLs as variables, plus the domain we’re testing. We’ve included a Home page, CMS page, Catalog page, Product page and Checkout page to test.

Using Cookie variables and a checkout/cart/add?product URL lets us test the DB writes. Obtain a list of valid cookies by navigating your site in Chrome > Inspect Element > Resources > Cookies > [yoursite] > frontend. Copy the key from the Value column, as indicated below:

Replace the cookies, URLs and Domain from the URL query above with the appropriate elements from your site, then enter the new query on Blitz.io, and click “Run”.

The first time you “Rush” your app, Blitz will display an Authorization Error and ask you to prove ownership by adding a specific URL to your app. Follow the onscreen Blitz instructions for creating a unique authorization file on your local computer, then push changes to Pagoda Box.

	$ git add .
	$ git commit -m "blitz auth file"
	$ git push pagoda --all

Confirm the new file is in place by visiting the URL in a browser. You should see “42″. Note that the “root of your www directory” is the root of your project unless you have configured document_root in your Boxfile to be another directory.

Once everything is in place, you’re free to adjust Blitz variables and test. For example, changing 1-24 to 60-60 will change concurrency from a graduated increase to 24 concurrency to 60 sustained concurrent visitors. Isolating URLs in the variable list allows you to identify performance bottlenecks by isolating various page types. You can even test DB write capacity by using the checkout/cart/add? url.

Of course, benchmarking is simply an indicator to help scale the application. Make sure to scale to various levels as you benchmark, noting the change in results (see Scaling Magento video). Blitz.io should help identify application bottlenecks and determine the appropriate scale for your expected traffic.


Step 7: Scaling on Pagoda Box

There has been quite a bit of initial prep work to get to this stage, but this is where it all comes together. Continuous integration, ongoing management, and scalability are now much simpler. As you benchmark, keep in mind that charges are hourly. Scaling to test briefly will cost only a few dollars.

Scaling Web Instances

To scale your web application for more traffic, open your Web Component from the Pagoda Box dashboard as follows:

Then, click and drag the slider to the desired number of instances, and click “Save”. Pagoda Box will deploy Magento from your repository to new instances. After all instances are built and verified, the routing layer will redirect traffic to the new instances, and decommission the old without any downtime (again, see Scaling Magento video).

Note: As you’re using it, the slider appears to max out at 25 instances, but will reset for greater scaling after the upper limit has been saved.

Scaling a Database : Cloud (Cache Components are identical)

To scale your cloud database, open your Databsase Component from the Pagoda Box dashboard as follows:

Notice the Red Face is unhappy because RAM usage is too high. To increase RAM, click the green “Change” arrow, select your desired amount of RAM, and click “Save”.

Pagoda Box will create a larger database, migrate data, sync via master-master replication, then point your application to the new database. Your site is live throughout the migration.

Scaling a Database : Private

To scale your Private database, open your Databsase Component from the Pagoda Box dashboard as follows:

Select the resources you’d like for your database, determine if you’d like replication, then click “Save”.

Pagoda Box will create a larger database, migrate data, sync via master-master replication, then point your application to the new database. Your site is live throughout the migration.

Keep in mind that ordering a Private database may take more than 20 minutes, as a server is provisioned to your specifications.

Note: currently, scaling from a Cloud database to a Private database requires some downtime as you manually migrate data. Scaling from Cloud to Cloud, or Private to Private is always automatic.


Summary

That’s it! Your Magento application is now fully scalable in an instant, and updates are easily deployed with $ git push pagoda --all. Enjoy!