Not a developer? Go to

Why Choose Movable Type?

Publishers large and small love our professional publishing platform for engaging audiences and building brands.


We pioneered enabling users to flexibly manage content without sacrificing the strengths of static publishing. More than a decade later, the track record proves static sites consistently handle more traffic with fewer computing resources.


Building your website with Movable Type is easy. The template markup is about as simple as HTML, and the resulting page code is completely in your control. Further, templates can be structured as you see fit using intuitive includes to eliminate repetition and reduce error.


Most content management systems consume ever more processing power and memory as your site grows, degrading user experience, your bottom line, or likely both. Movable Type supports unlimited users to create as many websites and blogs with as much content as you desire without affecting page loading times.


At the core, Movable Type is a powerful content repository with sensible structure that has withstood the test of time. From custom fields and themes to plugins and the Data API, there are many possibilities for developers of all abilities to achieve their goals.

With Movable Type, you get stability, flexibility and security along with a robust content management framework. Below are some of the parts that work together to make managing your website a great experience for everyone involved.



  • Google Analytics

    Display website and blog access information in the Site Stats widget.

  • Blogs and websites at a glance

    Get a quick overview of the blogs and websites to which you have access with quick links to create new entries and other daily administration tasks.

  • Personal stats

    Counts of and links to your own entries, pages, comments and drafts to keep tabs on your progress.

  • Movable Type news

    Keep abreast of Movable Type developments with this automatic news feed from the software developers.

Content Management


  • Multiple blogs

    Organize your data however you see fit by creating as many blogs as you’d like, each with its own publishing options. And we mean as many blogs as you’d like. They’re unlimited!

  • Multiple websites

    Unlike other systems, multisite support is included! You can use Movable Type to create just one website or thousands!

  • Entries and pages

    Each website and blog supports both entries and pages so you can manage your content in a way that makes sense to you.

  • Search engine friendly URLs

    Static publishing means your URLs are inherently search engine friendly. No URL fancy rewriting necessary!

  • Multiple categories and folders

    Entries can be assigned to any number of categories, and pages placed under any number of nested folders, allowing your content organization to reflect your business.

  • Entry and page versioning

    Specify how many previous versions of entries and pages to save on a per blog basis so you can revert changes and have an audit trail where it is important, and save resources where it is not. Each version can have a comment to describe the changes.

  • Scheduled publishing

    Entries and pages can be set to automatically go live at a specified date and time, enabling you to streamline your publishing process.

  • Scheduled expiration

    Entries and pages can be set to automatically be unpublished at a specified date and time, enabling easy management of sponsored content, contests and more.

  • Feed based syndication

    The default themes contain a readymade ATOM feed template so your content will automatically be available to feed readers and other services. Movable Type’s infinitely flexible templating allows you to customize the feeds any way you’d like by adding custom fields and other data, or even by changing the format entirely.

  • Search engine and log

    Use Movable Type’s built in search engine to allow users to search for content on your site. All searches are logged to the activity log for later review.

  • Pagination

    Easily link to previous and next entries within or across categories.

  • Entry, page, comment pagination

    Split long entries into multiple pages by easily inserting page breaks using the Pagination plugin.

  • Ping servers

    Notify ping services of website updates automatically, configurable per blog.

  • URL names

    Entries and pages have configurable basenames to allow customization of the resulting URL.

Author experience


  • Multilingual

    Out of the box support for English, German, Dutch, Spanish, French and Japanese.

  • Autosave

    Entries, pages and templates are saved automatically to prevent loss of work after unfortunate events like a system crash, power outage or accidental browser closing.

  • Preview in new window

    Ability to preview content in popup windows.

  • Bookmarklet

    Post entries and pages using convenient bookmarklets.

  • Batch editing

    Save time by modifying status, title, primary category and date information for multiple entries or pages simultaneously.

  • Moblog publishing

    Using the PostOffice plugin, save or publish text and images to your blogs by sending an e-mail, allowing for easy on the go publishing or accepting contributions from specified or anonymous users.

  • Default status

    Control whether entries and pages are published or set to draft status by default on a per blog basis.

  • Default text format

    Control the default format of entry and page bodies on a per blog basis. Options include rich text, Markdown, basic line break conversion and none.

  • Default fields

    Select which standard fields are visible by default on entries and pages.

  • Rich text editor styles

    Customize CSS styles used in the display of content in the rich text editor by pointing to a remote file or a file within the current theme.

  • Symbol replacement

    Set whether punctuation and other symbols are replaced with their HTML character entity or ASCII equivalents for backward compatibility with databases and other systems that do not support UTF-8.

Custom fields and media


  • Extend any object

    Add custom fields not just to to entries and pages, but also to comments, assets, media files, categories, folders, blogs, websites and users.

  • Custom template tags

    Change the template tag used to access the data for a given field to anything you would like.

  • Required fields

    Make custom fields required or optional.

  • Default values

    Set default values for any custom field if desired.

  • Multimedia and file uploading

    Custom fields support file types including images, audio, video and generic files.

  • Image resizing and thumbnailing

    Create thumbnails of any size. Movable Type supports four major image manipulation protocols: GD, NetPBM, Imager and ImageMagick.

  • Asset manager

    See at a glance all files in the system to edit metadata, update the files and see where they are used.

Data API


  • Create content

    Save new entries, comments and assets via external programs via the Movable Type Data API.

  • Read content

    Access existing entries, comments TrackBacks, user accounts, blogs, websites, categories and even site statistics via external programs via the Movable Type Data API.

  • Update content

    Update existing entries, comments, TrackBacks and user accounts via external programs via the Movable Type Data API.

  • Delete content

    Delete entries, comments and TrackBacks via external programs via the Movable Type Data API.



  • Complete output control

    Easy to use templates output the exact text entered, making it dead simple to create templates for any pre-existing site design.

  • Templates separate from programming

    Designers don’t need to know anything about Movable Type’s underlying software or programming language to create templates.

  • PHP, Perl and others in templates

    Since templates are directly output after processing any template language, you can build files of any plain text programming language that is parsed at execution time. Simply set the template to publish as an appropriate file extension.

  • Robust template language

    Do anything from the basic placement of content to advanced conditional code using Movable Type’s markup language. Powerful language constructs like simple, array and hash variables combined with several types of loops allow you to do just about anything imaginable with template code.

  • Tag modifiers

    Dozens of functions can be applied to the output of any template tags or sections to do things like escape for XML, URLs or JavaScript, do find and replace operations and many other text processing functions.

  • Link to file

    Save templates to files, allowing integration with file based versioning or backup software. Linked template files can also be edited directly instead of through the Movable Type interface.

  • Template versioning with notes

    Specify how many previous versions to save on a per blog basis so you can revert changes and have an audit trail. Each version can have a comment to help understand the changes.

  • Background publishing

    Templates can be published on demand or sent to the publishing queue to improve the user experience.

  • Dynamic publishing

    Templates can be set to dynamic mode, where the system will generate them on the fly.

  • Automatic backups

    Never lose work! Savw existing templates with a single click when applying a new theme or refreshing the templates from an existing theme. A special listing screen allows you to view and restore any backed up template and see the date it was saved.

  • Template access control

    User roles and permissions can be used to only allow designated users access to templates on a per blog basis.

  • Template exporting

    Use the export theme function to produce an archive of all of your templates for backup or distribution.

  • Template cloning

    Easily create new templates based on existing ones.

  • Page modeling

    Index templates have a one to one relationship with published files.

  • Listing templates

    Archive templates can be used to create many published files that correspond to lists of entries or pages organized by date, category, folder or author. You can have separate templates for each of these or even use a single template for all of them. This enables simple creation of concepts like category or monthly archives.

  • System and e-mail templates

    Easily change the code used for system functions like user registration, commenting and more, including the content of e-mails sent by the system.

  • Template includes

    Template modules are templates that do not directly correspond to published files, but rather can be included within other templates. This enables reusing code, such as for headers, footers or sidebars, or even just breaking large templates into smaller pieces that are easier to manage.

  • Template widgets

    Create sets of widgets, which are like template modules but can be rearranged by dragging and dropping. This can allow for visually designing a sidebar, for instance, allowing blog managers to pick from a set of existing widgets to design their respective pages.

  • Parent website module includes

    Template modules can be placed within a website such that all child blogs can access them.

  • System module includes

    Template modules can be placed at the system level such that all child websites and blogs can access them.

  • Native file includes

    Movable Type can incorporate the contents of any given file during the publishing process, useful for integrating with external applications.

  • PHP includes

    Set template modules to use PHP style includes on a per blog basis.

  • Apache server side includes

    Set template modules to use Apache style includes on a per blog basis.

  • Active Server Page includes

    Set template modules to use ASP style includes on a per blog basis.

  • Java Server Page includes

    Set template modules to use JSP style includes on a per blog basis.

  • Blog level cache control

    Enable or disable template module caching at the blog level and on a per blog basis.

  • Template level cache settings

    Control the cache expiration for each template module individually, based on age or based on creation or modification of comments, users, TrackBacks, folders, pages or assets.



  • Automatic blog creation

    A personal blog can be created upon user registration if desired. Options include setting the blog theme, default language, default time zone and the website the blog should be created under.

  • Authentication options

    Users can log into your site using their existing membership with any OpenID compatible service, including Google and Yahoo!.

  • User registration

    Movable Type includes a complete user registration system so you can build your own community to drive engagement.

  • System level toggling

    Enable or disable comments and TrackBacks at the system level.

  • Blog level toggling

    Enable or disable comments and TrackBacks on a per blog basis.

  • Spam handling

    Option to automatically delete spam comments after a certain number of days and to control the aggressiveness of the spam filter.

  • Comment link cleansing

    Automatically apply a “nofollow” attribute to links in comments so your site’s search ranking is not affected by the sites linked to in comments. Additionally, trusted commenters can pass through this filter if enabled.

  • Comment moderation

    Set whether comments are immediately published for all users, authenticated users, trusted users or no one.

  • Limit comment HTML

    Disallow HTML in comments entirely or allow only certain tags.

  • E-mail notification

    Control whether e-mails are sent to blog editors when comments are submitted or when moderation is required.

  • Advanced notifications

    Using Notify Who?!, control exactly who should receive entry, comment and TrackBack notifications for each blog. Options include notifying the entry author, arbitrary e-mail addresses, a special blog address book or any combination of these. For entry notifications, you can configure the plugin to send them automatically or to simply provide defaults for the Share entry screen. Automatic notifications can be disabled on a per entry basis by toggling the link directly above the entry save and preview buttons.

  • Auto link URLs

    Transform URLs in comment text into HTML links.

  • Text format control

    Comments can be treated as plain text or processed through the convert line breaks or Markdown filters.

  • CAPTCHA support

    Use supplied CAPTCHA images to protect against spam comments and user registrations. Optionally, the reCaptcha plugin can be used to integrate with that popular service.

  • Comment confirmation page

    Redirect users to a special confirmation page or opt to return directly to the entry or page right after a comment is submitted.

  • Anonymous recommendation

    Control who can use the recommendation feature.

  • Upload control

    Set the destination for files submitted via the community pack’s “create entry” form on a community blog or forum.

  • Entry junk filter

    Set whether entries posted by users who do not have permission to publish entries on a community blog or forum are run through junk filters for comments and scored for spam.

Under the hood


  • World class technical support

    We offer a variety of support packages. Please contact us for more information.

  • Website separate from database

    Static publishing means users can still access your website even if the database goes down.

  • Structured programming language

    Movable Type’s core is written in Perl, the legendary programming language that is more structured and secure than PHP.

  • Multiserver support

    Extremely high traffic websites can benefit from Movable Type’s support for many server setups. You can publish from a main app server to many front end servers, or even spread some of the system’s functionality across any number of servers.

  • Many operating systems supported

    Movable Type supports Windows Server and OSX as well as Debian, Ubuntu, CentOS, Red Hat Enterprise Linux and any other similar operating system.

  • MySQL support

    All versions of Movable Type support MySQL databases.

  • Oracle support

    Movable Type Enterprise supports Oracle databases.

  • MS SQL server support

    Movable Type Enterprise supports Microsoft SQL Server.

Roles and permissions


  • Role based permissions

    Define a variety of user types, each with a distinct set of permissions. Making Movable Type match your business structure is easy!

  • Fine grained permissions

    Assign to each user any number of roles that can differ by blog and website. A user can be an administrator for one blog, but only be allowed to moderate comments on another.

  • Newly created user settings

    Customize the roles that are automatically assigned to users upon registration on your site.



  • Password validation rules

    Set the password policies, such as minimum length and requiring a combination of uppercase and lowercase letters, requiring a combination of letters and numbers and requiring special characters.

  • User lockout

    Set thresholds for locking out users who attempt login with an incorrect password a certain number of times within a certain period.

  • IP address lockout

    Set thresholds for locking out IP addresses that are used to attempt logins with an incorrect password a certain number of times within a certain period.

  • IP address whitelist

    Prevent trusted IP addresses from being locked out. This is helpful for preventing one user in an office from locking out the company’s own IP address.

  • IP banning manager

    See and control all banned IP addresses.

  • Site path limitation

    Set a systemwide base site path to prevent any sites from being published outside a given root directory.

  • System comment toggle

    Disable comments for all websites and blogs in one place.

  • System TrackBack toggle

    Disable receipt of TrackBacks for all websites and blogs in one place.

  • System notification pings toggle

    Disable notification pings for all websites and blogs in one place.

  • System user registration toggle

    Disable new user registration for all websites and blogs in one place, and set designated users to receive notifications upon user registration.

Publishing controls


  • Basename length

    Control the length of automatically generated names used in URLs.

  • Entry and page listing controls

    Limit an entry listing to a certain number of entries, pages or days, control the order, set the number of words in automatically generated excerpts and control the date format according to language.

  • License chooser

    Set an explicit Creative Commons license per blog to easily inform your users how your content can be used and shared.

  • File path control

    The system can publish files to anywhere on your system you want, including outside the designated blog root if desired.

  • Website URL control

    For extra security and convenience, you have the flexibility to run Movable Type at a different domain name or subdomain than is used to access the published website.

  • File extension control

    Set the default extension for published entries, pages and listings per blog, or customize it for individual templates.

  • Preferred archives

    Designate as primary one of multiple templates that publish entries or pages for different platforms or formats. This allows control of the file pointed to by the entry or page’s permalink used throughout the site.

  • Empty category archives

    Enable or disable publishing of category archives that contain no entries.



  • Listing framework

    Most listing screens are powered by the Movable Type listing framework, which enables quick sorting by any of the column headings, powerful custom search filters and display options that include controlling the number of items displayed and the columns displayed.

  • Periodic tasks script

    To better facilitate background publishing, Movable Type includes a script that can be called with a scheduled task to handle publishing items in the queue and other maintenance tasks. This script can also be run in continuous daemon mode or limited to a certain number of processes.

  • Listing filter manager

    Manage at the system level all saved listing framework filters and see who created them and when. Click the filter names to jump right to that particular search.

  • System find and replace

    Movable Type includes a powerful search and replace function that will help you find exactly what you seek within entries, pages, comments, TrackBacks, templates, assets, users, blogs or the activity log. You can limit your search to specific fields, date ranges, and for advanced users, you can even use regular expressions.

  • Page not found detection

    Find and fix broken inbound links to your website by logging all 404 errors with the Clean Sweep plugin. Users get redirected to a helpful error page, while you get to see at a glance the “top attempted” wrong links, which you can then choose to automatically redirect to the proper page.

  • Plugin manager

    See all plugins and their settings at a glance and enable or disable individual plugins at the system level.

  • Entry import and export

    Easily migrate your data into or out of the system or between systems with the basic entry export utilities.

  • Theme export

    Create a theme package from your current templates, categories, folders and custom fields so you can easily deploy your current theme on another site or distribute your work to others.

  • System backup and restore

    Make a backup archive of your entire system and restore from a backup from within the administration screen.

  • Activity log

    See all recorded activity in one place, including user registrations and logins, failed login attempts, search records, information about comment, entry, page, blog, website and template creation, error messages and more.

  • System information screen

    Get the total number of users and commenters and information about the server environment for informational purposes and to assist with troubleshooting.

  • System e-mail test

    Set the e-mail address used by the system and send test e-mails to verify functionality.

  • Debug mode

    Developer friendly debug modes can be enabled to display basic debug messages, stack traces, database queries issued, template build time reports and more.