Wordpress Lite - Wordpress on a diet.
Back when Wordpress was a little wee thing known as B2, it was easy to install and train users in the use thereof. Now Wordpress is a full featured blogging system (and very good it is too) but, for some it is overly complex. Here is a look at how to simplify the installation and use of Wordpress. Wordpress-Lite if you like.
[Note: since WordPress 2.0 has hits the stands, a lot of this article is moot. Wordpress 2.0 has a simpler set of permissions for users which give them simpler administration screens].
I’ve performed this surgery on a pre-release version of Wordpress 1.5 (from CVS on Feb 9, 2005 if you want to know) after a lot of thought about which version to base the project around. In a way, using 1.2 would have been better, as it’s fixed, doesn’t use themes (which I don’t need) and is in wide use. But I’ve chosen 1.5 because it is near completion, handles static Pages and will be in use for a long while. It is an important release for Wordpress.
This is being set up for a project where the user simply wants to enter news on the main page and maybe have an archive of articles. There is no need for comments, trackbacks, pingbacks, talkbacks or any-other-kind-of-backs. Nor is there a need for multiple users or user registration. Nor RSS feeds or themes. Phew!
So why use Wordpress at all? Well, as you will see, stripping it down is very simple to do, and what we are left with is a simple content management system that allows administration, use of Markdown if needed, other features can, if needed later, be added easily.
OK, here goes…
After installing WP, log in as admin and make a few changes (these get stored in the database and it is easier to do them here).
Options->General - no users can register
Options->Writing - no users can write articles
Options->Discussion - turn off trackbacks, pingbacks and user comments
The next step in simplifying the setup is to create our user with a low access level. If you want the user to have the ability to create and manage categories, then create him at a level of 4, otherwise at a level of 3. Make him level 5 to gain the ability to manage Pages.
This still leaves some unnecessary menu items, such as the Dashboard. Edit wp-admin/menu.php to make any further desired changes to the menu structure. I set the line referring to the Dashboard to read:
$menu[0] = array(__(’Dashboard’),8,’index.php’);
I may want page creation and editing, in which case set the levels for ‘Write Page’ and ‘Pages’ down a bit.
Next is to modify some of the code so that I can get rid of most of the files. I could just delete them and trust that they will not be called at any time, but I’d rather track down the bits of code that call them and cut them. wp-blog-header.php is a file that is called at the start of every page and about line 103 and following, there is some code that sets the status to ‘doing rss’ or ‘doing trackback’. Force them to be set to false. From here on there is a lot of code that can be hacked out if needed, much of it deals with trackbacks
We’re ready to delete some of the files that won’t be needed. Files to go:
wp-atom.php
wp-commentsrss2.php
wp-comments-post.php
wp-feed.php
wp-mail.php
wp-rdf.php
wp-rss.php
wp-rss2.php
wp-trackback.php
xmlrpc.php
In wp-settings.php, comment out the require for feed-functions.php (about line 86).
In wp-login.php, remove all the actions statements except for ‘login’ and ‘logout’ (and ‘default’). Also, at the end of the file, remove the list that contains links to (e.g.) “Lost Your Password” etc. At line 40, change:
$redirect_to = ‘wp-admin/edit.php’;
In wp-includes/functions.php, about line 1296, in the function get_tempate_directory, modify the line that sets the template to read:
$template = ABSPATH;
From the wp-content/themes/default directory you will need (probably) to copy index.php, header.php, footer.php to the root of the site. Don’t forget to merge in the lines of the existing /index.php to the new /index.php file.
Finally, the themes and any unused plugins can be deleted (they are in wp-content).
The above should now give you a much simplified version of Wordpress with most of the bells and whistles removed. I’ve glossed over the details of the code changes, it should be pretty clear when you look at it.


February 15th, 2005 at 20:00 pm
Linklog WordPress
“WordPress as your personal information manager” é um artigo/tutorial em 4 partes, escrito com base na experiência do seu autor de implementar e modificar a sua instalação (local) do WordPress para armazenar/organizar poemas e outros textos. É,…
September 8th, 2006 at 3:43 am
Love how you’ve simplified the install process. I have multiple blogs and spend too much time doing installs at the moment. Thanks.
September 30th, 2006 at 10:59 am
The easiest way to offer files for downloading on your website is to simply create the necessary archives (using WinZip or another program) on your own computer, and uploading the archives. But in some cases this isn’t enough, for instance when you want to generate a unique archive for each person who downloads the archive. This means you’ll have to create ZIP and TAR archives on the fly with PHP.
March 5th, 2008 at 7:45 am
Hi
I’ve developed a plugin that doesn’t truly strip Wordpress’s features, but does a good job at hiding them. The motivation was to allow Wordpress to be used as a CMS for less advanced users, so that they can enjoy an interface that is simpler and less-intimidating to use.
WPlite: http://mahalkita.nanogeex.com/wplite/
Tell me what you think
March 5th, 2008 at 11:07 am
I haven’t tried it, but it’s a neat idea to make it a plugin. When I get time, I’ll give it a test run.
cheers
March 6th, 2008 at 6:12 am
Thanks
June 14th, 2008 at 5:06 am
well, I thought this was a diet but anyways I read it and liked it, I got some knowledge of wordpress I didnt knew. Thanks buddy..