One of the advantages of Movable Type over Wordpress comes from publishing static HTML files (fetching data from the database for each page request doesn't scale well). By creating static HTML files, round trips to the database are eliminated and your blog is more likely to handle sudden bursts of high traffic. How many times have you gone to a popular Wordpress blog and seen database errors like "too many database connections"?
Additionally, Apache generates ETag and Last-Modified headers for you on static HTML files, and automatically sends 304 Not Modified headers as well. If you don't know why this is important, read the definitive introduction to caching -- we'll assume you have a solid foundation in the basics and won't review that material here. Suffice it to say, caching and proper headers are important to save server CPU and bandwidth.
However, static HTML files are, well, static. Converting Movable Type blogs to PHP is simple, but if you've already published as HTML you'll have all new URL's after converting to PHP -- a situation we want to avoid. But the big problem for scripting languages like PHP, ASP or CGI is Apache won't automatically handle ETag's or 304 Not Modified headers. Every time a page is requested, the full page is sent -- even if it's not needed. That wastes bandwidth.
We want to avoid that, and it's simple -- we'll tackle it in two parts.
