Entry Post is a plugin for Movable Type that enables visitors to your site to submit entries using a form. Visitors do not need a user account and they do not need to login. Similar to posting a comment, they can simply fill in a form and submit.

New features in version 2.5

Entry Post 2.5 contains the following new features for use on MT4:

  • Complete support for all Authentication methods in MT4 (including MT Auth, OpenID, and TypeKey)
  • New "EntryPost Response" template makes it easier to customize the screen that users see after submitting an entry.
  • Enhanced preview template.
  • New email notification template enables to to customize the contents of the emails, including the ability to include extra field data
  • Better error handling (errors displayed via customizable template)
  • Advanced options for overriding the default "allow comments" and "allow trackbacks" settings.

I have been using external forms and scripts to submit MT entries for several years. Examples include Mars Rover Forum and Seinfeld Forum. These MT-powered forums enable forum members to post new topics (entries) using an external form. Based on this experience, I have converted the entry posting script into a plugin -- and added a bunch of additional features.

Basic Features

  • enable visitors to post entries to your blog
  • new entries can be set to "Published" or "Unpublished" (pending admin/moderator review)
  • supports all MT4 authentication methods (optional)
  • entries can be scanned against MT's Spam Filters
  • entries can be previewed before posting
  • email notifications of new entry submissions
  • entries can be added to a category (set a default or allow poster to choose)
  • entries can be tagged (default list of tags, or specified by the poster)
  • included default templates include spam-protected form

Advanced Features

  • enable posters to upload an image with the entry
  • other entry fields supported (Extended Entry, Excerpt, Keywords)
  • option to disable rebuilds when an entry is posted
  • option to disable entry creation (makes the form work as a 'contact me' form with email notification turned on.)
  • xml response option
  • support for extra fields defined by you
  • override "allow comments" and "allow trackbacks" settings.

Try Entry Post 2.5 Now

I have enabled Entry Post 2.5 on the MT Test Blog. Submit an entry by clicking here. Feel free to login (optional) and submit entries. (Note that you may need to clear your cookies before testing, as the test blog is on a different MT installation than MT Hacks).

  1. Basic Form (default form installed with Entry Post)
  2. Advanced Form (an example form to demonstrate advanced features)

By using the forms above, you will quickly get an idea of the visitor experience with Entry Post. In its simplest form, it is very similar to posting a comment.

The Administrator Experience

Entry Post has been designed to be easy to install and configure. Simply upload the files, change some file permissions, then configure the plugin via the Plugin Settings for each blog. Required templates are installed with a single click (which can then be customized, if desired).

The settings area for Entry Post looks like this:

By using the above settings, you can configure most of the features of Entry Post.

Template Tags

EntryPost 2.5 includes the following template tags that you can use to display information posted using the plugin:

  • <MTEntryPosterName> - The name of the poster, as submitted in the "Name" field. If the name field it blank, the plugin assumes that the entry was not submitted via Entry Post, and this tag will display the name of the author of the entry. This makes it very easy to update your templates, simply replace the <MTEntryAuthorDisplayName> tag with the <MTEntryPosterName> tag, and it will "just work", regardless whether the netry was posted by an author or posted by a visitor to your blog.
  • <MTEntryPosterEmail> - The email address of the poster, as submitted in the "Email" field. If the "Name" field is blank, this tag outputs the email address of the author. For privacy and anti-spam reasons, I don't recommend using this tag in your templates.
  • <MTEntryPosterURL> - The URL of the poster, as submitted in the "URL" field. If the "Name" field is blank, this tag outputs the URL of the author.
  • <MTEntryPosterIP> - The IP address of the poster. For privacy reasons, I don't recommend using this tag in your templates.
  • <MTEntryPosterImage> - The relative path of the image uploaded by the poster.
  • <MTEntryPosterLink> - Outputs the linked name of the poster. If the "Name" field is blank, it will display the author's linked name. Supports the same arguments as <MTEntryAuthorLink>.
  • <MTEntryPostField> - This tag can be used to to display the value of any extra fields submitted using Entry Post. A single field argument is required, which should inlcude the name of the field, without underscores. For example, <MTEntryPostField field="Favorite Color"> would display the value of the Favorite Color field.

Advanced Use - Adding Extra Fields

Entry Post makes it very easy to add extra fields. All you have to do is add the extra fields to the form. First, browse to Templates and then Template Modules and edit the 'EntryPost Form" module. Now add a field to the form in the following format:

<input type="text" name="entrypost_Favorite_Color" />

..and you are done! Note that the "name" argument above must begin with "entrypost_", followed by the name of the field. Use underscores ("_") instead of spaces, if the field name has more than one word. You can add multiple extra fields in this manner, and they will automatically be added to the entries posted, and displayed automatically on the admin Entry screen.



  • Download the zip file and extract the contents.

  • Upload the "EntryPost" directory (and all its sub-directories and files) to your MT 'plugins' directory.

  • Change the file permissions to 755 (CHMOD 755) for the EntryPost/mt-entrypost.cgi file.

  • Login to MT and go to 'Preferences > Plugins' area of a blog and "Settings" link for EntryPost. You should now see the available settings for EntryPost, as shown above.

  • Enable the plugin by checking the Enable checkbox, choose other settings, and the save the settings.

  • Return to the EntryPost settings and install the templates by clicking the provided link. After the templates have been created, you can customize them, if desired, to suit your needs or match your site design. The primary template is an index template called "EntryPost Submit Page" - this page includes the form to post entries.

  • If you are using the default template installed above, you must also made a small edit to your "Header" template module. Go to Design>Templates then choose template Module from the menu on the right. Open the module called "Header". Before the </head> tag, add the following:

    <MTIf name="entrypost_submit">
    <script type="text/javascript" src="<$MTLink template="javascript"$>"></script>

  • You will probably now want to provide a link to the Submit Page from your main index. One way to do this is to use the provided "EntryPost Submit Link" widget (using WidgetManager). Alternatively, you can manually create a link such as <a href="<MTEntryPostSubmitPage>">Submit an Entry</a>.

Get Entry Post

Commercial License - $97

If you site or blog is for-profit, a commercial license is required. The license includes all future updates to Entry Post and priority feature requests.

Personal License - $33

For use on a personal site or blog, a personal license is required. The license includes all future updates to Entry Post.

Not on MT4? Version 2.0 supports MT 3.2 and MT3.3x.

If you would like to use Entry Post on a non-profit or charity site, please contact me.

As always, feedback, suggestions, and product questions are appreciated. Please reply to this entry.

Note: - While Entry Post includes built in support for poster fields and extra fields, it is not intended to be used as a general purpose "extra fields" plugin. Fields can only be added via the external Entry Post form. If you are interested in a general purpose fields plugin, there are several available, including CustomFields and RightFields.

Template Inheritance is a plugin for Movable Type that enables you to link templates together in a way that one template inherits its template code from another template. One example is when you have two or more blogs in your MT system, and you want to use the same design or template layout for each blog. Using the Template Inheritance plugin, you can effectively use one blog's templates as master templates that control the templates of the other blogs. So if you have 3 blogs on a company site with same look and feel, this can save you a lot of time manually updating the templates of each blog every time you make a change. Another way to think of it is sharing templates between several blogs. You can link all the templates in one blog to another, or selectively choose which templates should be inherited (including template modules).

New Features in Template Inheritance Pro 2.0

There two new features:

  • Support for MT4
  • A powerful "Inherit all Templates" feature that enables you to quickly link all of the template of blog, in a single step. This function even goes a step further -- if the "parent blog" has templates that don't exist in the "child blog", then those templates will be automatically created and then linked, so that they are inherited from the parent blog. In short, this will effectively copy all the template from Blog A to Blog B, and then link them so that when you make changes to templates in Blog A, the changes are made automatically in Blog B.


I have wanted a plugin like this for years, the ability to share template code between multiple blogs. For a long time, MT has included a "Link this template to a file" feature in which you could link a template to an actual file on your server. I used to link multiple templates to the same file, effectively (and indirectly) sharing the template code between different blogs. While this works, it has its problems. At times in the past, there we MT bugs that prevented templates from being updated from the file - but I think those are fixed now. The other main problem is that you have to be very careful when editing a template, remembering that it may be shared with other blogs, etc. The Template Inheritance plugin is an improvement over the file linking method, addressing the key issues with file-based linking.


For any specific template, you can assign another template on the system from which to inherit template code. For example you could decide that you want template "B" to inherits its template code from template "A".

It may be helpful to think of "A" as the parent template and "B" as the "child" template -- the child inherits its template code from its parent. When template becomes linked to parent template, the child's template code will immediately be replaced by the template code of the parent, and will be derive its template code from the parent from that point forward. You won't be able to edit the child template after the link is made (the template code is greyed-out and the field is disabled) -- instead, you will see a link to the parent template, and you can then edit the parent template.

Editing the parent template will automatically update all of its children templates. Of course, you need to rebuild the appropriate pages on each blog for template changes to be reflected on your blogs. You remove remove inheritance (break the link with the parent) at any time. When you remove inheritance from a child template, it becomes independent from that point forward, and you can now customize it independently of the parent template.

Or, you can use the "Inherit all Templates" function to link all of a blog's templates to those of another blog. This is major time saver when you have multiple blogs that you want to use the same layout and design. Simply create and customize the templates on a "master blog" then link the other blogs quickly.


  • Only system administrators (sometimes called superusers) can create inheritance links.

  • You must enable the plugin for each blog before you can create inheritance links (blogs to have "child" templates need to be enabled, not those containing the "parent" templates)

  • A template cannot be both a child and a parent. If you try to assign inheritance from a template that is a child of another template, it will work -- but the plugin will make the link directly the ultimate parent. This makes it easier to manage, as you won't have to trace template linkages through several generations to find the "master" template.

  • When a parent template is deleted, each of its children immediately become independent (orphaned, if you will).

  • When first assigning inheritance to a template, the child template's code is replaced by that of the new parent. BE CAREFUL, there is no undo, the child's former template code will be gone. This is also true when using "Inherit All Templates". Just to be safe, it may be a good idea to back up the old template code beforehand, in case you decide to revert back.


  • MT 3.3+

Note: the "Inherit all Templates" feature is currently available only on MT4. If you are interested in using this feature with MT3.3x, please let me know.

Great for Blog Networks

While Template Inheritance can be used in many different scenarios, it is a great fit for blog networks. Networks of blogs on the same MT system often have similar (or identical) design or template code. Sometimes only certain things are the same, such as a common header / footer, stylesheet, sidebar, advertising blocks, etc. Using this plugin to link up those common template elements, you can save a lot time managing the templates of the network. If you have a blog network and this sounds interesting, please contact me. I can help implement this for you, customize the plugin to meet your specific needs, etc.


  1. Extract the contents of the zip file and upload the contents of the 'plugins' directory into the 'plugins' directory of your MT installation
  2. Login to MT (or hit Main Menu, if you are already logged in). You should now see and upgrade screen that will install a table for Template Inheritance.
  3. Browse to the blog you want, then go to the plugin settings to enable the plugin.
  4. Browse to the template you want, then click the "Click here to inherit code from another template" link.
  5. Enter the template ID of the desired parent in the prompt box, hit OK.
  6. The template is now linked to the parent. Rebuild to see the results on your site.
  7. (Pro Version only) Or use the "inherit all blogs" feature to link an entire blog.

Get Template Inheritance

Template Inheritance is free for personal use on up to 3 blogs.

Donations are appreciated:

Download Now

Download Now
Downloads: 172

Membership required, please sign-in or register:

Template Inheritance Pro is only available with a license:

Commercial License (4-10 blogs): $97

Blog Network License (10+ blogs): $249

As always, feedback and suggestions are appreciated. Please reply to this entry.

User Profiles is a plugin for Movable Type 4 that extends the user profiles in MT4. Version 1.0 adds the ability to user profile images (sometimes called avatars) from within the MT4 interface:

Profile images are just the first step for the User Profiles plugin. Look forward to more profile features in the near future.

How it Works

From admin MT4 interface, users can add a profile image by editing their profile. (System admins can perform this task for any user on the system):

Users will the be prompted to upload a profile image:

Square images are recommended, but if the uploaded photo is not a square, the plugin will automatically crop the image to make it a square.

After saving the profile image, the image will appear in the user profile:

Finally, the <MTAuthorImageURL> and <MTCommenterImageURL> tags can be used to display the user's profile image on your published blog pages.

Note: In version 1.0, authenticated commenters cannot upload their own profile images -- only users will access to the MT4 admin area can upload photos. In the next version, commenters will be able to upload profile images as well.

Profile images are stored as Assets within Movable Type. This means that these images can also be used in other ways, such as inserting them into entries. Movable Type will keep the full size image (cropped to square, if necessary) and create thumbnails when using the tags described below. Each profile image is tagged with 'profileimage'.

Template Tags

Version 1.0 of User Profiles includes 4 new template tags:

  • <MTAuthorImageURL> - This displays the url to a thumbnail of the author's profile image. There is one optional argument:
    • size - the size in pixels of square thumbnail, default is 50 pixels (each side)
  • <IfMTAuthorImage> - This conditional tag displays its contents if the author has uploaded a profile image.
  • <MTAuthorImageURL> - This displays the url to a thumbnail of the commenter's profile image. There is one optional argument:
    • size - the size in pixels of square thumbnail, default is 50 pixels (each side)
  • <IfMTCommenterImage> - This conditional tag displays its contents if the commenter has a profile image. Note: if you posted a comment on your own blog (while signed in), your profile image will be displayed using this tag.

Example: In your "Entry Metadata" template module, your could add the following:

<MTIfAuthorImage><img src="<MTAuthorImageURL size="50">" align="left" /> </MTIfAuthorImage>

This would display the author's profile image, if they have one in their profile.

Similarly, in your "Comment Detail" module, you could add:

<MTIfCommenterImage><img src="<MTCommenterImageURL size="50">" align="left" /> </MTIfCommenterImage>

Both example above can be seen in action on the MT4 Test Blog.


  1. Download the zip file and upload the contents of the 'plugins' folder to the 'plugins' directory of your MT installation.
  2. Go to the blog you want, then to Preferences > Plugins. Then choose User Profiles, then Settings. Entry the path for uploading profile images, then save.
  3. Upload a profile image from your profile. (Tip: the quickest way to get to your profile is to click the "Hi Username!" link in the very top right of the page.) Click the link to add a profile image and follow the steps as shown above.
  4. Edit your templates to display profile images, as described in the Template Tags section above.

Get User Profiles

User Profiles v1.0 is free for both commercial and non-commercial use. (Note that future versions will have additional features and may not free for commercial use.)

Download Now

Download Now
Downloads: 546

Membership required, please sign-in or register:

Upcoming Features

This is just the beginning for the User Profiles plugin. Potential future features include:

  • Enabling commenters to upload photos
  • Public user profile pages listing profile information, plus recent entries and comments.
  • Extended profiles (fields for birth date, hometown, etc.)
  • Importing photos from other services, if possible.
  • And more - please make feature suggestions in the comments of this entry

The Customized Email Templates plugin enables MT4 sites to customize email notification templates on per blog basis. Using the familiar MT4 template management screens, you can easily customize the emails that get sent out by the system. For example, you could change the order of comment fields, remove unwanted items, or add new pieces of information to suit your needs.

How it Works

When MT is ready to send an email, the plugin looks for template modules in that blog with the same names as the default system filename. The key names are:

  • new-comment.tmpl
  • new-ping.tmpl

If the module is not found, the system default will be used (same as without the plugin). If a match is found, the template module will be used instead of the system default.

Note that these template modules are special, because they are a hybrid of an "application template" and a "blog template". What this means is that you will see a lot of <mt:var tags, which are variables that are set by the system. In addition to these tags, you can also use normal <MTCommentXXX, <MTCommenter and <MTEntryXXX tags when customizing these templates.

Template Sets

As a separate download, I have created a template set to get you started: This template set includes template modules for both comment notifications (new-comment.tmpl) and trackback notifications (new-ping.tmpl). Remember, it is important not to rename these modules.

These templates are virtually identical to the system defaults, but I have included two enhancements to the new-comment.tmpl template:

  • If the comment was made by a authenticated commenter, the Auth type will be shown after their name. For example, it would show "Commenter name: Bob Sakamano (Vox)".
  • I have modified the "View comment" URL so that it includes the anchor #comment-<mt:CommentID>. These means that when you click the link, it will go directly to that comment on the page, rather than to the very top of the page. This is handy for sites that get a lot of comments, and you have scroll all the way down to view the new comment and/or reply.



Download and extract the zip file. Upload the contents of the 'plugins' folder to the 'plugins' directory of your Movable Type installation.
For each blog that you want to customize, install template Modules to be used. Download the template sets and install them using Template Installer. (Advanced users can create these manually, but they must be named as described above.)

Get Customized Email Templates

Commercial License - $97.00

Personal License - Free

Customized Email Templates is free for personal, non-commercial use.

Download Now

Download Now
Downloads: 193

Template Set:
Download Now

Membership required, please sign-in or register:

As always, comments and suggestions are welcome.

Entry To Page Converter is a plugin for Movable Type 4 that enables you to convert Entries into Pages.

Pages are a new feature in MT4 that you can use to create pages that are not really 'entries'. In previous versions of Movable Type, many people used entries for such pages. Now that MT4 has "pages", you can use this plugin to easily convert those old entries into pages. By the way, you can also do the reverse, convert Pages into Entries.

How it Works

On the Entry listing screen, you can select the entries that you want to convert by checking the boxes. Then simply choose "Convert to Page(s)" from the "more actions..." dropdown menu and click "Go". The Entries will immediately be converted to Pages. During the conversion process, the entry is automatically removed from any categories it may have been in, since Pages don't use categories. After the conversion process, you will be redirected to a "Batch Edit" screen for your new pages. Using this screen, you can quickly add Pages to Folders and other minor edits, then hit save. It's that easy.


  • MT4.0+


  1. Download and extract the zip file, then upload the contents of the 'plugins' directory into the 'plugins' directory of your Movable Type installation (often /cgi-bin/mt/plugins/).
  2. Login to MT and go to the entry listing for the blog you want.
  3. Select the entries that you want to convert by checking the checkboxes.
  4. Choose "Convert to Page(s)" more the "more actions..." dropdown box and click "Go"
  5. (Optional) Add the new pages to Folders and make other edits, then save.
  6. Rebuild your site.

Get Entry to Page Converter

Commercial License - $25

Visitor Stats is free for non-commercial use, to members of MT Hacks.

Download Now

Download Now
Downloads: 227

Membership required, please sign-in or register:

Comments and Suggestions are welcome, please post a comment.

Visitor Stats is a plugin for Movable Type 4.0 that displays visitor and page view statistics for MT4 blogs. New! Visitor Stats Pro provides even more statistics and widgets (details below).

Visitor Stats looks like this:

New Features in Visitor Stats 1.5

  • Stats Counter widget now includes mini graph
  • Several bugs and warnings fixed.
  • Stats are now reported in the time zone for each blog
  • New template tag for displaying the number of times an entry has been viewed

Announcing Visitor Stats Pro

This is the first release of the "Pro" version of this plugin. Additonal features included with Visitor Stats Pro:

  • Blog Widget for displaying a ranked list of "Most Read Entries"
  • Entry Stats graph that displays entry pages views by date.
  • List of Recent Visitors and Views on the admin Dashboard (including IP address, username, referrer and keywords).
  • Dashboard widgets for displaying top search engine keywords and referrers.
  • Detailed Entry Stats screen with graph, top keywords used to find the entry, and a list with details of each page view for that entry.
  • Many new template tags for displaying stats on the published pages for your blog.
  • See details about Visitor Stats Pro below

Visitor Stats also provides a "stats counter" tag (and widget) that you can place on your site to display your stats. Note: you can visit the MT4 Test Blog to to see some of the Visitor Stats (and Pro) publishing widgets and tags in action.

Visitor and View Stats

Visitor Stats tracks two key statistics for your blog:

  • Visits - A visit represents a real person who visited your blog. Even if the person views 20 pages of your site, it only counts as one visit (per day).
  • Views - Also known as page views, a view represents the viewing of a single web page on your site. If the person views 20 pages, it counts as 20 views. If a person refreshes the same page several times, each time counts a view.

How it Works

Visitor Stats tracks visitor and view information and records that information directly into your Movable Type database. After placing a single template tag in your templates, Visitors Stats will begin recording stats automatically using a combination of JavaScript and PHP (note that you do not need to enable MT's dynamic publishing feature). Then, when you view the admin dashboard for your blog, you will "Visitors" and "Views" tabs on the Blog Stats widget, which will display a graph of your stats (see image above). On the System Overview dashboard, you will see aggregate graphs of your stats for all blogs on the system.

Visitor Stats - Template Tags

Visitor Stats provides 4 template tags:

  • <MTVisitorStatsTracker> - Place this tag before the </head> tag in every template where you want to track stats. Only place one of these per template.
  • <MTVisitorStatsCounter> - This tag will display the total number of visitors or views for your blog, just like a web stats counter. There is one optional argument:
    • type - the type of stats that you want to count, which either be "visit" or "view". The default is "view". Example: <MTVisitorStatsCounter type="visit">
  • New! - <MTEntryStats> - Used within an entry context, this displays the total number of views for that entry.
  • New! - <MTStatsImageURL> - The URL to the small stats image ( that looks like ).There is one optional argument:
    • type - the type of stats that you want to graph, which either be "visit" or "view". The default is "view". Example: <MTStatsImageURL type="visit">

Visitor Stats Pro Features

Visitor Stats Pro includes additional stats and provides ways to view visitor and view stats in more detail, helping you understand the traffic to your sites. Where are readers coming from? What search keywords are they using in search engines to find your site? What entries are they reading? Which entries get the most views? Visitor Stats Pro helps you answer these questions and more.

Display a List of the Most Popular Entries

Visitor Stats Pro includes a widget that you can use to display a ranked list of the "Most Read Entries" in your blog sidebar, showing readers which entries are the most popular. You can also create customized most readlists by category, tag, etc. Examples include "Most Read Entries in this Category", or a "related entries" section that lists that the most read entries with the same tags as the current entry. This is a powerful feature with many possibilities.

Detailed Stats for Each Entry

In the MT4 admin interface, Visitor Stats Pro displays detailed view stats for each entry. On the entry screen, an Entry Views graph can display the traffic history for that entry:

(The graph on the edit entry screen can be hidden with a single click, or disabled in the plugin settings, for those who don't want to the graph to appear on this screen)

The same graph also appears on the Detailed Stats screen for each entry (just click the "More Stats" link from the main entry screen), plus a list of top keywords for that entry, and a detailed list of the pages views for that entry:

As you can see from the image above, in addition to displaying the IP address for each Visitor (just to left of this image), Visitor Stats Pro will also identify visitors and views by registered users on your system. This includes both local MT authenticated users, as well as TypeKey, Vox, Livejournal, or other OpenID users. This provides valuable information about the traffic stats of your signed-in users. You can even filter the list of page views by dragging the sliders on the graph -- just choose a date range, then click the link that appears. The "From" column shows the URL that the visitor came from before arriving on your site.

More Dashboard Stats

Visitor Stats Pro provides even more stats on the MT4 admin dashboard. This includes a summary of recent visitors and views, along with detail about each. This is similar to the "Recent Entries" and "Recent Comments" displayed when you click the respective tab on the Blog Stats widget:

Top Keywords and Referrers Dashboard Widgets

Visitor Stats Pro includes two new widgets that you can optionally display on your admin dashboard. The "Top Keywords" widget will display a list of the top search engine keywords used to find your blog:

And the "Top Referrers" widget will display a list of the top referrer URLs for your visitors, so you can see where your traffic is coming from:

Many Visitor Stats Pro Template Tags

Visitor Stats Pro includes many new template tags that you can use to display your blog stats on your published pages, blog sidebar, etc. In addition to display lists of "most viewed entries" as described above, you can display lists of top keywords, top referrers, recent visitors, and recent page views. If fact there are so many new template tags, that I won't discuss them in detail here -- I will soon post a separate article that describes the tags with some example template code.


Installation or Upgrade

  1. Download and extract the zip file, then upload the contents of the 'plugins' directory into the 'plugins' directory of your Movable Type installation (often /cgi-bin/mt/plugins/).
  2. (Pro Version Only) Upload the contents of the 'extlib' directory into the 'extlib' directory of your Movable Type installation (often /cgi-bin/mt/extlib/).
  3. Login to MT and you should be redirected to an "Upgrade" screen that will update your database automatically.
  4. For each blog that you want to track, go to Preferences > Plugins and then click on "Visitor Stats" and then click on "Settings". Now click the link labeled "Click here to install the Visitor Stats templates". Note: Even if you are upgrading from a previous version, you should re-install the templates.
  5. Now go to Design > Templates and insert the <MTVisitorStatsTracker> tag before the </head> tag for all templates that you want to track. Note that if you are using the new MT4 default templates, then you only have to do this in one place: click on "Template Modules" from the right side of the page and open the "Header" template module and insert the <MTVisitorStatsTracker> before the </head> tag and then save the module. Note: If you are upgrading from a previous version of Visitor Stats, you can skip this step.
  6. Now Publish (rebuild) all your files.
  7. (Optional) Add the <MTVisitorStatsCounter> tag to your templates or use Widget Manger to add the "Visitor Stats Counter" widget to your sidebar. Pro users can add the "Most Read Entries" widget and start using the many new templates tags.

Get Visitor Stats Pro

Commercial License - $97

Non Commercial Use License - $33

Get Visitor Stats

Visitor Stats (Basic Version) is free to members of MT Hacks.

Download Now

Download Now
Downloads: 2127

Membership required, please sign-in or register:

Potential Future Features

Visitor Stats Pro was a much larger effort than I anticipated. As such, there are still a number of interesting features that may be added in the future. Future features will be determining largely by the requests of Visitor Stats Pro license holders. Here are some of the potential features:

  • Stats on a per author basis. If you have a blog with multiple authors, see which authors are generating the most traffic.
  • Drill-down into statistics. View the traffic history for a single visitor or registered commenter, see how they navigate through your site and which pages they viewed.
  • Geographical stats. See what country, region and city your visitors are coming from.
  • Recommended entries based on common viewing stats. For example "people who read this entry also read these entries..."
  • PHP versions of template tags to support MT's dynamic publishing system.
  • And more...

As always, suggestions, comments, and questions are appreciated.

A Note on the Small Stats Graphs

The small stats graphs included with this version of Visitor Stats are called Sparklines and were inspired by the SparkStats plugin for Wordpress. The sparkline graphs used by the Visitor Stats plugin are powered by the sparkline web service provided by bitworking.org. The plugin stores a copy of the image on your blog, and updates the image a maximum of once per hour (note that that stats image only updates when the page is published, either manually or automatically when someone posts a comment, etc.). Credit goes to those sites discussed above for their cool work with Sparklines.

These Movable Type Podcasting Templates are designed to be used with the Podcasting Plugin, created by Byrne Reese. In fact, the templates were created by Bryne, and I have simply package them up so you can easily install them with the Template Installer plugin.

Included Templates

Both of the templates below are replacements for the default Atom and RSS templates. Note that these can be used on any blog, even if you are not podcasting. The templates will check each entry for a podcast item, and only add the necessary podcasting bits if it finds one.

  • Atom - Movable Type 4 Atom Feed index template with support for podcasts
  • RSS - Movable Type 4 RSS Feed index template with support for podcasts



Install is easy, using the Template Installer plugin:

Download and expand the zip file.
Upload the 'podcasting_templates' folder to the /plugins/TemplateInstaller/template_sets/ directory of your MT4 install. (Make sure to upload both the folder and its contents).
Browse to the blog you want, then go to Design > Templates then click the "Install Templates" link on the lower right.
From the dropdown, choose the "Podcasting Templates" set and click "continue".

Note that your existing versions of these templates will be automatically backed up during the template installation process.

Get MT4 Podcasting Templates

Download Now:

Download Now
Downloads: 168

Membership required, please sign-in or register:

A new feature in MT4 enables users to login via OpenID. This makes it easy to login to comment on MT4 blogs: simply enter your OpenID URL and you are good to go. But what if you don't have an OpenID. They are easy to get, but I thought it would be cool if you could use your own MT blog URL, and use your MT installation account to login to other MT sites to comment. That is exactly what the OpenID Server plugin enables you to do.

When I first set out to built an OpenID Server plugin for MT, I thought is was going to be a lot of work and steep learning curve. But then I discovered that such a plugin was previously created over 2 years ago for MT 3.2, created by Mark Paschal and Brad Choate of Six Apart. I merely moved things around a bit to suit MT4, made a few minor tweaks, and added a template tag to make it easy to setup. As such, 99% percent of the credit goes to Mark and Brad. I just thought it would be cool to login to other MT4 blogs using my MT install login account -- it kinda brings the whole OpenID thing full circle.


Notice the URL in the address bar after I click the OpenID "Sign In" button:


  • MT4
  • Net::OpenID::Server Perl Module (included)


  1. Extact the files from the zip file and upload the contents of the 'plugins' folder to the 'plugins' directory of your MT installation
  2. Upload the contents of the 'extlib' directory to the 'extlib' directory.
  3. Change the permissions on the /plugins/openid-server/server.cgi file to 755 (CHMOD 755)
  4. In your author profile, set your Website URL to the URL you wish to use as your OpenID profile URL.
  5. In the <head> section of that page, add the HTML tag:
  6. <link rel="openid.server" href="<MTCGIPath>plugins/openid-server/server.cgi" />

    OR (easier)


  7. If your profile page is a static HTML page, replace "http://mt-hacks.com/cgi-bin/mt/" with the full CGIPath to the copy of Movable Type where the plugin is installed.

  8. To sign in with OpenID, when presented with an OpenID signon form, enter the URL to your

  9. profile URL. If you are not logged in to Movable Type, you will be prompted to log in.

Download Now

The OpenID Server plugin is free software.

Download Now
Downloads: 354

Note: I probably should submit this version to code.sixapart.com, but I am not sure hwo to do that. I have never used Trac, nor contributed to any open source software before. I am not sure what the best practices are here, etc. I am sure somebody will point me in the right direction here...

Comment Titles is a plugin for Movable Type that adds a "Title" field for comments. Commenters can (optionally) add a Title to their comment. Comment Titles can be viewed and edited from the admin interface.


Template Tags

Comment Titles provides one new template tag:

  • <MTCommentTitle> - This tag will display the the title for the comment in context. If the comment does not have a title, this tag will output nothing.


  • MT 4.01+

Note: Due to a bug in MT 4.0 that I found while developing this plugin, Comment Titles will not work with 4.0. You need 4.01 (or newer).


  1. Download and extract the zip file. Upload the contents of the 'plugins' directory to the 'plugins' directory of your Movable Type installation.
  2. Add a "title" field to your comment form. If you are using the default MT4 templates, go to Design>Templates, then "Template Modules" from the right side of the page. Then choose the "Comment Form" template. You can place the field anywhere between the <form and </form> tags, but I recommend after the URL field. Below the "comment-form-url" div, add:

    <div id="comment-form-title">
    <label for="comment-title">Title</label>
    <input id="comment-title" name="title" size="30" value="<MTIf name="comment_preview_template"><$MTCommentTitle$></MTIf>" />

  3. Next, display the Comment Title on your published page by adding the <MTCommentTitle> tag to your Entry (Individual Archive) template. If you are using the default MT4 templates, then go to Design>Templates, then "Template Modules" from the right side of the page. Then choose the "Comment Detail" template. You can decide where you want to display the title, but one option is to place it right before the comment body (before the comment-content div):

    <MTIfNonEmpty tag="MTCommentTitle"><div class="comment-content">

    Note that in the above example, I have used the MTIfNonEmpty tag. By doing so, the HTML for the title will only be displayed if a title exists for that comment. This avoids extra blank lines and other markup when comments don't have titles.

  4. Publish your entry pages and you are done.

Get Comment Titles

Commercial License - $97.00

Personal License - Free

Comment Titles is free for personal, non-commercial use.

Download Now

Download Now
Downloads: 347

Membership required, please sign-in or register:

As always, comments and suggestions are welcome.

Ajax Comments is a plugin for Movable Type 4 that enables your commenters to post comments using Ajax, without the page refreshing.

Live Demo

The best way to describe Ajax Comments is to show you. Try it out right now on the MT Test Blog. Click here to post a comment on the test entry.

Template Sets

To make Ajax Rating easy to setup, 6 templates are included. The following templates are new ones:

Ajax Comments Javascript (index template) - Contains links to the Javascript needed to posta comment.
YUI Javascript (template module) - Contains references to YUI Javascript libraries hosted externally.

...and 4 templates that are replacements for MT4 default templates: (Note: if you already customized these templates, you may have to do some manual template customization here. The installer will back up your existiing versions of these template.)

  • Comments (template module)
  • Comment Form (template module)
  • Comment Preview (system template)
  • Comment Response (system template)

The above templates can be easily installed by clicking the "install templates" button in the plugin settings (requires the Template Installer plugin).

Spam Protect

Ajax Comments can also be used to reduce your spam load significantly with "Spam Protect". Spam Protect is enabled by default, but you can disable it in the plugin settings. Spam Protect tricks automated spambots by tricking them into posting comments to the wrong URL. I have used this technique for a few years, and it makes a big difference is spam volume as server load. The one drawback to using Spam Protect is that commenters must have Javascript enabled to successfully post comments -- the tiny percentage of people who have Javascript disbaled will be sent to the "fake" Spam Protect URL. To minimize the CPU load from spambots, I recommend setting the Spam Protect URL to a non-existant page, so the bots will get a 404 "page not found" error.



  • Download and extract the zip file. Upload the contents of the 'plugins' folder to the 'plugins' directory of your Movable Type installation.
  • Go the the plugin settings (Preferences > Plugins, then click Ajax Comments then Settings). Install the templates by clicking the button.
  • (Optional) Return to the plugin settings and adjust the Spam Protect settings and save.
  • Edit your "Header" template module. Go to Design > Templates then choose "Template Modules" from the right side of the page. Open the "Header" template. Look for a line that says:
    <MTIf name="feedback_template">

    After that line, add the following two lines:

    <$MTInclude module="YUI Javascript"$>
    <script type="text/javascript" src="<$MTLink template="ajax_comments_javascript"$>"></script>

  • Ensure that you have the "Use Comment Confirmation Page" setting checked under Preferences > Blog Settings > Comments. This is checked by default in new MT4 blogs. It must be checked for Ajax Comments to work.

  • Rebuild your Entry Archives.

Get Ajax Comments

Commercial License - $97.00

Personal License - Free

Ajax Comments is free for personal, non-commercial use.

Download Now

Download Now
Downloads: 1289

Membership required, please sign-in or register:

As always, comments and suggestions are welcome.