How to: Scaling WordPress Servers & Deploys from Mark Jaquith

Ever wanted to learn how Auttomatic is handling & scaling the massive WordPress.com installation of 25 Million+ blogs? And, how they deploy code updates and fixes across 3 data centers and 1000s of servers?

Check out the video below from WordCamp San Francisco (WordCampSF) 2011 and watch the talk of Mark Jaquith (WordPress core developer).

Please let me know in the comments below if you know of other great posts, videos, or, resources about scaling and deployment of WordPress. Thank you!

Read More

How to: Install WordPress in a sub folder

Wordpress folder
Are you hosting WordPress yourself?

A great new feature is that you’re now able to keep the WordPress core folders and files in a separate sub folder.

The core files are all the WordPress installation files which you never touch or alter. All the other files which you upload, plug-ins, themes and configuration files are kept apart. This helps greatly to reduce the “unclean” mix of files of your installation. And, reduces the risk of deleting files which you should stay away from (the core WordPress installation files).

Another very helpful aspect of this feature is the ability to soft launch / beta test a new WordPress blog in a less prominent way (e.g. yoururl.com/testblog ) and than move it to the main location with the simple procedure below.

To reiterate: You can apply this in two ways, either by starting in a sub directory and than move the blog to the main URL/directory or you did set up your blog under the main URL/directory and want to move the core WordPress files into its own sub directory.

Below you’ll find the complete description from the WordPress codex about giving WordPress its own directory:

  1. Create the new location for the core WordPress files to be stored (we will use /wordpress in our examples). (On linux, use mkdir wordpress from your www directory. You’ll probably want to use “chown apache:apache” on the wordpress directory you created.)
  2. Go to the General panel.
  3. In the box for WordPress address (URL): change the address to the new location of your main WordPress core files. Example: http://example.com/wordpress
  4. In the box for Blog address (URL): change the address to the root directory’s URL. Example: http://example.com
  5. Click Save Changes. (Do not worry about the error message and do not try to see your blog at this point! You will probably get a message about file not found.)
  6. Move your WordPress core files to the new location (WordPress address).
  7. Copy the index.php and .htaccess files from the WordPress directory into the root directory of your site (Blog address). The .htaccess file is invisible, so you may have to set your FTP client to show hidden files. If you are not using pretty permalinks, then you may not have a .htaccess file.
  8. Open your root directory’s index.php file in a text editor
  9. Change the following and save the file. Change the line that says:
    require('./wp-blog-header.php');
    to the following, using your directory name for the WordPress core files:
    require('./wordpress/wp-blog-header.php');
  10. Login to the new location. It might now be http://example.com/wordpress/wp-admin/
  11. If you have set up Permalinks, go to the Permalinks panel and update your Permalink structure. WordPress will automatically update your .htaccess file if it has the appropriate file permissions. If WordPress can’t write to your .htaccess file, it will display the new rewrite rules to you, which you should manually copy into your .htaccess file (in the same directory as the main index.php file.)

Please feel free to ask questions in the comments section below. I’ll help you to get this set up and working. Thanks!

Read More

SEO: Copywriting made simple – Scribe optimizes your posts

Scribe SEO

Do you sometimes wonder if there is still some tweak which needs to be done to your post to optimize your content for search engines?

If you don’t than you might miss out on a lot of organic traffic from search engines. There are many rules to follow to make your content perform best and to appear at the top of search results. It starts with the content you create, but it is important to come up with an optimal headline (and length), keywords you place at the right positions of you text, meta description & keywords, etc. etc.

If you want to optimize the SEO process than you should check out the new service is called Scribe SEO. It’s available as a WordPress plugin and web/stand alone version. You have the choice between 3 subscription levels:

  • Starter (30 evaluations, $27/m.)
  • Publisher (120 evaluations, $47/m.)
  • Advanced (300 evaluations, $97/m.)

After you completed your post than you run Scribe (counts as 1 evaluation) and it produces a report with scores and suggestions to further optimize your content, keywords, headline, etc. The tool is available here: Scribe SEO

Read More

How to: Harden WordPress – Great Presentation on Security

Wordpress securityI found a great presentation about WordPress security which shows some great ways to harden your WordPress installation. This is very important if your’re hosting you own version of WordPress.

In this presentation you’ll find out about:

  • How to do regular database backups
  • Changing your administrator account user name
  • How to change your security keys: ensure better encryption of your sessions
  • Always update WordPress and all of your plugins
  • How to create strong passwords
  • Folder & file permissions
  • How to remove the WordPress version number from your html source
  • Enable SSL Login & admin access
  • Limit access to specific IPs
  • Change the Wordpess database table prefix
  • Userful Security Plugins

Wanted to share it with everyone. Enjoy!

Protecting WordPress from the Inside Out

View more presentations from Syed Balkhi.
Another great resource about WordPress security you can find here on the WordPress codex page about hardening WordPress.

Read More

How to change: WordPress autosave and post revisions

Wordpress LogoWordPress has a built in autosave feature that automatically saves when you’re editing a post. A big disadvantage is the default frequency at which it saves your posts, every minute is kinda often. So, if you use the WP editor to write your posts than you save quiet often and it might interrupt your editing.

What I usually do is to change this default value to something like every 5 minutes. You can alter the autosave behaviour by adding this define to your wp-config.php (interval is in seconds, 300 = 5min):

define('AUTOSAVE_INTERVAL', 300);

Even a higher value of 10 or 15min might make sense if you write longer posts and don’t want to end up with so many “autosaves” of your current draft…

Another feature which is pretty new is post revisions. You find them as one of the boxes below your post editor on the write panel. If these post revisions go unmanaged, they might significantly increase the size of your database.

define('WP_POST_REVISIONS', 10);

This define is telling WP to only keep 3 revisions. If you save the 4th revision, the first one is purged off.

It is also possible to disabled post revisions altogether, by using the following define:

define('WP_POST_REVISIONS', false);

Another way to solve this is to use a plugin, like:

Post Revision Control

By using this plugin you also get a very granular way to control the number of revision per post & page. Just in case if you think you need more / less revisions than your new default setting.

Hope this helps! Let us know what other useful defines you usually add to your configuration of WordPress. Thanks!

Read More

WordPress Updates in Seconds – Via SVN or Auto-Update

Wordpress LogoWordPress is getting a lot of updates lately and it is important to stay up to date with your installation. Even more important if its “only” a minor update, but a security update!

WordPress introduced a very simple way in the current version (v2.8) called auto-upgrade. See Upgrading WordPress:

Recent versions of WordPress feature an Automatic Upgrade. You can launch the automatic upgrade by clicking the link in the new version banner (if it’s there) or by going to the Tools -> Upgrade menu. After that it should be straightforward.

Automatic Upgrades do fail sometimes, though, so remember to backup your database first, and deactivate your plugins before starting the upgrade.

Note that your files all need to be owned by the user under which your Apache server executes, or you will receive a dialog box asking for “connection information,” and you will find that no matter what you enter, it won’t work.

If this doesn’t work for you there is always the good old way of doing a manual update:

  • downloading the latest zip archive, unzip it
  • copy over all of your files (wp-content folder, wp-config, .htaccess, all other custom folder/files you added to wordpress)
  • move the current installation to another folder
  • move the new version + your files back to the web folder

But, there is another way to keep WP up-to-date:

SVN or Subversion

First you need to be able to login to your server via SSH / Shell. Next, you need to check if you have Subversion installed (just type “svn” in the shell of your server). If this is all working than you’re good to go, otherwise you need to look into how to install subversion on your server.

There is a detailed description of how to update WP on the codex. All you have to do is:

$ mkdir blog
$ cd blog
$ svn co http://core.svn.wordpress.org/tags/2.8.4 .

WPMU users (codex page):

$ svn co http://svn.automattic.com/wordpress-mu/tags/2.8.4a/ .

If you’ve already installed WP and want to switch to updating via SVN:

$ cd ../blog
$ cp -p wp-config.php .htaccess ../blog-new
$ cp -rpfu wp-content/* ../blog-new/wp-content

Make sure to copy over all other custom files/folders and you should have a directory with the latest version of wordpress, running on your configuration. You’re ready for SVN 🙂

All is left now is to switch this new directory with your old blog directory:

$ mv blog blog-old; mv blog-new blog

… and to test your new installation by browsing your blog. Don;t forget to update your blog, if you

Updating your blog is now as easy as (always remember to replace [blog dir] with the correct directory of your blog installation):

$ svn sw http://core.svn.wordpress.org/tags/2.8.4 [blog dir]

Enjoy!

Read More

Error 999: Using Feedburner RSS Feeds for your Yahoo Pipes

I have a couple of RSS feeds which are a mashup of multiple RSS feeds using Yahoo Pipes, and to be able to track their usage I utilize Feedburner. But lately all of these Feedburner feeds were not updating.  Feedburner returned “Error getting URL: 999 – Unknown” with HTTP Error code 502, though the Yahoo! pipes source feed was valid RSS (even using the recommended services listed over on the pages of feedburner).

This happened after the migration of Feedburner accounts to Google accounts and the recent redirects to feeds2.feedburner.com urls.

All attempts troubleshooting feedburner failed (incl. to resync the feed). In case you recently created a Feedburner feed which sources Yahoo Pipes -> check if it is working.

Update: DON’T move your Feedburner feeds to Google accounts if the original source is Yahoo Pipes:

If you use Yahoo! Pipes as the “Original Feed,” or content source, for one or more FeedBurner feeds, and you haven’t already moved over to a Google Account, please postpone moving it (for now).

We are working directly with Yahoo! to restore Google-hosted feeds’ access to Pipes as soon as possible, but until this fix is in place, FeedBurner feeds with Pipes sources moved to Google will stop working properly.

Update 2: As of today (Feb. 1, 2009 – Sun.) the feeds seem to have re-started to work as normal. No post/news yet on the official Feedburner Blog.

Read More

Instant Messaging: Global Market Share – July 2008


There are a lot IM networks/services out there and almost every country has a favorite one (almost like social networks/community) which has the highest penetration.

The folks at EQO used their IM network to investigate on the use of IM services by country, check out Global Instant Messaging Market Share – Open Data:

It seems almost unfathomable that there can be networks with active accounts numbering in the 100 MMs to billions and total accounts certainly in the billions for which there is no detailed public market share data.

Based on EQO’s IM interconnect capability we’ve been able to take a look inside the major IM networks to see the competitive landscape and broken down the stats by country – and like any good disruptive player we thought the data should be public.

Some results from the report: AIM: USA (36% market share); GTalk: India (35%), Japan (26%) and South Africa (26%); Yahoo!IM is faved by India, Indonesia and Saudi Arabia (>50%-70%);  ICQ is strong in Germany (44%) and Russia (56%).

Very, very interesting data if you need to do some research on IM services and worldwide usage. You will miss some networks in this report though, e.g. they don’t connect to Skype – so no numbers about this service.

Do you have further insights and information about the IM market? Let us know in the comments!

Read More

Open Source Film Making: Star Wreck Studios – Wreck-a-Movie – Sauna & Iron Sky

Great post over on Venture Beat about a collaborative film making project using a community to help making a full feature movie without the big budget available in Hollywood, called Star Wreck Studios builds permanent community for collaborative movie making:

If you’ve heard of the movie Star Wreck, then you’re already familiar with Star Wreck Studio’s operating procedure: Take a community of thousands of online movie-making buffs, and have them collaborate on a feature-length film.

Star Wreck, a $20,000 film, is said to be the most popular internet-created feature film of all time, with eight million downloads all around the world. At first the film was distributed free online, and eventually it was distributed by Universal Pictures as a premium DVD.

But the folks behind Star Wreck — Star Wreck Studios, based in Tampere, Finland — want to be more than just a one-hit wonder. They’ve now built up a permanent community site for their movie-making collaborators. The community’s called Wreck-a-Movie, and it’s already hard at work on two new film projects: A science fiction comedy about Nazis on the moon, Iron Sky, and a horror film called Sauna. On Wreck-a-Movie anybody interested in film can join the community and make plot and music proposals and comment on scenes.

This is the preview of the Star Wreck movie – Imperial Edition:

[kml_flashembed movie="http://flash.revver.com/player/1.0/player.swf?mediaId=126281" width="500" height="400" wmode="transparent" /]

And the venture beat post goes on with:

Star Wreck Studios compares its film projects to social networking and internet copyright-modifying movements such as Creative Commons. The intent is to create productions that are “clean” from a copy right perspective. That’s why the crew behind Wreck-a-Movie considers Creative Commons (CC) licensing to be very important, and Star Wreck Studios has John Buckman, one of the thought leaders on the use of CC in business, as chairman of the board.

Star Wreck Studios isn’t just about collaborative movie making, it’s also about collaborative movie viewing. It expects to use mobile technology, not only to view the content, but to create interactive experiences for its audience. For example, if you’re watching a horror flick, as a part of the plot, your phone rings, and when you answer, the person on the other end of the line is the main character of the movie.
“Because of the connected nature of mobile phones there are a lot of opportunities to do things like that. AppleTV, PlayStation 3 and mobile phones are all connected,” says Peter Vesterbacka, a cofounder and board member. He is also a cofounder of the global networking event Mobile Monday and a serial entrepreneur.

Check out the project and films realized using collaborative film making and online community efforts to drive the production of films.

Read More