Optimizing WordPress For SEO – Categories

This article will discuss how and why to optimize WordPress For SEO through the use of Categories in WordPress. While this is not complicated, the secret behind Categories is using them often and appropriately in WordPress.

What’s The Point Of Creating Categories?

Well, actually Categories are content, and content is used by Search Engines to find you. So like many things on your website, Categories can really drive traffic if you figure out the proper wording, this may take some simple research, and you just fill out all the fields in the category management in WordPress. One other thing to note is the Hovering over categories will typically show the user the content of the category description. This means increased usability. In the end, for most of us, its about driving traffic, and categories in WordPress is one of the not so complicated ways to drive that traffic.

Where Are Categories In WordPress?

There are categories in 2 places in the basic WordPress Implementation. These places are Posts and Links. So if you have not yet managed these well, take note and spend a little extra time to get them up to date.

Can I Manage Categories While Creating A Post?

When creating a post you can create and mange new categories in the bottom right of the screen. Don’t forget to do this while you are creating a post. I typically do it at the very end of the process. Most important is checking the little boxes and adding the post to a category. Luckily WordPress has created the + Add New Category function at the bottom of the right sidebar. Just click the link and you will notice the ability to create a Parent category (top) and a lower hierarchy category right there as you write your post.

Why Create Hierarchies of Categories?

Hierarchies of categories help your customers find articles and information that is relevant. The hierarchies are typically used by your theme to show the category information in a useful way on your site. From an SEO perspective you are creating more content, more specific content and getting this indexed!

Need An Idea For A Category Name

If you are looking for good category names, then the best place is Google. Start by determining what you know is a good search term. Then go to google.com and enter this good search term(s) into the google search. I searched for “WordPress Categories” . Then click on the link +Show Options, right below the search box. Not sure if you ever noticed that little link there. Once it opens, the side bar has a link called Related Searches and Wonder Wheel. I use the WordPress Wheel to give me an idea of what people are searching for that is similar are more relevant, such as I see the words “WordPress Categories List”. So I actually am going to create a new category with that term for this article beneath WordPress and WordPress Categories…

Slugs And Permalinks

Slugs are used by categories for the url permalink at the top of the page for SEO purposes. Most of the time you would just let the WordPress category automatically becoming the URL. For Instance for this site the category we created above would be /wordpress-categories-list/. The actual link will be http://www.strategicpoints.com/category/wordpress/wordpress-categories/wordpress-categories-list/. Lots of typing involved here but great stuff for the search engines. If you want to change the actual slug, you go to Posts and then Categories and you can edit that URL, so I am going to switch it to http://www.strategicpoints.com/category/wordpress/wordpress-categories/wordpress-categories-lists/ no problem. I just added an s at the end… You have total control over this. Notice how the URLs show all the hierarchies of the categories when you click on the categories.

Category Descriptions

Lots of time we don’t fill this out, because it is not created during the time of post creation. This requires going back and editing the categories directly. For both posts and pages this means going to the link on the left and clicking on the “categories” link below post or page. Once in there, adding a nice description is a good thing for SEO and usability and it will pay off in the end if you fill it out. But like everything this takes a little time and energy. I am going to put a follow up post on this and let you see the results of the categories created for this article…and show you how they showed up on Google, and typically within 24 hours of the post. Now that is power! Nice!

Link Categories

Link categories, which are just as important work a little differently that posts. You will find them listed right below Links. The important difference is that you have to be careful creating link categories, because most templates do not display them as hierarchies. They are groups of links. This means that if you want only one groups of links called “Links”, then you delete the “blogroll” link category and create a “Links” category. Then you would make sure all the links are associated with the Links category. If you wanted 3 groups of links on your site, you would create 3 link categories. Just like posts, managing the links category slugs and descriptions is important as well.


Like everything in life, filling out your categories is work. If you blog for a living, this has to be done properly and you should be an expert already. Just take time to organize and fill out the descriptions and make sure everything is in place and you should be good on the search engines. If you want more and there is a lot more, then start looking at a variety of Categorization Improvement Plugins. There are at least 20 out there. I am going to review them in a my next article about WordPress For SEO – Categories update.

qTranslate WordPress language Plugin

The qTranslate plugin translates your website into multiple languages using WordPress. There are 2 major caveates that I will discuss in this article, which need to be resolved external to the plugin and that is where I have run into a few bugs.

Benefits of qTranslate Plugin:

  • Localize (Translate) your website into many languages.
  • Have your website seen all around the world and get indexed in internal search engines and get more traffic.
  • Using WordPress, makes it is possible to hire third parties to translate for you directly.
  • Automated language translation services are available.
  • Supports additional domains like es.strategicpoints.com if you want to use this method.

Challenges of qTranslate Plugin:

  • qTranslate has been around for many versions, yet we ran into a few bugs.
  • Installation is not as simple as plug and play. You have to make choices and sometimes DNS changes.
  • Support for problems is still not for non programmers. You may need a technical person to help out.
  • Needs to be planned out and may require a dev environment for larger websites.
  • Issues when you run WordPress Upgrade, often qTranslate needs to be upgraded. WATCHOUT FOR THIS ONE!

Unlike other simple plugins, this plugin allows you to create domains like es.strategicpoints.com and de.strategicpoints.com if you choose. The default would be simply strategicpoints.com/es/ and strategicpoints.com/de/, with the language represented by the directory. So you have to decide which format you are using, either a directory method or a domain name method.

The other issue that needs to be resolved is whether or not you are going to use translations that are done by hand or by a “machine”. By machine this means a translation engine has attempted to translate it for you. Apparently this old translation that most on the web used to call Babelfish, because they were an early automatic translator, as well as systran, is still giving it a go. I guess one day it would be ready for primetime.

After our first attempt at the qTranslate WordPress plugin about a year ago on a small website, there was a second attempt at it this past fall, to translate one of our medium sized websites into 3 additional languages. The first time at this had its pitfalls, but the second time around has been a lot better.

First issue that we ran into is what to call the domain names. After deciding to go with the domain name approach, we found that we were restricted to es.strategicpoints.com… This was a bit disappointing, because we had originally wanted to come up with completely different domain names per language. Maybe this will be a feature that will be added.

The next issue we ran into and still have a problem with is, once we turned it on, the wrong default language kept coming up. We wanted it to be English, but it came up German! The only thing we could think of was to set the default site to en.strategicpoints.com (you realize I am just using this site as an example). And we had to use .htaccess to do this. Not good. But of course marketing folks did not like the en. in front of a site, so we were stuck between a rock and hardplace. Have not yet resolved and we may have to hack the site to get it work right.

Overall it saved us thousands of dollars, and yes we did run into a bug with qTranslate. That said, it still was a big lifesaver and appears to be worth its weight in gold. So, if you have a bit of technical team around and want to local/translate, this is the way to do it in WordPress. In fact I can see sites switching to WordPress for just getting the qTranslate running.


So as an update to the particular bug I ran into using qTranslate, I went through and found out what the real problem was and fixed it manually. Basically the issue was that the program was looking for “de” at the beginning of the domain name. So what was happening is dev.strategicpoints.com was pointing automatically to the German language. That is because “dev” begins with “de”. The qTranslate plugin was just looking at the first two characters of the domain name, and assumed it was de.strategicpoints.com.

How did I fix this?

If you are having this bug, which I doubt, because you would have to have a domain with three parts that begins with either “de”, “es” or “en” or something like that, you could go into the qtranslate_core.php file and correct the problem. That is what I did. I went in and edited the open source code and checked for the full domain name string, “dev.strategicpoints.com” and when it matched I set the language to “en” or english, my base language. Leave me a comment below if you have any additional questions about how I fixed this, though I highly doubt that anybody will have this problem. The biggest issue now that I have solved it, is remembering to not overwrite the old plugin with a new one without fixing the code I placed in there. ..

Google Analytics Intelligence Beta – Article 1

So we all login to google analytics and are noticing this new Beta feature called Intelligence… Looks like the Google Gods have delivered for us again. Sometimes these suddenly new features are amazing, and sometimes they are lackluster. I don’t know about you, but it is feeling a little like Google has turned into the Chocolate Factory in Charlie in the Chocolate Factory. Don’t know the reference…hmmm.

The fact they are free is the amazing part, and to the chagrin of several hundred developers at competitors like WebTrends, Omniture (now Adobe) and Coremetrics it is just one more dink in the armor, especially when these types of enterprise features are considered something you would typically pay for.

Ok, so what it is… Well actually if you don’t have much traffic you won’t notice much when you click it. Since I work for a large corporation and have quite a few small, medium and large Google Analytics accounts for my sites and other clients, I can see the disparity in what you get. For bigger corporate clients there is data showing up.

2 kinds of data.

One is called “Automatic Alerts”, the other are “Customer Alerts”.

Just assume the automatic alerts they decide for you, while you have some control on your own. Weird thing is the actual types of control are very general with a simple low to high sensitivity bar. Without a lot of information about this tool, I am going to take a stab at the relevance and how to use it…

Automatic Alerts (Variance Reporting)

Like I said, if you have some data coming through that is a bit more than just 10 visits a day, you will see something. What I am seeing is any form of data that is above a specific variance curve showing up. If you have had basic statistics. I suffered through it twice in two MBA programs, you have the basic within like 2.5% of the mean at both sides of the bell curve. When I see low medium and high settings, this probably is more like the variance of like 20%, 50% and 70%. You can modify it a bit with that bar.

What does this really mean for analysis?

It pretty much it means they are “Alerting” you to unusual activity in your account. For my corporate accounts I am seeing things out of the ordinary showing up, like traffic from a specific geographic location has increased by greater than 40% or time on site has increased from a specific location by over 88%. You will have to become a hack like me to understand the fact that this stuff is relative. This means that it really can mean very little depending on the situation. You have to dig deeper to see why or how it is a variance.

Time Frame

Trying to get a handle on what time frame means, it appears that if you choose a small time frame at the top of the page, you create a statistically insignificant amount of data to analyze, and you will notice that there is no results. There are two types of time frames involved in this analysis. There is the time of the report you are looking at, at the top of the page, and there is the “Time Frame”, one day, that is in the middle of the page. You can shift this “Time Frame” back and forward (if you are not looking at today). This way you can see if the trend is common each day or just for this day. Does not look like right now that you can switch this from a day to a week or month, but that would be a nice feature. Maybe I am missing something on the screen to switch this. Also, seems like this is going to cost us money at some point, so maybe that is the paid feature? But then, I have not yet gotten to custom intelligence.

Alert Sensitivity Bar & Significance Bar

There is a significance bar on the right side of each metric and dimension. This significance bar is related to the variance discussed earlier. It can be used as a measure of how important, or in my old stat class we called this the Sigma. I actually turned down the Alert Sensitivity bar in the middle right and noticed that a few of the alerts dropped off. This sounds right, if it is straightforward. Obviously you will have less alerts if the Alert Sensitivity bar is lowered.

Graphing Anomalies (Alert Data)

Another part of this is the cool way you can quickly access graphing. Let’s say you are looking at a specific alert. There is a little graph icon on the left of each alert. Click on it, and you can that specific target data across the page time line, and BAM a pretty powerful way to use this thing… Try it and see what I mean.

Alerts Candlestick Bar Graph

Notice this secondary graph beneath the normal graph. This one is tracking how many alerts per day. If you are just starting out this is set for the automatic alerts only. If you set up custom alerts, it will track them on this chart as well. I am going to set up a few and then report back through this blog and my twitter account @dgudema on how they work.

Group By Metric | Dimension Function

There are 2 ways to Group the Information, by Metric & Dimension. Metric refers to the basic metrics listed on the right side. Dimension appears to be the more deeper secondary level metrics like region, new vs repeat visitor and other more detailed items. Interestingly enough the higher level metric may not show the alert that is in the lower level metric.

I am sure that there is more here that I have missed. I will cover it in my second article coming up soon.

Google Event Tracking Analytics Tag Explained

Event Tracking Basics

First off, Event Tracking is a new feature in Google Analytics. If you are already a user, it is a different thing you have to implement with tagging. So if you are not an existing implementer of Google Analytics, you will have to start from the beginning.

I have been working with Web Analytics for over a decade, and there isn’t an analytics program on the market in the top 3 or 4 that I have not worked with, from Webtrends, Coremetrics, Omniture (Now Adobe), to Google Analytics.

So recently when I was asked to write a short spec on the Event Tracking tag and how it works in Google Analytics, I had to look carefully at this tag. It could be confusing, because Google Analytics typically does not use a lot of tagging. You just pop it in there and it works! Good news though, is that 99% of Google Analytics users won’t need another tag, unless they want to dig deeper (or have to).

So, as a reminder, the basic chunk of Google Analytics code looks like this:

<script type=”text/javascript”>
var gaJsHost = ((“https:” == document.location.protocol) ? “https://ssl.” : “http://www.”);
document.write(unescape(“%3Cscript src='” + gaJsHost + “google-analytics.com/ga.js’ type=’text/javascript’%3E%3C/script%3E”));
<script type=”text/javascript”>
try {
var pageTracker = _gat._getTracker(“UA-XXXXXXX-X”);
} catch(err) {}</script>

You get this when you login to Google Analytics, go to edit your account and click on “check status”. If you need more info on how to do this, I am going to write an in depth overview of google analytics and will cover the basics in that article.

Basically replace the UA-XXXXXXX-X with your code, or grab the full javascript code from www.google.com/analytics/ , pop this code into your html, and you are ready to go with Google Analytics.

Extra Tags & Event Tracking

There appears to be about 5 or 6 extra tags for Google Analytics (depending on what article you view on the web), and finally 2 extra tags for the checkout process. By tag, I am referring to lines in the analytic javascript code block. The big one that seems to be getting lots of attention recently is Event Tracking by Google Analytics. This is because it is new in their program and answers a lot of problem areas that Google Analytics did not cover in the past.

The basics of Event Tracking are you add a line of code per event. This would mean adding the following line:

pageTracker._trackEvent(category, action, optional_label, optional_value)

to the google analytics javascript block. I would place it right above

You would replace the variables in _trackEvent in order to produce specific tagging of Events.


The Category is used as the highest level tracking. This means it ties together all the other variables and should not be too unique per line. It is required. This means if you are tracking a series of events, you would keep this the same per event page or action. If you are tracking a WebForm for instance, then keep all of these the same wording like “Web Form” so they are grouped together.


The Action is used to track the type of so called ‘actions’ the web surfer is taking. So for this example, you would use “Viewed Form” or “Completed Form” or “Received Error” or something similar.


The label is used to show additional info about the event you are tracking. It is kind of like giving a page a title. In this case this could be “Seeing Form On Page” or “Filled Form Out” or “Got Error On Form”, or it could just be “Form Page”. If it is unique that is fine as well.


The values field is an Integer or Number field, so it often won’t apply. A great article about about this subject, the Event Tracking Guide, says that it is great for counting or summing things up like download time.

That’s it for now. There will be a future article on my success or failure in implementing the event tracking in Google Analytics.