WordPress Meetup: Q&A

Thanks to Clark Wimberly for setting up tonight’s meetup. See his notes at clarklab.net.

Look for the video online soon at Austin Tech Videos.

Using a staging server to deploy changes

Presented by Chris Lazan and Mark Kelnar of WP Engine

They demonstrated their staging system which allows you to upload plugins and themes and test them before making the changes live.

If you’re not using the WP Engine hosting, the best plan is to use phpMyAdmin to backup your site, work on the site on a localhost, and then upload it to the live site.

Bill Erickson has a great post on his site that details out the process to move a site from a local/development server to the live site.


What is a custom post type

Presented by Clark Wimberly

What is a post?

  • Posts – blog posts, which are the chronologically-based posts
  • Pages hierarchical organization
  • Attachments,  Revisions and Nav menus are also posts

Custom post types can add new content by allowing you to add additional types of posts.

When you register a new custom post type, it is separate from normal loops/queries. They won’t show in RSS or widgets unless you want them to.

Register a new custom post type in functions.php. You need to define just a few options but that’s it. The new post type will show up in your WP-admin immediately.

See Clark’s presentation for an explanation of how to create a custom post type. Justin Tadlock also offers a tutorial on how to set up a custom post type.

Themergency has a code generator for custom post types.

More info on custom post types at WP Beginner.


Keeping your HTML safe from the editor

Presented by Pat Ramsey

The problem: if you put HTML in your page/post, it can get corrupted if someone goes in to edit that page later. If you create a shortcode, you can place a marker in the page to some HTML that resides in your functions file rather than in your HTML code in the editor.

Shortcodes are text in [brackets].

He showed code for your functions.php file to create different shortcodes.

This is particularly useful for adding HTML to widgets. You can pop in a shortcode into a text widget rather than HTML code. You will have to enable this in your functions file.

You can read more about shortcodes on Bill Erickson’s site as well as the WordPress codex.


WordPress beyond blogging

Presented by Jo Carrington

Using WordPress as a content management system: allows us to define any arbitrary amount of content like posts and pages. Can use custom post types to create new content areas.

How to create custom post types with plugins.

Let’s pretend we have a bookstore website. We would need:

  • Posts
  • Pages
  • Books: Title, Publisher, Author, ISBN, Price (each of these is a field)
  • Staff: Name, Photo, Bio, Twitter
  • Events: Name, Time, Description

Two plugins:

Create the new custom post type with More Types. Then you can add additional fields with More Fields. You will need to edit your template file (php file) with a WordPress hook to get this information and display it. Go to the WordPress Codex for the get post meta code to add the code into your site.


What is the Loop?

presented by Nick Batik (our brave soul for the evening)

The WordPress loop basically does this:

 if there are posts

    while (there are posts)

    do something


 An example of the loop in the WordPress Codex – see the section “the World’s Simplest Index Page” for a simple example of the loop in action.

The loop is the core of every single page displayed on your website. Every page/post on your site will run the loop, even if there’s just one post.

Look at the template files for the default WordPress theme Twenty Eleven for different examples of the loop.

One suggestion from the group: the premium plugin Loop Buddy allows to modify the loop without getting into the code.

WordPress for Bloggers

Tonight we welcome Julie Gomoll and Clark Wimberly to talk about using WordPress for blogging.


Getting Started with WordPress (WP 101) class: Sept. 20th, 7-9pm at Cospace.

Blogathon Austin – Oct. 1st at Link CoWorking. All-day blogging, conversations, tech support for bloggers. Join us!

Submit a question for next month’s meetup


 Julie Gomoll

Julie is a graphic/web designer and entrepreneur. In the 90s Julie started up Go Media, which she sold to Excite. She “rode the internet wave” going from 35 employees to 3500. She started blogging in 2004 or 2005, but when she got into WordPress she felt she could control her own destiny. She feels like she has a lot of power with WordPress without being a coder.

How to develop a content strategy

When you’re planning a blog, you need to have several ideas at hand. You should have a plan for at least a couple of months or you’ll run into trouble. Do they all have to be all long thought-out articles? Actually a mix might be ideal. A long post makes people realize you’re serious. But there’s nothing wrong with a post that’s brief and spontaneous, as in, “this is a cool thing I found today” so you are generating content on a regular basis. A blog is a living thing.

Plugin to help with this process: Editorial Calendar – allows you to plan and schedule your posts.

Reposting content

Actually reposting content is a bad idea because Google will penalize you for duplicate content, even if it’s on another website/blog. But referencing a previous article is a great idea because it will drive more traffic to your site and help with your search engine optimization (SEO).

SEO is using keywords, headlines, names of categories and navigation so that when people are searching for things, they will find your blog.

Inserting a link that says “click here” isn’t useful for Google. Instead, make the links contextual, so make your links more along the lines of “see another recipe”.

Coming up with content for your blog

An opportunity for new content that helps also bring traffic to your site: interviews. The subject of your interview will tell their friends, it will add credibility to your site, and is always a good way to generate content if you’re out of ideas. You can ask someone a few questions via email and then post the answers on your blog. Keep in mind that videos are also great but they won’t help you with SEO as much unless there’s a transcription.

Don’t be afraid of controversy!

For photos: try Flickr – search for Creative Commons photos that allow for republishing

Blog design

What’s the difference between a blog and a website? A blog is a website. It just has posts in chronological order with the most recent on the top.

What are good themes? There are great premium themes (ones you have to pay for) including Thesis and Genesis. There are also a lot of great free themes, but there are also some really bad free themes.


Register with MailChimp, Constant Contact, etc. first; they will then have a plugin that you can add to your site. –

Meenews – lets you style your newsletter to match your blog. (Nick recommended)

WP-Instapay – Sales Processing and Order Fulfillment system (Sandi recommended)

How to monetize your blog

Lots of options.

  • Google Adsense – ads on your blog
  • Join ad networks in niche markets
  • Sell your items – ebooks, merchandise
  • Affiliate sites – Amazon Associates, , Commission Junction
    (Keep in mind that you need to state that you are receiving compensation for items. You can have a disclaimer page that states that the read can treat all links as endorsements.)
  • Free stuff (like ebooks) can generate business leads, mailing lists, etc.
  • The best way to monetize your site: If you are becoming an expert and getting traffic, you will gain credibility all over the place. You might be asked to speak at conferences or given other opportunities to consult or write guest blogs – all of which can bring you considerably more compensation than ads or affiliate links will ever achieve.

Building traffic

  • Need really compelling content that people want to read
  • Are people who are looking for that content able to find it?
  • Comment on other blogs
  • Do you have compelling headlines?
  • Write about issues people are searching for
  • Contribute to local print media/newsletter with links to your blog
  • Follow other blogs in your field/subject matter and see what they’re writing about (and do this regularly)

Categorizing and Tagging

Categorizing is great for SEO, especially if the category is in your URL.

Tags are not useful unless you have a strategy for using them. Each tag creates new pages and it can lead to site bloat. However, if you tag effectively, it can keep people on the site as they follow the tags like breadcrumbs.



Clark Wimberly

All of the notes and links to Clark’s presentation

Clark runs the Android and Me blog.

Backup often: use import and export; back up via FTP; backup with phpMyAdmin; store offline with VP (Vault Press) or other backup plugins.

When code editing (CSS, PHP, etc.) – Edit smarter: use a real text editor; avoid the built-in editor; practice version control; run a development server.

Test smarter: use a staging area; run it locally; do it online with subdomain; find a fancy host.

Know the loop

Own your own theme: learn the template hierarchy; create custom templates; make a child or sibling theme

Google like crazy: Answers for everything; try, try again; check the date; copy and paste and tinker

Managing a freelance WordPress development business

Tonight’s meetup features WordPress Consultant Bill Erickson.

(Live streamed at http://www.ustream.tv/channel/wordpress-austin).


Bill Erickson: Tools for organizing his development business

Video streaming by Ustream

Being a WordPress developer means not just knowing WordPress but how to run a business.

Tips to waste less time communicating with clients

  • Clear communication eliminates frustration & sets expectations
  • How much does it cost – state rates and mimimum charge upfront
  • Give example of projects
  • What services do you provide
  • Stock emails for every kind of client interaction and stage of process

Managing business

  • Uses email as initial form of contact – contact form rather than phone number
  • Clear emails serve as a contract/agreement with client.
  • Once email contact has been established, all information goes into custom CRM (Customer Relationship Management tool) for prospect and project management
  • Clearly communicate scope of work, billing, timeframe
  • Once they agree, invoice is sent out for 25%; project completion at end of one week (not including changes); balance is due in 3 weeks regardless of whether or not the client has all changes in.
  • Everyone on calendar has paid 25%
  • Clear rules and deadlines – everything is organized.
  • Keeps track of time spent, budget, effective hourly rate
  • Tracks inquiries, conversion rate
  • Define time for calls – you can’t get work done if you’re always taking calls. Schedule phone calls, and be accessible by phone. For example: 8-10 am – emails; 10-12 pm – phone calls; 1-5pm – coding
  • Follow WordPress development for information on new features, code
  • WordPress is based on backwards compatibility

Bill’s CRM tool – more info (and download link): http://www.billerickson.net/wordpress-genesis-crm/

Recommends plugins to use with CRM:

When migrating sites, Bill recommends never use WordPress’ Import and Export tools – it doesn’t grab everything, sometimes breaks links. Bill has a different process – visit his post on how to move a website.

Also referenced:
Flex Slider for WP Rotator – plugin developed by Bill Erickson: Turns WP Rotator into FlexSlider, a fully responsive jQuery slider.

Toggl.com – time management/billing tool


Security – Backing-Up Your Site

This entry is part 4 of 4 in the series WordPress Security

Install a plugin or use cronjob to create database and file backups on a regular basis. This may not be directly related to security, but in case you detect intrusion, you will be glad you make a backup.

I personally like BackWPup.

Security – Locking Down Your Site

This entry is part 3 of 4 in the series WordPress Security

Hide WordPress Version in the Header Tag

Although you have deleted the WordPress version meta data from your theme, you may still get WordPress version line in the page returned by the blog software. The culprit is, since version 2.5 WordPress has added the feature to generate this code.

Add the following line to the functions.php file in your theme directory: (Create a blank PHP file with this name if your theme doesn’t already have one)

<?php remove_action('wp_head', 'wp_generator'); ?>
It is important to note that even with all of those above implemented, there is no guarantee that your blog will be safe. Just that you decrease the chance tremendously and discourage those crackers from targeting your blog.

New exploits are discovered every so often and when a fix has not been made available yet, everyone is at risk. However, by implementing all or some of the tips above, at the very least it should give you peace of mind that you are not leaving your house unlocked.

I recommend the plugin Better WP Security which is easy to use and configure, and does many of the security functions for you.

Security – Proper WordPress Installation

This entry is part 2 of 4 in the series WordPress Security

Change The Default “Admin” Username

The problem
Brute force is one of the easiest ways to break a password. The method is simple: try as many different passwords as possible until the right one is found. Users of the brute force method use dictionaries, which give them a lot of password combinations.

Knowing your username makes it easier for them to guess the right combination. This is why you should always change the default “admin” username to something harder to guess.

Versions of WordPress starting with 3.0 let you choose your desired username by default, so there should be no excuse for not doing it right. If you have a site that was created with an older version, Admin renamer extended.

Pick Secure Password for Admin

Changing your admin username to something else is not a guarantee that people will not be able to guess it. For instance, if you use your username as the displayed meta data in every post, or you enable author specific page in multi-author blog, you will reveal your user name to the world.
With that assumption, you should pick secure password for your WordPress login. Combine upper and lowercase characters and numbers.

You can change your password after your site is installed. You may even want to to change it on a regular basis. I recommend the plugin WP Security Scan because it has a password generator.

Populate wp-config.php Properly

Go through each line in wp-config.php, not only the first block for database configuration.

Use WordPress secret key generation tool to generate random salts for WordPress cookies. These keys are used to insure better encryption of information stored in WordPress user’s cookies.

There is an automatic generator for these at: https://api.wordpress.org/secret-key/1.1/salt/

You also want to modify the WordPress table prefix to something other than wp_. Adding random characters and numbers to the end of wp, such as wpRbX3i_ obfuscates it enough but still allows you to recognize the tables as those belong to WordPress.

Security – Prevent Directory Browsing

This entry is part 1 of 4 in the series WordPress Security

By default, most hosts allow directory listing. Because there are a standard set of directories in a WordPress installation, the hacker can go directly to the directory inside your site and see all of the files in that directory. This is definitely a security risk, because a hacker could see the last time that files were modified and access them.

This is a simple but important problem to fix. You have three options:

  1. Place an empty file in each directory with the name INDEX.HTML or INDEX.PHP
  2. If you are using an Apache webserver, modify your .htaccess file
  3. Use a Security plugin (see the end of the series for suggestions)


DiY content slideshow in WordPress

Content rotators or faders are everywhere, it seems. There are several plugins for WordPress that enable this on your site. In the mix, there are some very useful & handy ones. Dynamic Content Gallery, WP-Cycle, and WP-Rotator are three excellent slideshow plugins that I have used and are in my go-to list of WordPress plugins. That said, there always seems to be something that I don’t need or that I wish I had in one of these plugins. That’s when I look to writing my own custom slideshow tool using some WordPress code, CSS, and javascript to do exactly what I want.

There are three steps in this process:

  1. Write the query to grab the content. This is a custom Loop. Nothing really fancy there.
  2. Write the CSS to style the content.
  3. Include and write the necessary javascript to make it behave the way we want.

Writing the query

I believe it’s best to write the query in its own php template file. I created a file in my theme’s directory called slider.php. All my code for the custom Loop and the output will go here. Edit slider.php and add this code:

<div id="featured"> <!--The main container for our featured content -->
$featured_query = new WP_Query('cat=3&showposts=5'); // We create the query. Grab the 5 most recent posts in the category ID '3'
while ($featured_query->have_posts()) : $featured_query->the_post(); // Start our Custom Loop
$do_not_duplicate[] = get_the_ID(); ?>

<div class="featuredcontent">
<?php the_post_thumbnail( 'Featured_Slider' ); ?>

<h3><a href="<?php the_permalink() ?>">?php the_title(); ?></a></h3>

<p><a href="<?php the_permalink() ?>"><?php get_the_excerpt(); ?></a></p>
<?php endwhile; ?>

In the beginning of the code, we create a new query:

$featured_query = new WP_Query('cat=3&showposts=5');

You can customize this to your needs – I advise reading up on query_posts and wp_query in WordPress’s Codex.

After we create our new query, we output the results. In our case, we show the Featured Image, the title and the excerpt, both linked to the Post’s permalink. Slider.php is included in my theme using the get_template_part(); template tag in my index.php file. Place get_template_part(); where you want the slider to appear:

<?php get_template_part('slider'); ?>


Now we need to write some CSS rules to format the content for our slider:

#featured {
position: relative;
z-index: 1;
height: 420px;
margin-bottom: 1.3em;
background-color: #000;

#featured .featuredContent {
overflow: hidden;
width: 640px;
height: 420px;

#featured .featuredContent .featured_text {
position: absolute;
top: 310px;
width: 620px;
height: 100px;
padding: 10px 0 0 20px;
background-color: rgba(0,0,0,0.8);
z-index: 2;

#featured .featuredContent h3 {
color: #fff;
margin: 0 0 0 0;

#featured .featuredContent h3 a,
#featured .featuredContent h3 a:visited {
color: #fff;
font-weight: 800;
font-family: Helvetica,San-serif;
text-decoration: none;

#featured .featuredContent p {
color: #fff;
margin: 0 0 0 0;
font-family: Helvetica,San-serif;
font-size: 0.9em;
line-height: 1em;

#featured .featuredContent p a,
#featured .featuredContent p a:visited {
color: #fff;
text-decoration: none;

Make slider go fast now

We’ve created our new query, we’ve styled its content, now we add in the behavior – the sliding, fading, etc. The first example is a bit of javascript, using jQuery, that makes the divs with the class of featuredContent fade in & out. The second example uses jQuery Cycle. Both examples require you to enqueue WordPress’s included jQuery and an external javascript file you’ll create in your theme’s directory.

First, how do you properly load jQuery and your external javascript? If you add script tags in your theme’s header, you run the risk of loading javascript twice & possibly conflicting with javascript loaded by a plugin. The proper way to load javascript is to use the wp_enqueue_script function.

In your theme’s functions.php, add this code:

function my_scripts() {
get_bloginfo('template_directory') .'/js/my.js',

You can repeat the wp_enqueue_script function for other scripts you need to load.

For both examples, I created a file in my theme’s directory called my.js. This is where we write any custom javascript.

A simple fader using just jQuery

This example calls jQuery, then runs a script which fades the .featuredContent divs.

jQuery(document).ready(function($) {

var jS = $('div.featuredContent');
jS.hide(); // not needed if css hides elements initially
var i = 0;
function do_ticker() {
jS.eq(i).fadeIn(500, function() {
var me = $(this);
setTimeout(function() { me.fadeOut(500,
function() {
i = ++i % jS.length;
}, 5000); // setTimeout


The first and last lines load jQuery, in-between goes our custom javascript.

var jS = $('div.featuredContent'); //the element that's fading in & out - div class="featuredContent"

jS.eq(i).fadeIn(500, function() {
var me = $(this);
setTimeout(function() { me.fadeOut(500,

//500 is the duration of the transition in milliseconds (half a second) - how long both the fadein & fadeout take

}, 5000); // setTimeout in milliseconds (5 seconds) - how long each slide is visible

Why use the custom jQuery code instead of an effects plugin like jQuery Cycle? 1) You just want a fader, nothing more. 2) You want to minimize the amount of code you’re loading. That said, if you need some flexibility in the transitions, something like jQuery Cycle might be best.

Using jQuery Cycle.

jQuery Cycle is a slideshow plugin for jQuery that lets you use many different types of transitions – not just fading. To use it, we need to do two things differently:

1) load jQuery Cycle using wp_enqueue_script.

2) write some custom javascript.

Using our my.js file, we replace the custom javascript with this:

jQuery(document).ready(function($) {

fx: 'fade', //replace fade with other transition types to use different effects
speed:500, //how fast the fade takes place
timeout:5000 //how long each slide stays on screen


You’ll want to load jQuery Cycle before you load your custom javascript.

function my_scripts() {
get_bloginfo('template_directory') .'/js/my.js',

You’ll notice we’re loading jQuery Cycle from Github. If you want, you can place a copy in your theme’s directory and include it from there, as we do with my.js.

There we have it. A custom query, some CSS, and some javascript and you have a customized content slideshow in your WordPress theme. At the May Austin WordPress Meetup, I presented this using TwentyTen as the base theme. I’ve zipped that copy of TwentyTen with the custom code included. Enjoy!


Best Practices

Hands-On WordPress meetup
11 April 2011




Best Practices for Websites

Presented by Sandi Chevalier-Batik,Pleiades Publishing Services

[See Presentation Slides at the End of Class Summary]

Visitors and Google/search engines like logically organized websites. To do this, you need to have goals for your website, and you need to figure out how navigate your site.

  • Define the purpose for your site
  • Sell product? Inform public?

  • Identify goals
  • Make a list of things you want to accomplish with your website.

  • Identify your target audience
  • Who are you trying to reach? What does your audience want to do when they reach your site? What do you want them to do?

  • Create list of content topics and keywords
  • Who are your competitors? What words or keywords would you enter to find the products or services that you offer? What do your competitors offer? What can you do better than your competition?

    Brainstorm all the words you can think of that relate to your site and then try to whittle them down to the most relevant and significant.

    Divide the keywords into content categories.

  • Draw a flow chart of pages
  • Scribble out your site; put pages in boxes and draw lines between them. Create wireframes to figure out how pages relate to one another. How do you expect people to navigate from page to page and find the information they need? Look at competitors’ sites and see what they do right… and what they do wrong (and then do it better!). Make it easy for people to navigate the site.

    Once your site is live, find out how visitors actually use your site, and be prepared to tweak things to improve their experience.

  • Create navigation menu
  • Write out your sitemap and plan where the pages of your website will go and where each will link. Don’t let users get confused!

    Navigation menus should be consistent throughout the website.

    Top navigation bar should be limited to about eight links (or less!). More than that becomes cluttered or confusing. Housekeeping links (like your privacy policy, copyright notices, etc.) can be in the footer.

    Every page should have a link back to the home page.

    Each page should be summed up with one or two keywords that then become your navigation labels.

    Be sure you can answer these questions for every page:
    Where am I? Where have I been? Where can I go? How can I get back to home page?

    If ecommerce: make it easy for your customers to give you money.

    Don’t make visitors register just to browse your site or see your services.

    Make sure your logo is in the same place on every page.

    Don’t link to under construction or unfinished pages.

  • Develop a unified site design
  • Produce a plan: what am I going to do with this site? What kind of info will I be posting? Who is going to read this? Why am I doing this? How often am I going to be posting new information? (Google spiders get bored… there needs to be new content regularly).

    Create a visual theme that is consistent with your site’s mission and goals.

  • Design action steps for visitors
  • You need a big green button. Or something that is very clear for visitors to find and do.

  • Commit to treating your website as a business unity and follow schedule for updating content


Google Wonder Wheel
This option in google search results (scroll down and look for wonder wheel option in left-hand column; you may have to turn off instant search options off) can be a useful tool for search engine optimization and site organization. It generates top-level keywords based on search phrase; this can be helpful for organizing your site, keywords to add to your SEO metatags, and the major categories on your site. It can even help you come up with a URL for a new site.

Google Ad Words
Looking at a rundown of keywords gives you a sense for what your competitors are using. Look for keywords with relatively low competition and high number of searches. The goal is to figure out how to narrow it down to get to the specifics of what your clients are searching for. Once you have figured that out, use those terms in your site, giving useful information. Don’t just put it in your keywords… give people information, even if it’s in a FAQ.

Shows how many searches for specific keywords and cost per click. Common misspellings, pay per click competitors. Organic competitors did not buy ads but shows how often the keyword shows up in their site.

Google Alerts

Will alert you when your designated keywords are mentioned in a blog. This might give you ideas for sites with which you can network an create reciprocal website links, which helps with SEO.


Note: the document viewer below has had difficulties with the latest release of FireFox. If you do not see the PowerPoint presentation, try viewing in a different browser (Google Chrome does really well).

GDE Error: Unable to load profile settings

WP Austin Meetup 3.1.11

Tonight I will be your friendly live blogger for our discussion of Google Analytics. I will do my best to capture the conversation as it occurs.

Our presenters: Paul O’Brien, Nick Batik and Seth Thomas.

Plugins to use/track/monitor Google Analytics:

Paul uses a plugin called Google Analytics for WordPress, written by Yoast, an active plugin developer, but it requires a separate plugin to see the analytics on the dashboard. Nick also recommends Web Ninja, which gives you the analytics right on the dashboard. Our third presenter, Seth Thomas, uses Ultimate Google Analytics. A fourth plugin some people like is Google Analyticator.

The important point is that Google doesn’t care which plugin you use, and you won’t lose stats if you switch between them – so use one you like.

A few other plugins:

: allows GA integration with Mail Chimp
Twitter Tools: allows you to send notifications of new blog posts to Twitter; Twitter Tool Tagger allows you to actually track twitter traffic in tandem.

Three additional plugins Nick mentioned that might also be helpful (but for which I missed the explanations he gave) are Headline Split Tagger, and Phoenix Split Tagger, and Google Analytics Multisite Asynch.

Tips for Google Analytics accounts:

You will get one account in Google Analytics but then get individual IDs for each website in GA so you can have separate metrics for each site you administer. You can also give people view only or admin privileges to see the metrics.

Make sure your clients get their own Google/Gmail account and give them access to metrics; don’t give them access to your GA account itself.

Even if you don’t think you need the data, add GA to your site now. Let Google collect the data, and you can worry about analyzing it later when you or your client needs it. Always good to have the data collected just in case.

Looking at Google Analytics itself:

Paul pointed out the most important basic metrics:

He noted that this can be interesting but may not be useful to everyone.

Traffic Sources:

  • Direct traffic: people who have typed in the actual URL for the site
  • Search engine: what comes from searches
  • Keyword traffic: organic and keyword searches

This tells you which pages are being consumed, what they are looking at, how long they stay on a page, etc. It is important to look at keyword and content reports to see what people care about, which is a good way to tailor the business or blog in a way that is useful to your visitors.

Bounce rate:
A metric that shows how many people hit your site and then leave immediately. It is interesting, but may not be immediately actionable. If the bounce rate is high, it could affect how Google ranks your page. 34% is about average; if it’s above 50% it needs some work.

These are things you want to occur on your site exclusive of buying things (for the most part): hitting a certain page, watching a video, filling out a form. These can be set up in your profile settings. You choose which kind of goal (URL destination, Time on site, Pages/visit) to track. The reason to set up a goal is the funnel which is important if you take orders online.

A goal funnel is how successful your goal is, such as how many people click from home page to the order form and then make it to the confirmation form. The data will show how many people don’t complete the “funnel” and where they leave the process.

How many dollars were spent, where the orders were places, the type of purchase that was made, etc. You will see conversion rate (how many people convert, or pay $), how much is spent, the SKUs (what is purchased), where the money is coming from (did they hit site directly, or through search). Helps to see how effective the site is and what people are buying.

Paul pointed out that the GA dashboard can be customized with the content you most want to track.

Referring sites:
You can see which sites (such as Facebook) are driving traffic to your site over time. Good to look at week by week.

Advanced segments:
This allows you to slice the data in any way you want, pulling different metrics however you want. You can see mobile traffic; just the blog (with keywords, traffic sources, etc); you can look at all data from Facebook; all the traffic for a specific order type; people who return to site; and so on. It requires boolean (and/or) considerations: e.g. traffic source AND recurring users.

He suggested you play with the advanced segments and see what you get; you can’t break anything.

New features that are a little funky/buggy still:

  • Intelligence: compares site to other similar sites.
  • Overlay: shows a heatmap of the site traffic.

Next, Seth Thomas demonstrated how his company uses Google Analytics. He showed a spike in traffic that came from a blog mention, and it’s worth noting those things in case there are server considerations. Because he is a server admin, he uses an iPhone app called Analytics Pro to watch metrics on a daily basis.

He is interested in browser stats. He can tell that they are tech savvy (lots of Chrome users). He can also tell that they don’t like ads – which he knows, but he has data to prove it. He likes to see connection speed as well.

He noted that it’s a good idea to have the GA code in the footer of your site, and even better to have it be asynchronous, which helps optimize page speed. However, it may cause some discrepancies, because the full page has to load and the script has to fire, or that visit isn’t counted. Both the Google Analytics for WP and Web Ninja plugins put the code at the bottom and do it asynchronously.

(For those who get this far… bonus points if you get the joke in the post title.)