First, for a background on HEAD section tags in PHP-Nuke and RavenNuke™, please see the article “What is nukeSEO™ DH and how does it work?”. This article details how PHP-Nuke and RavenNuke™ HEAD tags have evolved over time and the many influences that led to the design for nukeSEO™ DH.
Active involvement with and tremendous support from the RavenNuke™ team led to the introduction of nukeSEO™ DH with RavenNuke version 2.4.0. Prior to this version, RavenNuke used the TegoNuke™ Dynamic Titles add-on from Montego Scripts.
The nukeSEO™ DH User Guide includes:
-
General Usage
-
HEAD Tag Generation, which describes how the titles are generated
-
Titles and Comparison with TegoNuke™ Dynamic Titles
-
META description and META keywords, which shows how these tags are generated at all levels
-
Keyword rules, which provides additional details about automatic keyword generation
-
Override, which shows how the site administrator can override tags at all levels using the nukeSEO™ DH block and the nukeNAV™ SEO menu option .
For frequently asked questions, please visit the nukeSEO™ DH FAQ section.
For details on nukeNAV™, see the nukeNAV™ Overview.
General usage
Once installed and the site-level overrides are updated for your site, nukeSEO™ DH will generate the HEAD tags for each page without requiring additional effort by the site administrator. If an override is created, nukeSEO™ DH will use the override at appropriate levels.
nukeSEO™ DH includes a block (block-nukeSEOdh.php) that shows the 3 generated HEAD section fields that most impact search engine placement: title, META description and META keywords values for the current page. This block is intended for use by site administrators and will display a link to override the 3 key HEAD section fields. The nukeNAV™ top menu also displays the SEO option to administrators to initiate the override function. The override function is displayed as a modal popup (courtesy of jQuery and the Colorbox plug-in) on the page for which the site administrator wishes to override the 3 key HEAD section fields (see the screenshot below, which shows nukeNAV™ SEO menu option 2nd from the right at the top of the screen, the nukeSEOdh block on the left, and the override maintenance via a modal popup).
HEAD Tag Generation
Currently, nukeSEO™ DH generates the <title>, <meta name="DESCRIPTION"> and <meta name="KEYWORDS"> tags for multiple levels. If a tag generated for the current level is insufficient (i.e. blank), nukeSEO™ DH will use the override, if it exists, or the generated tag from the next highest level where the tag exists.
Tag Generation Levels
|
Description
|
Examples
|
1. Site
|
Highest level, override only, default tags for the site
|
(index page)
|
2. Module
|
Generally the custom title or module name, followed by a delimiter and a suffix determined by module (usually the site name set in admin, preferences)
|
-
Content
-
Downloads
-
Encyclopedia
-
FAQ
-
Feeds
-
Forums
-
GCalendar
-
News
-
Reviews
-
Stories_Archives
-
Surveys
-
Topics
-
Web_Links
|
3. Category
|
Highest level or primary category, which contains a category name used for the title and usually contains a category description that determines the meta DESCRIPTION and meta KEYWORDS for the category
|
-
Content Category
-
Downloads Category
-
Encyclopedia
-
FAQ Category
-
Forum Category
-
News Category
-
Web Links Category
|
4. Subcategory
|
2nd level or alternate category, which contains a subcategory name used for the title and usually contains a subcategory description that determines the meta DESCRIPTION and meta KEYWORDS for the subcategory
|
-
Forum (subcategory)
-
News Topic (alternate)
|
5. Content
|
Primary content level, which contains a content title use for the title, usually contains a content description used for the meta DESCRIPTION, and one or more content attributes, including the description, use to generate the meta KEYWORDS
|
-
Content Page
-
Download
-
Encyclopedia Definition
-
FAQ
-
Feed
-
Forum Topic
-
Gcalendar Event
-
News Story
-
Review
-
Survey / Poll
-
Web Link
|
Titles and Comparison with TegoNuke™ Dynamic Titles
Prior to the 2.4.0 release, RavenNuke™ used the TegoNuke™ Dynamic Titles add-on, for which montego invested significant time researching optimized titles. Since this has been in place for some time, it may be helpful for webmasters familiar with Dynamic Titles to compare it with the titles generated by nukeSEO™ DH. The table below shows the attributes used to determine the title for both TegoNuke™ Dynamic Titles and nukeSEO™ DH (pages / levels with no differences are shaded):
Page / Module |
Level |
TegoNuke™ Dynamic Titles |
nukeSEO™ DH Title |
admin.php |
(all) |
Administration - $sitename |
Administration - $sitename |
index.php |
Site |
$slogan - $sitename |
$slogan - $sitename |
modules.php |
Module |
$name + $slogan + $sitename |
$name + $slogan + $sitename |
Content
|
Category |
title + description |
title + $sitename |
Content |
title + subtitle + (category title or $sitename) |
title + subtitle - $sitename |
Downloads
|
Category |
title + cdescription + parent.title (if it exists) |
title + $sitename |
Content |
title + description |
title + $sitename |
Encyclopedia
|
Category (encyclopedia) |
title + description |
title + $sitename |
Content (text) |
topic.title + topic.text + encyclopedia.title |
topic.title + $sitename |
FAQ
|
Category |
n/a |
FAQ category name + $sitename |
Content |
n/a |
question + $sitename |
Feeds |
Content |
n/a |
title + $module + $sitename |
Forums
|
Category |
cat_title + $sitename |
cat_title + $sitename |
Subcategory (Forum) |
forum_name + $sitename |
forum_name + $sitename |
Content (Topic) |
(topic_title or 1st post subject) + 1st post text |
topic_title (1st post text = description) |
Content (Post) |
(post subject or title subject) + post text |
topic_title (1st post text = description) |
Gcalendar
|
Module |
n/a |
Calendar Events - ($month, $year; $date; week of $date) - $sitename |
Content |
n/a |
title + $sitename |
News
|
Category (category) |
title + $sitename |
title + $sitename |
Subcategory (topic) |
topictext + $sitename |
topicname + $sitename |
Content (story) |
title + hometext + bodytext + topictext |
title + $sitename |
Reviews |
Content |
title + text |
title + $sitename |
Stories_Archives |
Module |
$month, $year - $module - $sitename |
$month, $year - $module - $sitename |
Surveys |
Content |
n/a |
pollTitle |
Topics |
Module |
$sitename + "Active Topics" |
(uses module level: $name + $slogan + $sitename) |
Web_Links
|
Category |
title + cdescription + parent.title (if it exists) |
title + $sitename |
Content |
title + description |
title + $sitename
|
META description and META keywords
In addition to generating titles, nukeSEO™ DH generates META description and META keywords tags for all content pages except admin pages. The table below shows the attributes used to determine the META description and META keywords with the included modules:
Page / Module |
Level |
DH meta DESCRIPTION |
DH meta KEYWORDS |
admin.php |
(all) |
(uses site override, not visible by SE) |
(uses site override, not visible by SE) |
index.php |
Site |
(override required) |
(override required) |
modules.php |
Module |
(uses site override) |
(uses site override) |
Content
|
Category |
category description |
category title + category description |
Content |
content page_header |
title + subtitle + page_header + text + page_footer + signature |
Downloads
|
Category |
cdescription (category) |
category title + cdescription (category) |
Content |
download description |
download title + download description |
Encyclopedia
|
Category (encyclopedia) |
encyclopedia description |
encyclopedia title + encyclopedia description |
Content (text) |
encyclopedia text description |
encyclopedia text title + encyclopedia text description |
FAQ
|
Category |
FAQ category name |
FAQ category name |
Content |
question |
question + answer |
Feeds |
Content |
feed description |
feed title + feed description |
Forums
|
Category |
forum category title |
forum category title |
Subcategory (Forum) |
forum description |
forum name + forum description |
Content (Topic) |
1st post text |
topic title + 1st post subject + 1st post text |
Content (Post) |
1st post text |
topic title + 1st post subject + 1st post text |
Gcalendar
|
Module |
(uses site override) |
(uses site override) |
Content |
event location + event details |
event title + event location + event details |
News
|
Category (category) |
category title |
category title |
Subcategory (topic) |
topic text |
topic name + topic text |
Content (story) |
story hometext + story bodytext |
story title +story hometext + story bodytext |
Reviews |
Content |
review text |
review title + review text |
Stories_Archives |
Module |
(uses site override) |
(uses site override) |
Surveys |
Content |
pollTitle |
pollTitle |
Topics |
Module |
(uses site override) |
(uses site override) |
Web_Links
|
Category |
cdescription (category) |
title + $sitename |
Content |
web link description |
web link title + web link description |
Keyword rules
nukeSEO™ DH uses an enhanced version of the Automatic Keyword Generator class by Ver Pangonilo to generate META keywords. Several rules and configuration settings determine how keywords are generated:
-
It counts the number of occurrences of single or multiple word expressions within the given content text.
-
The most frequent expressions are suggested as keywords.
-
Words and phrases must meet or exceed a minimum number of characters and must occur a minimum number of times in the content to be considered by the keyword generator.
-
Numbers and certain characters are removed from the content before keywords are generated. Examples include HTML entities ("e, &trade), punctuation, and (tm). These characters are defined in the class.
-
Common words (a.k.a stop words) are ignored by the keyword generator. Common words are defined in the language file in the nukeNAV™ module, which contains the override function.
The keyword length and number of occurrences minimums are defined in the base nukeSEO™ DH class, includes/nukeSEO/dh/dh.class:
function seoGetAutoKeys($content) {
require_once('includes/class.autokeyword.php');
$params['content'] = $content; //page content
$params['min_word_length'] = 5; //minimum length of single words
$params['min_word_occur'] = 2; //minimum occur of single words
$params['min_2words_length'] = 3; //minimum length of words for 2 word phrases
$params['min_2words_phrase_length'] = 10; //minimum length of 2 word phrases
$params['min_2words_phrase_occur'] = 2; //minimum occur of 2 words phrase
$params['min_3words_length'] = 3; //minimum length of words for 3 word phrases
$params['min_3words_phrase_length'] = 10; //minimum length of 3 word phrases
$params['min_3words_phrase_occur'] = 2; //minimum occur of 3 words phrase
Overrides
Overrides can be defined for one or more of the title, META description, and META keywords tags at all levels. The override maintenance screen, accessed from the nukeNAV™ top menu SEO link or from the nukeSEOdh block link, shows the overrides and the generated tags for the current content level. Popup help, courtesy of the ClueTip jQuery plug-in, provides additional information about the tags and how they are used.
If an override is defined for the current content level, the corresponding tag is not generated for that level. Overrides may be deleted, however when deleting overrides, all overrides defined for the current level are removed. Since site-level overrides are used as the default for lower levels, these overrides may not be deleted.
Note: since the override function is contained in the nukeNAV™ module, this module must exist on the site in order to override HEAD tags. Since only site administrators may access this override function, the module need not be active. However, if the nukeNAV™ module is active, it is recommended that it be hidden.
Overrides may contain certain variables, which are also used when generating tags for various content types and levels. The variables are specified in the overrides by specifying % before and after the variable name. Available variables include:
-
sitename: the site name defined in admin, preferences
-
slogan: the site slogan defined in admin, preferences
-
module: the title or name of the current module
-
year: the current Gregorian year, normally used in the copyright tag
For additional information on nukeSEO™ DH, visit the nukeSEO.com forums or RavenPHPScripts.com.