Posts in "seo" tag

SEO Lite v1.1

I just pushed a new version of SEO Lite to github and it has some added goodies, among other things these parameters:


  • url_title; retrieve by url_title (often found as a url segment)
  • entry_id; retrieve by entry_id
  • use_last_segment = ‘yes’; pure magic! (it will use the last segment, this is useful if you have the same header all over the website and you sometimes need to use {segment_2} and sometimes {segment_3}
  • default_title – set the title tag directly (ie. do not get from content) – useful for static pages, main page, etc.
  • default_description – override the description – same as above
  • default_keywords – override the keywords – same as above
  • title_prefix – a string to prefix the title with (per request)
  • title_postfix – a string to postfix the title with (per request)
  • title_separator – this will be added after the title (and padded with space on both sides)

Some Usage Examples

Let’s use this template:

<meta name='keywords' content='{meta_keywords}' />
<meta name='description' content='{meta_description}' />
<!-- generated by seo_lite --!>

yeah I know the {title} and {site_name} are pretty close there, but we’ll fix that with the new title_separator parameter :-)


For the frontpage we just want the site name + the default keywords / description:


Will produce this title:

<title>My Site Name</title>
(... + default desc / keywords ...)

Our 404 Page

{exp:seo_lite default_title="404 - Not Found" title_separator="|"}


<title>404 - Not Found | My Site Name</title>
(... + default desc / keywords ...)

A FAQ Entry

{exp:seo_lite entry_id="{entry_id}" title_postfix="&nbsp;| FAQ" title_separator="|"}

will produce this title for a specific faq entry:

<title>A Question | FAQ | My Site Name</title>

note that the &nbsp; is needed because EE will trim parameters for spaces.

Using SEO Lite with the EllisLab Discussion Forum Module

Edit the forum_global/html_header.html file and replace the title-tag there with:

{exp:seo_lite default_title="{page_title} | {forum_name}" title_separator="|"}

It will output:

<title>The title of the current forum or thread here | Forum Title Here | My Site Name</title>

Of coure you need to run the forums through regular templates for the above to work, but that’s something I’d always recommend doing, unless you enjoy pain.

Implementing SEO Lite in the wiki

Edit wiki_themes//wiki_page.html and replace the title-tag there with:

{exp:seo_lite default_title="{title} | {wiki_name}" title_separator="|"}

It will output:

<title>The title of the current wiki page | Wiki Name Here | My Site Name</title>

Of course for the wiki / forum pages you’ll just get the benefit of keeping it consistent and getting the default keywords / description in there, since there isn’t a way of adding entry-specific keywords/description for these entries (yet)..

MSM Support

I got a couple of comments about MSN support, and although it’s untested I think I’ve implemented support for it. The way it works is that you need an entry in exp_seolite_config for each site, so when you switch to another site you need to visit the SEO Lite control panel and an entry will be added for that site. Then you can start using SEO Lite on that additional site as well.

This way you can have different templates for each site etc.


Let me know if you have suggestions to added functionality or something you’ve found quirky when implementing it on a site, etc.


Download the latest release here (zip)

SEO Lite – The one calorie SEO addon for ExpressionEngine 2.x

A while back I released DevKit for ExpressionEngine using the module “SEO Lite” as an example. Now this module is ready for download!

Click here to download SEO Lite

Full documentation: SEO Lite documentation

A SEO module for ExpressionEngine – what does it do?

Sure you could add custom fields for this kind of meta data, but SEO Lite makes it cleaner and easier to use for the client.

SEO Lite is a lightweight addon for ExpressionEngine that adds SEO meta data for title, keywords and description for entries on your site, enabling them to rank better in the search engines. It uses a template which you can customize to your needs.

It will add a new tab to the publish entry page called “SEO Lite” where you specify title, keywords, and description for the entry.

If you do not specify anything the original entry title will be used, together with the default values for keywords and description.

Why Lite?

First, it’s very lightweight – you only use one tag to output the template, and this tag uses only one database query to fetch the template, entry title, default entry keywords/description or/and the specific keywords/descriptions for that entry.

So you add the power of SEO optimalization with only one query which should be a good tradeoff and perfect for high-traffic websites.

Second, it’s lite functionality-wise as well. No frills. If you want a more extensive module I recommend NSM Better Meta which is a very good commercial alternative.

The template

The default meta data template looks like this:

<title>{title} - {site_name}</title>
<meta name='keywords' content='{meta_keywords}' />
<meta name='description' content='{meta_description}' />
<!-- generated by seo_lite --!>

This can be edited in the SEO Lite Settings. The only thing that’s replaced by SEO Lite is {title}, {meta_keywords} and {meta_description} and you can use any kind of global variables and EE conditionals in it which should make it pretty powerful.

The Tag

Use this tag in your header template to output the template above:

{exp:seo_lite url_title="{segment_3}"}

The url_title parameter uses {segment_3} to find the entry based on the current url. If you have the entry_id you may also use it like this:

{exp:seo_lite entry_id="{entry_id}"}

Installing the module in a WooTheme

Here’s a video showing how to install the module and use it with any of the WooThemes:

Of course this process will be the almost identical on any site.

ScribeSEO Support In The Works

I’m currently implementing support for ScribeSEO. To get an update when this is ready subscribe to my RSS feed or follow me on Twitter.


Download .zip

Documentation, support, download etc. available over at

Let me know what you think! :-)

Wow, finally back in … #2

At last, you can google me (hope I don’t get sued for using Google as a verb) and find in the index. Let’s hope it’s not temporarily this time.

One strange thing though, they didn’t adhere to my robots.txt file which tells them not to index odp.php – heck, they even threw robots.txt right in there with the rest of the search results.

Well, as long as I’m in the index I don’t care much :)