Wednesday, November 19, 2008

Google SEO tips for Expression Engine

Posted by Jon in •

Google SEO
You might wonder what on earth has happened to me today posting about search engine optimisation instead of guitars?! Well last week Google released an SEO starter guide which is a very useful pdf document for all site owners and I wanted to relay some of the changes I made to Guitar Noize after having a browse. Sorry if you use WordPress or Movable Type but I’m sure there are similar ways to achieve the results that I am going to explain.

Firstly, why am I using Expression Engine? Well this is simply because I have been using Ellis Labs’ Code Igniter php framework for well over a year now for large scale projects so I figured if a company makes such a great php framework then their CMS must be pretty good too. Unfortunately until the next release (version 2) it still doesn’t really bare much resemblance to Code Igniter but I have decided to stick with it and hopefully the 2 will become more closely coupled.

So what changes have I made to help with my Google rankings? Well the first is a very simple change, when I first started Guitar Noize I had the page titles reflecting the main post title but with the words Guitar Noize in front like this:

Guitar Noize - Gibson’s Dark Fire is here!

This was initially to help get my name out there, I later read that it was frowned upon by Google and it was better to have your brand at the end, so I changed the title tag to output this:

Gibson’s Dark Fire is here! - Guitar Noize

Well after reading the SEO document it seems Google really don’t appreciate this either which is fair enough, there really is no need. They say that every page should have a totally unique title so all I had to do was drop the branding and instantly my SEO has been slightly improved! Easy. Here is my new Title tag:

<title>{exp:weblog:entries}{title}{/exp:weblog:entries}</title>

The second tip is a little more in-depth and relates to your meta tags, in particular your keywords. Google states that in order to be fully optimised for their indexing algorithm the keywords must be relevant to your page and not just the same keywords site wide. Previously I had been putting a list of keywords and then appending the keywords with the post title using some php in my template but today I made a change which hopefully will really help boost my Google ranking.

When you log in to Expression Engine click on the Admin tab and then the Weblog Administration link. You will see, 3rd link down, Custom Weblog Fields. We are going to create a Custom Field that can be used to manually insert keywords for your post each time you publish and then output them into your meta tag. Click on the Custom Weblog Fields link and then with the Default Field Group click on the Add/Edit Custom Fields link. Ok thats a lot of clicking I know but hang in there, we’re almost done! You should see a button on the right that says, Add a New Custom Field. This is the page where you will create your Keywords field for your publish page. Enter the Field Name “keywords” (this is your variable name) then the Field Label “Keywords” (this is the label which will show up in the Expression Engine publish view, finally change the Default Text Formatting for This Field from “xhtml” to “None”. If you think you are going to need more than 128 characters you can also change this under the Field Type where it says Maxlength, I have set mine to 255, this should be plenty. Finally click on update and the field is set up and ready to go. Now edit one of your posts you should see the new Keywords field under the Extended Text section, add some relevant keywords and update, next we’ll make them show up in your template!

Now edit your template, mine is called Comments which is the template that shows individual posts. Find the the meta tag in the head of your html page called keywords, it should look something like this:

<meta name="keywords" content="" />

Now if you have just started your blog you can enter the following code and your template will be in business straight away:

<meta name="keywords" content="{exp:weblog:entries}{keywords}{/exp:weblog:entries}" />

However, chances are you are updating your template and have existing posts, which, if you use the above code will mean you need to edit every post you have ever made to have keywords otherwise they will be blank so what I have done is to add an if, else statement which checks if there are any keywords entered for the post and if not outputs a set of default keywords. Here is how it is done:

{exp:weblog:entries}Guitar, Electric Guitar{/exp:weblog:entries}

And that is it! It looks harder than it is, if you follow my instructions step by step you will be up and running in no time and you will instantly improve your Google SEO which hopefully will lead to better Google rankings!

Don’t worry I’ll be back with something Guitar related tomorrow!

UPDATE: I should also mention that you can use the exact same process I explained above for your meta description by creating another custom field.

Loading...
laurie monk on 11/19 at 09:29 AM

God at last a techie post… all this guitar stuff was doing my head in ;o)

Chris - GuitarToyBox.com on 11/19 at 12:48 PM

I’ve just made the switch to EE as well for all my future projects and I must say I that was how I figured metas would be handled. How have you found it to scale for something larger than a simple site or blog? I have a HUGE site I’m about to start and think it might a bit of struggle while I keep getting to grips with EE.

I also need to start on CI more too. It does look very powerful.

Jon on 11/19 at 01:22 PM

Haha yeah I figured it was time Laurie!

Chris it does scale well we are currently building a huge project with it and extending the core but to be honest I like CI because I feel I have complete control but obviously it requires a lot of coding time to achieve some of the things already built into EE, having said that there are plenty of CI libraries available such as authentication libraries etc. which are a time saver.

seo services outsourcing on 11/19 at 03:22 PM

Cool! i will wait for your next post.

Jon on 11/19 at 03:51 PM

Ok but don’t expect any SEO posts for a while! wink

Ovidiu - GuitarFlame.com on 11/19 at 07:47 PM

Great! I really wondered why you miss so much of SEO with your titles as a picture but I presumed it was your choice so I didn’t say anything. If I may, you should also work the theme a bit, when you enter a post in details, to remove the H2 tag from the day and date, it just dilutes the SEO of the page and doesn’t really bring anything on the table. H2 is a very important tag and added around the date, well, it’s useless.

Also the same thing for H2 added around Categories, archives, etc. I would add instead H2 in the page for the important titles, after the main title. That would be good.

Also remove the H1 that you have around the image that is the header of your site. Doesn’t bring anything, leave just one H1 on the page.

I hope it helps wink

Jon on 11/19 at 07:57 PM

Hi Ovidiu thanks for the tips I’ll look into making those changes, I guess I’ve never really cared that much before about the finer details for this site but I have noticed I don’t rank that well with Google so thought I should make some changes!

Mark @ Alchemy United on 11/20 at 02:14 AM

Hey. Thanks. Any tips on EE and SEO are always a good thing.

“This was initially to help get my name out there, I later read that it was frowned upon by Google and it was better to have your brand at the end, so I changed the title tag to output this:

Gibson’s Dark Fire is here! - Guitar Noize”

But this is a double edged sword. It might make Google happy but when I have multiple tabs open over a word day not being able to quickly and easily recognize which tab is which is a significant pain in my UX.

That said, “They say that every page should have a totally unique title” just makes sense. The point of the page title (from the UX perspective) is to let the user know *exactly* where they are.

Moi? I try to make some effort to let my users know where they are - read: which tab is which. Sure favicon helps but it’s not always enough. Maybe to prefix the title with (in this case) GN: would work best for all those involved?

on 11/20 at 07:30 AM

Hi Mark you raise a good point here, I hadn’t even considered the users tab experience to be honest. I will see if there is a significant change in my search engine ranking over the next few weeks, if not I will try what you suggested. Hopefully with these changes and the advice from Ovidiu will help make my site rank better!

Page 1 of 1 pages