Joeychgo
06-10-2005, 02:46 AM
Its important to note, these are preliminary thoughts I am posting for discussion.
SEO of 3.50 Beta - Meta Tags - My First thoughts
I can see some attempts to do some SEO improvements on this version.
The headinclude template contains this code:
<if condition="$threadinfo">
<meta name="keywords" content="$threadinfo[title] $vboptions[keywords]" />
<meta name="description" content="<if condition="$pagenumber>1"><phrase 1="$pagenumber">$vbphrase[page_x]</phrase>-</if>$threadinfo[title] $foruminfo[title]" />
<else />
<if condition="$foruminfo">
<meta name="keywords" content="$foruminfo[title] $vboptions[keywords]" />
<meta name="description" content="<if condition="$pagenumber>1"><phrase 1="$pagenumber">$vbphrase[page_x]</phrase>-</if>$foruminfo[description_clean]" />
<else />
<meta name="keywords" content="$vboptions[keywords]" />
<meta name="description" content="$vboptions[description]" />
</if>
</if>
This is a group of conditionals that controls the Keywords and Descriptions for all your public pages. Jelsoft has decided to code descriptions and keywords centrally in the headinclude, while coding the page Titles into the individual page templates themselves.
The code above breaks down like this:
<if condition="$threadinfo">
<meta name="keywords" content="$threadinfo[title] $vboptions[keywords]" />
<meta name="description" content="<if condition="$pagenumber>1"><phrase 1="$pagenumber">$vbphrase[page_x]</phrase>-</if>$threadinfo[title] $foruminfo[title]" />
This section is for the individual threads (showthread and showthread_showpost). These pages will do the following:
Keywords = Thread Title + Sitewide Keywords Description = Page # (if more then one page - will not say page 1) + Thread Title + Forum Title
The page option portion does not appear to be working at present. I need to submit a bug report. I also question the wisdom of placing the Page # at the front of the description.
The second section:
<if condition="$foruminfo">
<meta name="keywords" content="$foruminfo[title] $vboptions[keywords]" />
<meta name="description" content="<if condition="$pagenumber>1"><phrase 1="$pagenumber">$vbphrase[page_x]</phrase>-</if>$foruminfo[description_clean]" />
This section is for the Individual Forums & Subforums (Forumdisplay Template). These pages will do the following:
Keywords = Forum Title + Sitewide Keywords
Description = Page # (if more then one page - will not say page 1) + the individual Forum Description
I see this as a problem. Many people dont use descriptions on all forums. (VBW included) and individual forums without a description written, wont have a page description for search engines to read. - The page # Variable does not work in the description here either.
The last section:
<meta name="keywords" content="$vboptions[keywords]" />
<meta name="description" content="$vboptions[description]" />
This is for all other pages and uses the sitewide Description & Keywords.
Now, since the page Titles are coded directly into each individual template, I'll explain those now.
Main Forum Page (ForumHome Template)
<title><phrase 1="$vboptions[bbtitle]">$vbphrase[x_powered_by_vbulletin]</phrase></title>
This breaks down into:
Sitewide Forum Name + "Powered By vBulletin"
Individual Forums & Subforums (Forumdisplay Template)
<title>$foruminfo[title]<if condition="$pagenumber>1"> - <phrase 1="$pagenumber">$vbphrase[page_x]</phrase></if> - $vboptions[bbtitle]</title>
The title for these pages contains the following:
Individual Forum Name + Page # (if more then one page - will not say page 1) + Sitewide Forum Name
And for the individual threads (showthread template).
<title>$thread[title]<if condition="$pagenumber>1"> - <phrase 1="$pagenumber">$vbphrase[page_x]</phrase></if> - $vboptions[bbtitle]</title>
The title for these pages contains the following:
Thread Title + Page # (if more then one page - will not say page 1) + Sitewide Forum Name
For the Individual Post (showthread_showpost template)
<title>$vboptions[bbtitle] - $vbphrase[view_single_post] - $threadinfo[title]</title>
Which breaks down into:Sitewide Forum Name + "View Single Post" + Thread Title
A few other pages - Individual Member Profile (MEMBERINFO template)
<title>$vboptions[bbtitle] - $vbphrase[view_profile]: $userinfo[username]</title>Sitewide Forum Name + "View Profile:" + User Name
Search Results (search_results template)
<title>$vboptions[bbtitle] - $vbphrase[search_results]</title>Sitewide Forum Name + "Search Results"
Calendar (CALENDAR Template)
<title>$vboptions[bbtitle] - $vbphrase[calendar]</title>Sitewide Forum Name + "Calendar"
So - as a wrap up of Titles, Descriptions and Keywords, here is what they will look like:
Forum Home Page (Forumhome template)
Title = Sitewide Forum Name + "Powered By vBulletin"
Keywords = Sitewide Keywords
Description = Sitewide Description
Individual Forums and Subforums (forumdisplay template)
Title = Individual Forum Name + Page # (if more then one page - will not say page 1) + Sitewide Forum Name
Keywords = Forum Title + Sitewide Keywords
Description = Page # (if more then one page - will not say page 1) + the individual Forum Description
Individual Threads (showthread template)
Title = Thread Title + Page # (if more then one page - will not say page 1) + Sitewide Forum Name
Keywords = Forum Title + Sitewide Keywords
Description = Page # (if more then one page - will not say page 1) + the individual Forum Description
Individual Posts (showthread_showpost template)
Title = Sitewide Forum Name + "View Single Post" + Thread Title
Keywords = Thread Title + Sitewide Keywords
Description = Page # (if more then one page - will not say page 1) + Thread Title + Forum Title
Individual Member Profile (MEMBERINFO template)
Title = Sitewide Forum Name + "View Profile:" + User Name
Keywords = Sitewide Keywords
Description = Sitewide Description
Search Results (search_results template)
Title = Sitewide Forum Name + "Search Results"
Keywords = Sitewide Keywords
Description = Sitewide Description
Calendar (CALENDAR Template)
Title = Sitewide Forum Name + "Calendar"
Keywords = Sitewide Keywords
Description = Sitewide Description
__________________________________________________ _________
My recommendations regarding the above:
For starters, I would remove the code in the headinclude template, and place Title, Description and Keyword meta tags into the individual templates. Mainly for 3 reasons.
First, It seems inefficient to have the Title tags in the templates and the Description and Keyword tags in the headinclude template;
Second, keeping them all in the individual templates allows for easier customization, should the end user choose to do so;
Third, large hacks such as vBGarage and vBArticles would be stuck with the Sitewide Description and Sitewide Keywords. These types of hacks can have many pages each of which should have proper meta tags for good SEO.
SO, What I would do is remove the Keyword and Description code from the headinclude template and then do the following:
Forumhome Template
Find
<title><phrase 1="$vboptions[bbtitle]">$vbphrase[x_powered_by_vbulletin]</phrase></title>
and replace it with:
<title>$vboptions[bbtitle]</title>
<meta name="description" content="$vboptions[description]" />
<meta name="keywords" content="$vboptions[keywords]" />
Forumdisplay Template
Find:
<title>$foruminfo[title]<if condition="$pagenumber>1"> - <phrase 1="$pagenumber">$vbphrase[page_x]</phrase></if> - $vboptions[bbtitle]</title>
and replace it with:
<title>$foruminfo[title]<if condition="$pagenumber>1"> - <phrase 1="$pagenumber">$vbphrase[page_x]</phrase></if> - $vboptions[bbtitle]</title>
<meta name="description" content="<if condition="$pagenumber>1"><phrase 1="$pagenumber">$vbphrase[page_x]</phrase>-</if>Discuss $foruminfo[description_clean] at $vboptions[bbtitle] " />
<meta name="keywords" content="$foruminfo[title] $vboptions[keywords]" />.
Showthread Template
Find:
<title>$thread[title]<if condition="$pagenumber>1"> - <phrase 1="$pagenumber">$vbphrase[page_x]</phrase></if> - $vboptions[bbtitle]</title>
and replace it with:
<title>$thread[title]<if condition="$pagenumber>1"> - <phrase 1="$pagenumber">$vbphrase[page_x]</phrase></if></title>
<meta name="description" content="$threadinfo[title] $foruminfo[description_clean] $foruminfo[title] <if condition="$pagenumber>1"><phrase 1="$pagenumber">$vbphrase[page_x]</phrase>-</if>" />
<meta name="keywords" content="$threadinfo[title] $vboptions[keywords]" />
Showthread_Showpost template
Find:
<title>$vboptions[bbtitle] - $vbphrase[view_single_post] - $threadinfo[title]</title>
and replace it with:
<title>$threadinfo[title] - $vbphrase[view_single_post]</title>
<meta name="description" content="$threadinfo[title] - $vboptions[bbtitle] - $foruminfo[title]" />
<meta name="keywords" content="$vboptions[keywords] - $vboptions[bbtitle]"/>
MEMBERINFO template
You may not want optimize member profiles -- and perhaps exclude spiders from those areas. There are a number of reasons for this such member privacy (which may be less an issue on some kinds of forums than others). So this is your call.
Find:
<title>$vboptions[bbtitle] - $vbphrase[view_profile]: $userinfo[username]</title>
and replace it with:
<title>$vbphrase[view_profile]: $userinfo[username] at $vboptions[bbtitle]</title>
<meta name="description" content="$userinfo[username] from $userinfo[field2] at $vboptions[bbtitle]" />
<meta name="keywords" content="$vboptions[keywords] - $vboptions[bbtitle]"/>
search_results template
Find:
<title>$vboptions[bbtitle] - $vbphrase[search_results]</title>
and replace it with:
<title>$vboptions[bbtitle] - $vbphrase[search_results]</title>
<meta name="description" content="$vboptions[description] - $vboptions[bbtitle]" />
<meta name="keywords" content="$vboptions[keywords] - $vboptions[bbtitle]"/>
There are more templates to do of course, but this is a very good start.
What your shooting for is this. You want to have a catagory of pages, (i.e. threads, Member Profiles, etc) to be as different as possible in regard to Title and Description. Meaning you want the title and description of the Member profiles to be different from one another. Using variables such as the username and the user's profile field "location" ($userinfo[field2]) will help keep search engines from catagorizing all member profiles as the same.
These elements are at the heart of what search engines use to index pages. The more pages you have indexed the more likely people will find them. Worrying about minor things such as Meber Profiles might seem like overkill. But you would be suprised what people search for and can find your site by.
As an example, someone this month searched for "hibeesbounce website" and found this site. That term comes directly from a member profile. You never know what people will search for and stumble across your site, possibly joining.
SEO of 3.50 Beta - Meta Tags - My First thoughts
I can see some attempts to do some SEO improvements on this version.
The headinclude template contains this code:
<if condition="$threadinfo">
<meta name="keywords" content="$threadinfo[title] $vboptions[keywords]" />
<meta name="description" content="<if condition="$pagenumber>1"><phrase 1="$pagenumber">$vbphrase[page_x]</phrase>-</if>$threadinfo[title] $foruminfo[title]" />
<else />
<if condition="$foruminfo">
<meta name="keywords" content="$foruminfo[title] $vboptions[keywords]" />
<meta name="description" content="<if condition="$pagenumber>1"><phrase 1="$pagenumber">$vbphrase[page_x]</phrase>-</if>$foruminfo[description_clean]" />
<else />
<meta name="keywords" content="$vboptions[keywords]" />
<meta name="description" content="$vboptions[description]" />
</if>
</if>
This is a group of conditionals that controls the Keywords and Descriptions for all your public pages. Jelsoft has decided to code descriptions and keywords centrally in the headinclude, while coding the page Titles into the individual page templates themselves.
The code above breaks down like this:
<if condition="$threadinfo">
<meta name="keywords" content="$threadinfo[title] $vboptions[keywords]" />
<meta name="description" content="<if condition="$pagenumber>1"><phrase 1="$pagenumber">$vbphrase[page_x]</phrase>-</if>$threadinfo[title] $foruminfo[title]" />
This section is for the individual threads (showthread and showthread_showpost). These pages will do the following:
Keywords = Thread Title + Sitewide Keywords Description = Page # (if more then one page - will not say page 1) + Thread Title + Forum Title
The page option portion does not appear to be working at present. I need to submit a bug report. I also question the wisdom of placing the Page # at the front of the description.
The second section:
<if condition="$foruminfo">
<meta name="keywords" content="$foruminfo[title] $vboptions[keywords]" />
<meta name="description" content="<if condition="$pagenumber>1"><phrase 1="$pagenumber">$vbphrase[page_x]</phrase>-</if>$foruminfo[description_clean]" />
This section is for the Individual Forums & Subforums (Forumdisplay Template). These pages will do the following:
Keywords = Forum Title + Sitewide Keywords
Description = Page # (if more then one page - will not say page 1) + the individual Forum Description
I see this as a problem. Many people dont use descriptions on all forums. (VBW included) and individual forums without a description written, wont have a page description for search engines to read. - The page # Variable does not work in the description here either.
The last section:
<meta name="keywords" content="$vboptions[keywords]" />
<meta name="description" content="$vboptions[description]" />
This is for all other pages and uses the sitewide Description & Keywords.
Now, since the page Titles are coded directly into each individual template, I'll explain those now.
Main Forum Page (ForumHome Template)
<title><phrase 1="$vboptions[bbtitle]">$vbphrase[x_powered_by_vbulletin]</phrase></title>
This breaks down into:
Sitewide Forum Name + "Powered By vBulletin"
Individual Forums & Subforums (Forumdisplay Template)
<title>$foruminfo[title]<if condition="$pagenumber>1"> - <phrase 1="$pagenumber">$vbphrase[page_x]</phrase></if> - $vboptions[bbtitle]</title>
The title for these pages contains the following:
Individual Forum Name + Page # (if more then one page - will not say page 1) + Sitewide Forum Name
And for the individual threads (showthread template).
<title>$thread[title]<if condition="$pagenumber>1"> - <phrase 1="$pagenumber">$vbphrase[page_x]</phrase></if> - $vboptions[bbtitle]</title>
The title for these pages contains the following:
Thread Title + Page # (if more then one page - will not say page 1) + Sitewide Forum Name
For the Individual Post (showthread_showpost template)
<title>$vboptions[bbtitle] - $vbphrase[view_single_post] - $threadinfo[title]</title>
Which breaks down into:Sitewide Forum Name + "View Single Post" + Thread Title
A few other pages - Individual Member Profile (MEMBERINFO template)
<title>$vboptions[bbtitle] - $vbphrase[view_profile]: $userinfo[username]</title>Sitewide Forum Name + "View Profile:" + User Name
Search Results (search_results template)
<title>$vboptions[bbtitle] - $vbphrase[search_results]</title>Sitewide Forum Name + "Search Results"
Calendar (CALENDAR Template)
<title>$vboptions[bbtitle] - $vbphrase[calendar]</title>Sitewide Forum Name + "Calendar"
So - as a wrap up of Titles, Descriptions and Keywords, here is what they will look like:
Forum Home Page (Forumhome template)
Title = Sitewide Forum Name + "Powered By vBulletin"
Keywords = Sitewide Keywords
Description = Sitewide Description
Individual Forums and Subforums (forumdisplay template)
Title = Individual Forum Name + Page # (if more then one page - will not say page 1) + Sitewide Forum Name
Keywords = Forum Title + Sitewide Keywords
Description = Page # (if more then one page - will not say page 1) + the individual Forum Description
Individual Threads (showthread template)
Title = Thread Title + Page # (if more then one page - will not say page 1) + Sitewide Forum Name
Keywords = Forum Title + Sitewide Keywords
Description = Page # (if more then one page - will not say page 1) + the individual Forum Description
Individual Posts (showthread_showpost template)
Title = Sitewide Forum Name + "View Single Post" + Thread Title
Keywords = Thread Title + Sitewide Keywords
Description = Page # (if more then one page - will not say page 1) + Thread Title + Forum Title
Individual Member Profile (MEMBERINFO template)
Title = Sitewide Forum Name + "View Profile:" + User Name
Keywords = Sitewide Keywords
Description = Sitewide Description
Search Results (search_results template)
Title = Sitewide Forum Name + "Search Results"
Keywords = Sitewide Keywords
Description = Sitewide Description
Calendar (CALENDAR Template)
Title = Sitewide Forum Name + "Calendar"
Keywords = Sitewide Keywords
Description = Sitewide Description
__________________________________________________ _________
My recommendations regarding the above:
For starters, I would remove the code in the headinclude template, and place Title, Description and Keyword meta tags into the individual templates. Mainly for 3 reasons.
First, It seems inefficient to have the Title tags in the templates and the Description and Keyword tags in the headinclude template;
Second, keeping them all in the individual templates allows for easier customization, should the end user choose to do so;
Third, large hacks such as vBGarage and vBArticles would be stuck with the Sitewide Description and Sitewide Keywords. These types of hacks can have many pages each of which should have proper meta tags for good SEO.
SO, What I would do is remove the Keyword and Description code from the headinclude template and then do the following:
Forumhome Template
Find
<title><phrase 1="$vboptions[bbtitle]">$vbphrase[x_powered_by_vbulletin]</phrase></title>
and replace it with:
<title>$vboptions[bbtitle]</title>
<meta name="description" content="$vboptions[description]" />
<meta name="keywords" content="$vboptions[keywords]" />
Forumdisplay Template
Find:
<title>$foruminfo[title]<if condition="$pagenumber>1"> - <phrase 1="$pagenumber">$vbphrase[page_x]</phrase></if> - $vboptions[bbtitle]</title>
and replace it with:
<title>$foruminfo[title]<if condition="$pagenumber>1"> - <phrase 1="$pagenumber">$vbphrase[page_x]</phrase></if> - $vboptions[bbtitle]</title>
<meta name="description" content="<if condition="$pagenumber>1"><phrase 1="$pagenumber">$vbphrase[page_x]</phrase>-</if>Discuss $foruminfo[description_clean] at $vboptions[bbtitle] " />
<meta name="keywords" content="$foruminfo[title] $vboptions[keywords]" />.
Showthread Template
Find:
<title>$thread[title]<if condition="$pagenumber>1"> - <phrase 1="$pagenumber">$vbphrase[page_x]</phrase></if> - $vboptions[bbtitle]</title>
and replace it with:
<title>$thread[title]<if condition="$pagenumber>1"> - <phrase 1="$pagenumber">$vbphrase[page_x]</phrase></if></title>
<meta name="description" content="$threadinfo[title] $foruminfo[description_clean] $foruminfo[title] <if condition="$pagenumber>1"><phrase 1="$pagenumber">$vbphrase[page_x]</phrase>-</if>" />
<meta name="keywords" content="$threadinfo[title] $vboptions[keywords]" />
Showthread_Showpost template
Find:
<title>$vboptions[bbtitle] - $vbphrase[view_single_post] - $threadinfo[title]</title>
and replace it with:
<title>$threadinfo[title] - $vbphrase[view_single_post]</title>
<meta name="description" content="$threadinfo[title] - $vboptions[bbtitle] - $foruminfo[title]" />
<meta name="keywords" content="$vboptions[keywords] - $vboptions[bbtitle]"/>
MEMBERINFO template
You may not want optimize member profiles -- and perhaps exclude spiders from those areas. There are a number of reasons for this such member privacy (which may be less an issue on some kinds of forums than others). So this is your call.
Find:
<title>$vboptions[bbtitle] - $vbphrase[view_profile]: $userinfo[username]</title>
and replace it with:
<title>$vbphrase[view_profile]: $userinfo[username] at $vboptions[bbtitle]</title>
<meta name="description" content="$userinfo[username] from $userinfo[field2] at $vboptions[bbtitle]" />
<meta name="keywords" content="$vboptions[keywords] - $vboptions[bbtitle]"/>
search_results template
Find:
<title>$vboptions[bbtitle] - $vbphrase[search_results]</title>
and replace it with:
<title>$vboptions[bbtitle] - $vbphrase[search_results]</title>
<meta name="description" content="$vboptions[description] - $vboptions[bbtitle]" />
<meta name="keywords" content="$vboptions[keywords] - $vboptions[bbtitle]"/>
There are more templates to do of course, but this is a very good start.
What your shooting for is this. You want to have a catagory of pages, (i.e. threads, Member Profiles, etc) to be as different as possible in regard to Title and Description. Meaning you want the title and description of the Member profiles to be different from one another. Using variables such as the username and the user's profile field "location" ($userinfo[field2]) will help keep search engines from catagorizing all member profiles as the same.
These elements are at the heart of what search engines use to index pages. The more pages you have indexed the more likely people will find them. Worrying about minor things such as Meber Profiles might seem like overkill. But you would be suprised what people search for and can find your site by.
As an example, someone this month searched for "hibeesbounce website" and found this site. That term comes directly from a member profile. You never know what people will search for and stumble across your site, possibly joining.

