WordPress Planet

November 23, 2009

Weblog Tools Collection: Google To Help Notify You Of New Updates

googlelogoHere comes yet another way to be notified of new upgrades for WordPress in case you need one. Google has announced that they will be using their processing power to scan the source code of websites to look for the version number of the publishing software they are using and send them a notification through Google Webmaster Tools letting them know that an upgrade is available. In the case of WordPress, the meta tag was moved  to the core of WordPress in 2.5. Therefor, anyone running a version of WordPress from 2.5 and above should have it displayed in their source code unless it was either removed or edited out through an action in the functions.php file such as remove_action(’wp_head’, ‘wp_generator’); Also, some plugins have been created that removes the version info as well, typically security related plugins.

Speaking of security, the security through obscurity argument regarding the public display of the version number of WordPress in the source code was over once the code for WordPress was available to the public. Matt Mullenweg mentioned this in his post regarding how to keep WordPress secure.

Hide the WordPress version, they say, and you’ll be fine. Uh, duh, the worm writers thought of that. Where their 1.0 might have checked for version numbers, 2.0 just tests capabilities, version number be damned.

So, I’m with Google in that including the version number in the source code can do more good than harm. In order to receive these update notifications from Google, you’ll need to have a Google Webmaster Tools account with a site attached.

The majority of people in the WordPress community have continuously advised removing this generator from being seen in the source code as a means of security. Will this line of thinking continue, or will we see more people add or leave it in to take advantage of the updates from Google?

by Jeff Chandler at November 23, 2009 08:21 PM under webmaster tools

Weblog Tools Collection: WordPress Plugin Releases for 11/23

New Plugins

Additional image sizes

With this plugin, users can add and remove intermediate image sizes. The plugin can also make copies of existing images with these new sizes.

Online Leaf

Online Leaf presents a new standby engine for all WordPress blogs. Once installed, it will detect any user inactivity on the blog and cover the blog with a dark screen, which darkens the colors and hides animations and effects, so that the monitors do not waste energy displaying these untill activity is detected again, which happens when the mouse is moved across the website.

Updated Plugins

Smooth Slider

Smooth Slider is a WordPress Plugin for creating a dynamic slideshow for featured posts on a blog.

SEO Ultimate

This all-in-one SEO plugin can handle titles, meta, noindex, canonical tags, 404 monitoring, linkboxes, and robots.txt. Version 1.3 adds anchor text customization for the “more” link in posts.

WP Super Cache

WP Super Cache is a page caching plugin for WordPress that will significantly speed up your website.

WP Email Capture

This creates a 2 field form (Name & Email) for capturing emails. Email is double opt in, and allows you to forward opt in to services such as ebooks or software. When you are ready to begin your email marketing campaign, simply export the list into your chosen email marketing software or service.

Video Sidebar Widgets

It enables the user to embed FlashVideo from various video sharing networks into the widgetised sidebar of a WordPress powered blog.

GD Press Tools

GD Press Tools is a collection of various administration, seo, maintenance and security related tools. This tools can be integrated into the various WordPress admin panels, can perform maintenance operations, change some aspects of WordPress, see detailed server settings and information.

by Perurry at November 23, 2009 06:00 PM under WordPress Plugins

Donncha: WordPress, Nginx and WP Super Cache

If you host your own WordPress blog, it’s probably on Apache. That all fine and good. For most sites Apache works wonderfully, especially as it’s so easy to find information on it, on mod_rewrite and everything else that everyone else uses.

One of the alternatives is Nginx, a really fast webserver that streaks ahead of Apache in terms of performance, but isn’t quite as easy to use. That’s partly because Apache is the default webserver on most Linux distributions and hosts. Want to try Nginx? Here’s how.

Install Nginx. On Debian based systems that’s as easy as

aptitude install nginx

Nginx doesn’t talk PHP out of the box but one way to do it is via spawn-fcgi. Here’s where it gets complicated. (Docs summarised from here)

  1. Install php5-cgi. Again, on Debian systems, that’s
    aptitude install php5-cgi
  2. Edit /etc/nginx/sites-available/default and add the following chunk of code to the “server” section:
    location ~ \.php$ {
            include /etc/nginx/fastcgi_params;
            fastcgi_pass  127.0.0.1:9000;
            fastcgi_index index.php;
            fastcgi_param  SCRIPT_FILENAME  /var/www/nginx-default$fastcgi_script_name;
    }
  3. Install lighttpd for the spawning command.
    apt-get install lighttpd

    You’ll probably get an error at the end of the install if Apache is already running on port 80. Edit /etc/lighttpd/lighttpd.conf and uncomment the line

    server.port = 80

    and change 80 to 81. Now run the apt-get command again and it will install.

    /etc/init.d/lighttpd stop

    will stop lighttpd running. (You don’t need it)

  4. Create a new text file, /usr/bin/php-fastcgi with this:
    #!/bin/sh
    /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u nobody -f /usr/bin/php5-cgi

    The user “nobody” should match the user Apache runs as to make things easier to transition.
    Make it executable with

    chmod 755 /usr/bin/php-fastcgi
  5. Create another new file /etc/init.d/init-fastcgi and make it executable with the chmod command too. Put this in the file:
    #!/bin/bash
    PHP_SCRIPT=/usr/bin/php-fastcgi
    RETVAL=0
    case "$1" in
        start)
          $PHP_SCRIPT
          RETVAL=$?
      ;;
        stop)
          killall -9 php
          RETVAL=$?
      ;;
        restart)
          killall -9 php
          $PHP_SCRIPT
          RETVAL=$?
      ;;
        *)
          echo "Usage: php-fastcgi {start|stop|restart}"
          exit 1
      ;;
    esac
    exit $RETVAL
  6. Start the PHP processes with
    /etc/init.d/init-fastcgi start

    and make sure it starts on every reboot with

    update-rc.d init-fastcgi defaults

That’s the PHP part of things. In Debian, the default root is “/var/www/nginx-default” so put an index.php in there to test things out. Stop Apache and start Nginx (if this is a test server only!) and visit your site. Works? Now to get WordPress and WP Super Cache working.

Open up /etc/nginx/sites-enabled/default in your editor and comment out the text already there with # characters. Paste the following in. Change paths and domains to suit your site. (via)

server {
        server_name  example.com www.example.com;
        listen   80;
        error_log   /www/logs/example.com-error.log;
        access_log  /www/logs/example.com-access.log;

        location ~ \.php$ {
                include /etc/nginx/fastcgi_params;
                fastcgi_pass  127.0.0.1:9000;
                fastcgi_index index.php;
                fastcgi_param  SCRIPT_FILENAME  /www/example.com/htdocs$fastcgi_script_name;
        }

        location / {
               gzip  on;
               gzip_http_version 1.0;

               gzip_vary on;

               gzip_comp_level 3;

               gzip_proxied any;

               gzip_types text/plain text/html text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

               gzip_buffers 16 8k;
               root   /www/example.com/htdocs;
               index  index.php index.html index.htm;
# if the requested file exists, return it immediately
               if (-f $request_filename) {
                       break;
               }

               set $supercache_file '';
               set $supercache_uri $request_uri;

               if ($request_method = POST) {
                       set $supercache_uri '';
               }

# Using pretty permalinks, so bypass the cache for any query string
               if ($query_string) {
                       set $supercache_uri '';
               }

               if ($http_cookie ~* "comment_author_|wordpress|wp-postpass_" ) {
                       set $supercache_uri '';
               }

# if we haven't bypassed the cache, specify our supercache file
               if ($supercache_uri ~ ^(.+)$) {
                       set $supercache_file /wp-content/cache/supercache/$http_host/$1index.html;
               }

# only rewrite to the supercache file if it actually exists
               if (-f $document_root$supercache_file) {
                       rewrite ^(.*)$ $supercache_file break;
               }

# all other requests go to Wordpress
               if (!-e $request_filename) {
                       rewrite . /index.php last;
               }
        }
}

I think the gzip settings above will compress cached files if necessary but Nginx can use the already gzipped Supercache files. The version of Debian I use doesn’t have gzip support compiled in, but if your system does, take a look at the gzip_static directive. Thanks sivel.

Finally, edit /etc/nginx/nginx.conf and make sure the user in the following line matches the user above:

user www-data;

I changed it to “nobody nogroup”.

Now, stop Apache and start Nginx:

/etc/init.d/apache stop; /etc/init.d/nginx start

WP Super Cache will complain about mod_rewrite missing, and you should disable mobile support.

How has it worked out? I only switched on Friday. The server did do more traffic than normal, but I put that down to the floods in Cork. Weekend traffic was perfectly normal.

Load on the site is slightly higher, probably because my anti-bot mod_rewrite rules aren’t working now. Pingdom stats for the site haven’t changed drastically and I think the Minify plugin stopped working, must debug that this week. Switching web servers is a huge task. I disabled mobile support in Supercache because I need to translate those rules to Nginx ones. A little birdie told me that he’s going to be writing a blog post on this very subject soon. Here’s hoping he’ll put fingers to keys soon.

Have you switched to Nginx? How has your switch worked out for you?

Related Posts

by Donncha at November 23, 2009 12:34 PM under wp-super-cache

WordPress.tv: Last Week on WordPress.tv: Nov 15—Nov 21


We had another light publishing week here on WordPress.tv last week, but we have the first of a bunch of WordCamp video for you tonight in a special weekend delivery to make up for lost time.

The one video we did get out for you was the first video to come out of the excellent WordCamp New York City, and it features an awesome concept that came out of the Google Summer of Code. It’s Daryl Koopersmith’s talk on the Elastic WYSIWYG theme tool; you should check it out.

Tonight, we have three more videos, also from WordCamp NYC. First, Matt Martz gives an instructional course on intermediate plugin development. Jim Doran talks to us about using jQuery when you develop for WordPress. And lastly, Allan Cole discusses the increasingly important role child themes take in WordPress development.

We have more WordCamp video on the way this week. To stay updated, follow @wordpresstv on Twitter.

Last week, I asked for suggestions for future video tutorials, and we received a handful of suggestions that I think are very good. I think you’ll see some information on those topics in the future. This week, I have a different request of the community.

We need volunteer transcribers and translators.

To get started, we have video coming in soon from WordCamp Kyoto. Almost all of it is (of course) in Japanese—and much of the WordPress community would still love to see those presentations but may not understand the Japanese language. If you are Japanese-speaking and could help us by volunteering to transcribe or translate the video from WordCamp Kyoto, please either leave a comment on this post or drop us a line using this contact form.

Thanks, and if you’re celebrating Thanksgiving this week, have a great holiday week. Don’t forget the contest currently going on at WordPress.com—a video contest! There’s some snazzy prizes being given away over there.

by Ryan Markel at November 23, 2009 05:40 AM under WordCamp TV

WordPress.tv: Jim Doran: Using jQuery in Your WordPress Theme

by Ryan Markel at November 23, 2009 05:30 AM under Themes

WordPress.tv: Allan Cole: Children Are the Future—Developing with Child Themes

by Ryan Markel at November 23, 2009 05:30 AM under Themes

WordPress.tv: Matt Martz: Intermediate Plugin Development

by Ryan Markel at November 23, 2009 05:00 AM under Plugins

November 22, 2009

Weblog Tools Collection: So we tried Intense Debate . . .

It was not meant to be. I had high hopes for Intense Debate but the drawbacks outweighed the positives in our case. I was really looking forward to a few of the features that I thought might bring more interactivity to the blog and encourage readers to have meatier discussions. As you notice below, we have turned off Intense Debate and gone back to the original comment form. Below is a list of the some of the features I was really looking forward to and our experiences with them.

I would like to preface this discussion by saying that I screwed up the install by adding this blog onto the wrong account and that added to some of our woes. The account bug that followed (we received some help via the support email) was caused by my fat fingering.

  • Better overall look and feel of the comment section of a blog: I liked the look and feel. The AJAX interface is spiffy and quite versatile.
  • Commenter reputation: I really like this feature and this was one of my top priorities for installing ID. I like it and it worked well. Add this to “last post of commenter” and it is a killer feature to give good commenters some free publicity.
  • Comment voting: Useful for readers who want to join the discussion. Also very useful to determine spamminess of a comment. I found it to add to the community feel and found myself looking for votes on comments in hot posts.
  • Social commenting: I saw a bunch of people use various types of profiles to log in and comment. I think this feature added interesting bits of information about commenters and might have prompted more readers to comment. I cannot say for sure. I had trouble staying logged in because of my fat fingering and caused myself some headaches.
  • Reply to comments by Email: Useful feature. Did any of my readers use it? I have no clue. Did I use it? No.
  • Automatic folding of threads: Does it work? Yes! Does it have the desired effect? No. On Weblog Tools Collection, automatic comment thread folding meant that a lot of relevant comments were overlooked by readers who ended up saying the same things over again and missing much of the conversation. It just did not have the right feel.
  • Comment synchronization with the blog: We were able to roll back to the default commenting system because of this feature and are thankful for that. But the comments on hot/active posts were not quite at par with actual activity on the posts. This lack of real time updates resulted in less comments and conversations.
  • Ability to add polls to comments: Cool feature in concept, barely used in reality. A relevant poll added to a hot post might get a few results but readers don’t use that kind of interactivity unless they want to come back and check the results, which is often not the case. Can be done with a plugin.
  • Better spam filtering and moderation features: ID adds the ability to use their own filters in addition to Akismet. But I found these to be cumbersome and Akismet not as responsive. I can’t quite explain this gripe but I can say that too many comments were ending up in moderation and not enough of the ones that I marked as spam were then treated as spam on subsequent attempts. I don’t think the WordPress feature that allows previous commenters’ comments to be posted without moderation works with IS. Blacklisted words did not appear to work as well as I have come to expect them to work. There is also no way to “remember me” on the ID login page, which is annoying.  Having to add co-authors on as admins of the blog on ID meant they got bugged with all the Spam and also meant that they had to be registered users. These reasons were probably the most annoying to me and my fellow authors and resulted in us backing out.
  • Ability to record video comments: Cool feature but not used at all on this blog. I see some video comments on TechCrunch but our readers just did not care.
  • Better comment curation for multi-author blogs: There is no way to send moderation emails to individual authors (which is a pain for multi-author blogs) and the moderation emails were just unfamiliar and not easy to get used to. Again, not fast enough in moderation and approval of comments.

In addition to the good and the bad above, I also received some disturbing feedback which suggested that some people would not comment on a blog that runs Intense Debate. I have no such qualm and would really like to hear from folks who feel this way. Why this angst?

In conclusion I have to say that I think Intense Debate was a mixed bag for us. If you are not thoroughly used to the WordPress comments system and do not have tens of thousands of comments, it is worth a shot. The ability to roll back is fantastic for buyers’ remorse and I think there is a lot of potential.

UPDATE: And deactivating the plugin was not enough to stop it from acting upon incoming comments. Comments were borked since ID was deactivated yesterday. The plugin files have now been deleted and that seems to allow comments to flow back through. Sorry for the trouble.

by Mark Ghosh at November 22, 2009 10:58 PM under intense debate

November 21, 2009

Weblog Tools Collection: WordPress Theme Releases for 11/21

THF204

THF204

Three column, simple clean theme with two widgetised sidebars.

BlackLens

BlackLenstheme

BlackLens is a black, white and pink theme with a floral decoration in the top right of the page. Its a two column theme with a left sidebar and support for widgets.

Filmix

Filmix

It supports gravatars, is widget-ready, Adsense-ready, dark, modern and clean.

Tiki Time

Tiki Time

3-columns, widget-ready, Adsense-ready, and supports gravatars

The Hives

The Hives

Three column, widget ready theme with a rotating carousel, lifestream and related posts.

by Perurry at November 21, 2009 02:12 PM under wordpress themes

Mark Jaquith: Block-level comments trick


Block-level comments are useful for commenting out an entire block of code in PHP, CSS, and other code contexts.

/*
$this = 'code is deactivated';
$and = 'so is this';
*/

The only problem with this is that when you go to re-activate this code, you have to change both the opening and closing comment markers. That’s a pain.

While I was at WordCamp NYC last week, I saw Daisy Olsen using a very clever trick in her lightning round talk.

/*
$this = 'code is deactivated';
$and = 'so is this';
/**/

See what she did there? The closing comment marker is preceded by another opening marker. Because comment blocks can’t be nested, this second opening comment marker is ignored. This enabled her to re-enable this code by removing the opening marker.

$this = 'code is reactivated';
$and = 'so is this';
/**/

Brilliant! I can’t believe I haven’t seen this before. The one downside to this is that you are deleting two characters and destroying the opening marker. Here’s an even better method.

//*
$this = 'code is reactivated';
$and = 'so is this';
/**/

By adding a slash in front of the opening comment marker, I comment out the comment marker. It only takes one key press, and the corpse of the original opening marker is retained, allowing you to reinstate it with the deletion of a single character.

Props to Aleem Bawany for the second trick (he uses //*/ as the closing comment, which works pretty much the same way).

What other commenting tricks do you know?

by Mark Jaquith at November 21, 2009 04:49 AM under trick

Weblog Tools Collection: How to Create Micro Blogs Within WordPress

I recently started out with a microblog on my site, where I wanted to quickly share content I find on the Internet. Before I started out I had an option of using the P2 theme to post quick content on it. However, I shelved the idea since I did and do not have much time to customize the P2 theme to match the look and feel of my current site.

This led to a big dilemma since I wanted 3 things:

  • Start a Micro Blog and post quick content on it.
  • Make sure that Google Indexes the micro blog content as it does with the other content.
  • Create separate feeds for the Micro Blog and the rest of the content.

Well, i was able to do all of these things without having to add new plugins or create a new blog. Here are the steps I followed to do it. Hopefully many of you will find this useful, and in turn also understand how powerful WordPress is when you want to customize it the way you want it to be.

Create Categories & Modify Loops to Segregate Content

The first few steps include creating a separate category for the Microblog and segregating content accordingly.

Create Category for your Microblog

The first thing I wanted to do was to segregate the main content from the micro blog content on the home page, so I went ahead and created a new category called “Microblog”, where I post all the Microblog content.

Exclude Microblog Content from Main Loop

After creating a separate category, I needed the content from this category to be displayed separately on the site and not with the regular loop. To do that, you will have to edit your template file for the home page, usually index.php in your WordPress theme directory.

To do that you will need to add the code given below before checking if posts exist.

   1: query_posts($query_string . '&cat=-123'); //excludes micro blog category
   2: //continue regular WP loop
   3: if (have_posts()) : 
   4:   while (have_posts()) : the_post();
   5:       //display posts 
   6:   endwhile:
   7: else : 
   8:     //show errors 
   9: endif;

The code query_posts… instructs WordPress to ignore categories which have an id 123.  Please not that you need to provide the minus(-) symbol before the category id. You will need to specify comma separated values to skip multiple categories.

Only Display Microblog Content in The Loop

Since I wanted Google to index the content from the Microblog, I wanted to display in on the home page, for this I needed to run another loop, which only displays content from the Microblog.

For that you need to add the following code:

   1: query_posts('category_name=microblog&posts_per_page=5'); //only display microblog posts
   2: if(have_posts()) :
   3:     while(haveposts()) : the_post();
   4:         //show posts
   5:     endwhile;
   6: else:
   7:     //show errors
   8: endif;

In this case, the query_posts only fetched posts from a particular category we specified as the category_name and skipped the rest of it.

Using the above tricks you now have different sections on your blog home page which segregates content based on categories. You can find more information about skipping and querying certain categories by visiting the WordPress Codex entries for The Loop.

Creating Different Feeds for Main and Microblog

Now that you have been able to separate content from your main blog and the microblog, it is now time to create separate feeds for them. This is much more simpler than segregating content above and only requires few changes in your feed URL.

For example if your main feed URL is http://example.com/feed you will have to change it to http://example.com/feed?cat=-123. Similar to the skip rule in the query above, -123 will ignore posts from the category you specify.

Creating a separate feed for your Microblog is much more simpler, all you need to do is use the current URL for the Microblog category and add /feed to it. Your Microblog feed will be http://example.com/microblog/feed.

Since you are offering multiple feeds, you might also want to add them to your header.php, so browsers with automatic feed discovery can discover all your feeds. To that, remove the regular feed/RSS link tags from your header and add this. Replace the feed URLs with your own.

   1: <link rel="alternate" type="application/rss+xml" title="Techie Buzz RSS Feed" href="http://feeds.techie-buzz.com/techiebuzz" /> 
   2: <link rel="alternate" type="application/rss+xml" title="Techie Buzz Microblog" href="http://feeds.techie-buzz.com/tbmicroblog" />

multiple_feeds

Doing this will ensure that whenever a user tries to subscribe to you feeds, they will see multiple options as shown above.

Posting Quickly to Your Microblog

Now that you have your Microblog setup and ready to go, it would be more appropriate that you can quickly post content to it.

To do that change your default category for posting to “Microblog” and then drag the Quick Press bookmarklet from your Tools menu to your browser bookmarks bar and start posting. Watch the video below to see how you can use Quick Press to quickly post content to your site.

The above tricks will not create a real Microblog, but it will eventually help you to segregate content and run multiple smaller blogs within your major blog and offer them to subscribers. I would still prefer to use the P2 theme for the above task, however customizing it to match the look and feel is a lengthy process and hopefully it should be quicker in the future.

The above tricks might be good or they might not be that good. Do give me your feedback on what you think about it and whether or not your found it helpful.

by Keith Dsouza at November 21, 2009 04:01 AM under WordPress Tutorials

November 20, 2009

Weblog Tools Collection: The New P2 Is Awesome

During WordCamp New York, I and many others had the chance to view a demo of the new P2 theme that will be released to WordPress.org users in due time. It’s already live for WordPress.com users in case you use that system. The New P2 improves on the first version by adding support for custom post types. For example, the theme has built in content types for a blog post, status updates, quotes, or links. These specific content types can be designed to give each an individual style. The first thing that comes to my mind when I saw this in action was Tumblr which does a great job styling the various types of content you have to choose from. Custom post types will be available in WordPress 2.9.

p2posttypes

The new P2 has also been reworked from the ground up so that it can be used as a parent theme and then extended with child themes. Andy Peatling says:

This will allow theme designers to create awesome new theme designs without having to duplicate all of the existing P2 features. We’ve streamlined the HTML of the theme so that it is much more flexible for creating new designs using CSS.

Although it’s not shown in the screenshots, I was told that the new P2 will contain media uploading so that images can be added to posts. This is something that was heavily requested after the first version of P2 was released. For more screenshots and to read Andy’s write up, check out this post on the WordPress.com blog and keep an eye out for the release of the new P2 on the theme repository.

by Jeff Chandler at November 20, 2009 09:56 PM under themes

WordPress.tv: Daryl Koopersmith: Elastic—Your Theme’s Future WYSIWYG Editor

by Ryan Markel at November 20, 2009 03:45 AM under WYSIWYG

November 19, 2009

Matt: This Week in Startups

Last week I was on This Week in Startups with Jason Calacanis and Joel Spolsky. Here’s the show:

by Matt at November 19, 2009 05:45 PM under press

Publisher Blog: WordPress and Windows Azure


This week I had a unique opportunity to appear at Microsoft’s Professional Developer Conference in Los Angeles, to demo four open source technologies — WordPress, Apache, MySQL, PHP — running on Microsoft’s new EC2 competitor called Azure.

WordPress and Windows Azure probably aren’t the first two things you’d think of together. WordPress has been free and open source software from the very beginning, Windows not so much, but we’ve always supported as many platforms as possible and for at least 4 years now you could run WP on Windows and IIS (Internet Information Services).

Choice and competition are great for spurring innovation and better for users and I believe open source software is a good thing even if it’s on a proprietary platform. (Just like we have an open source iPhone application, or encourage people to use Firefox on Windows.)

If you’re interested, check out the full transcript of the keynote from PDC or watch the video of the keynote.

We also created this FAQ in case you had more questions about what was announced.

What did you announce about WordPress at Microsoft PDC 09?
As part of the introduction of the Windows Azure platform, we announced that self-hosted WordPress can be run in an Azure environment on an open source stack of Apache, MySQL, and PHP. Showing MySQL in particular at a Microsoft conference was unusual.

Are you moving WordPress.com to Azure?
No. WordPress.com, which is Automattic’s hosted blogging service, is going to stay on its existing infrastructure. Martin Cron from the Cheezburger Network launched a new blog Oddly Specific on Azure, which some people confused with Automattic.

Do you use Azure at all?
Yes, we’ve been testing out their blob storage as an alternative to Amazon S3 and Rackspace Cloudfiles. We don’t currently use it in production.

Doesn’t this conflict with your open source orientation?
No. We actually think it’s going to help the spread of open source to have the Free and open Web stack get more support and deployment through Microsoft’s cloud infrastructure, which they’re investing quite a bit in. Besides, as I like to say, once you get a taste of Freedom it’s hard to go back. :)

by Matt at November 19, 2009 05:26 PM under News

Weblog Tools Collection: WordPress Theme Releases for 11/19

Aureola

Aureola

A free magazine style WordPress theme to show your content on a smooth layout.

BrandNew Folio

BrandNew Folio

Two column, fixed width theme with support for gravatars, widgets and a customizable homepage.

wpClassifieds

wpClassifieds

wpClassifieds is a free Wordpress theme that transform your wordpress blog into a classified ads site similar to Craigslist or OLX.

5 Travel-Inspired WordPress Themes

article24-med-iv-cap

Five single column and multiple column themes inspired with some things travel.

Bold Life

Bold Life Theme

Bold Life is 2 columns light, widget ready WordPress theme.

MiniCard

MiniCard is a social network/business card Wordpress theme inspired by Tim Van Damme’s website. The theme lets you add links to all the social networking sites you may be a member of, and post useful information such as bio’s and contact details. It also has built in hCard support and (optionally) lets you offer a vCard for visitors to download your contact information.

by Perurry at November 19, 2009 03:56 PM under wordpress themes

Donncha: WP Super Cache 0.9.8

WP Super Cache version 0.9.8 is now available. WP Super Cache is a page caching plugin for WordPress that will significantly speed up your website.

New in this release are 2 translations. The Spanish translation is by Omi and the Italian by Gianni Diurno. Please, if you use their translations, drop by their sites and leave a thank you comment! They’ve been very patient with me as I fixed gettext bugs and added new text. Both have blogged about the translations if you need to know more: Gianni, Omi.

The second major feature to go in is an “advanced” section to the debugger. This allows the plugin to check the front page every 5 minutes to make sure everything is ok. It monitors for 2 very rare problems:

  1. Very very occasionally, the front page becomes a gzip file that downloads. It happened here once and I examined the cache file. There was nothing wrong with it. It was perfect. I suspect Apache and mod_rewrite got confused somehow but clearing the cache fixed it. The file generated after was exactly the same size as the old one, so no chance it got “double gzipped”.
  2. In certain rare cases, where a blog has a static front page, and uses a permalink structure of /%category%/%postname%/, the wrong page may be cached as the front page. Even if your blog satisfies the two conditions above it may not suffer from this problem. I tried it on this blog for a few days and couldn’t reproduce it at all!

Nevertheless, if you’re concerned edit your wp-cache-config.php and add this line:

$wp_super_cache_advanced_debug = 1;

Reload the admin page and you’ll see this added to the debug section:

advanced-debug

If activated, it will check your front page every 5 minutes. It’s not activated by default because these errors only happen to a small number of blogs. I’ve also noticed that WordPress seems to randomly forget to run the page checker from time to time. I debugged it and the job simply disappears from the wp-cron system! I’ve no idea why, but reloading the admin page schedules it again.
If you’re still paranoid, set your cache expiry low so at least the cache files will be recycled quickly.

Caching, Minification and CDNs

Oh, there’s a new caching plugin on the scene. W3 Total Cache works like Supercache’s half-on mode but can store to memory as well as disk (like Batcache) but also does minification and supports CDNs. I’ve been asked a few times if I’ll support those features too but I don’t see why as other plugins already have that covered (and frankly, I don’t have time to maintain such complex features):

  1. WP Minify “integrates the Minify engine into your WordPress blog. Once enabled, this plugin will combine and compress JS and CSS files to improve page load time.” Thaya is very responsive and fixed a bug I reported quickly.
  2. There are any number of CDN plugins for WordPress. I don’t use a CDN so I can’t recommend one but OSSDL CDN Off Linker might be worth a shot. This post on it mentions Supercache plus, a fork of this plugin.

Traffic Spikes and Benchmarks

I really should collect more of these. A few weeks ago Mark Pilgrim blogged about how his book had been republished by a 3rd party and put up for sale on Amazon. His book was published under the GNU Free Documentation License so that’s perfectly legal to do, even if a little unusual as it can be downloaded from Mark’s website and is for sale by his publisher. The blog post generated a lot of interest and a few days later I received a donation from Mark, followed by a thank you email. I’m a big fan of what Mark does, so if it had been a physical cheque or a letter I’d have framed it!
A few days after that he tweeted the following graph. Nice spike of traffic eh? His server held up fine with help from WP Super Cache.

diveintomark.org-dashboard

And finally, some benchmarks, in Russian unfortunately but the pages translates well.

caching-benchmarks

Summary of changes in 0.9.8:

  • Added Spanish translation by Omi.
  • Added Italian translation by Gianni Diurno.
  • Addded advanced debug code to check front page for category problem. Enable by setting $wp_super_cache_advanced_debug to 1 in the config file.
  • Fixed wordpress vs wordpress_logged_in cookie mismatch in cookie checking function.
  • Correctly check if WP_CACHE is set or not. PHP is weird.
  • Added wp_cache_clear_cache() to clear out cache directory.
  • Only show logged in message when debugging enabled.
  • Added troubleshooting point 20. PHP vs Apache user.
  • Fixed problem deleting cache file.
  • Don’t delete cache files when moderated comments are deleted.

PS. WordCamp Ireland is on in early March next year in picturesque Kilkenny. Here’s Sabrina’s launch post. Sign up! I’ll be going!

Related Posts

by Donncha at November 19, 2009 02:20 PM under wp-super-cache

Weblog Tools Collection: WordPress Wins Best Open Source CMS Award for 2009

WordPress has always been one of the best open source software available for blogging and managing websites, corporate or otherwise. To better that, WordPress has been awarded the Best Open Source CMS Award for 2009.

We are pleased to announce that WordPress has won the Overall Best Open Source CMS Award in the 2009 Open Source CMS Awards. WordPress has won this Award for the first time in the past four years, earning itself a place in the Hall of Fame category for the Award next year.

Three cheers to the most wonderful platform I have ever used, and will continue to use, thanks to the innovations and continued development of WordPress by the Automattic team.

What do you think about this award? Feel free to let your congratulations and thoughts flow through the comments form.

Update: WordPress was also named the first runner-up in the Best Open Source PHP CMS Software. Read Matt Mullenweg’s Official announcement here.

by Keith Dsouza at November 19, 2009 02:50 AM under WordPress Awards

Weblog Tools Collection: Is Automattic Evil?

automatticlogoStick around the WordPress community for a period of time and you’re bound to come across a few folks who say Automattic is an evil company or Matt Mullenweg is evil in the way in which he runs WordPress.org. The more time I spend talking to Matt and with other employees of Automattic, the more I don’t understand where these thoughts and feelings of evilness come from. Sure, there is a decision made from time to time that a vocal group of people disagree with but you can’t make the right decision 100% of the time. Let’s take a closer look at Automattic as it relates to WordPress.

When I interviewed Matt at WordCamp New York, one of the things I asked him to address is the notion that Automattic commercially benefits from those who work for free. This indeed happens but on the flip side, Automattic gives a ton back to the project and to the community. For example, I think there is a lot that can be said for the progression of WordPress thanks to the resources that Automattic has been able to provide due to their funding. It’s also worth mentioning that Automattic pays a couple of folks to work on WordPress the majority of their time such as Ryan Boren who is always slaving away committing code and Jane Wells who works on the usability front.

It’s not like Automattic hoards the contributions to the project and gives nothing back. Matt said something during the interview that really stuck a chord with me and that is “Automattic is just one member of the WordPress community. We are a huge contributor. Myself, Jane everyone involved tries to give as much back to the WordPress community as possible.” So far, I can’t see anything that portrays the individuals or the company as evil.

Throughout the history of Automattic, they have developed and released a number of WordPress plugins to the community. They have also taken some of their paid offerings such as VideoPress and released those to the public as well. The entire VideoPress framework to be exact. They don’t have to do this but they do so because Matt wants Automattic to be an excellent example of an Open Source based company. Not everything is open because hosted services do not have to abide by the GPL since there is no distribution taking place. It’s also worth noting that Automattic has a system in place now so that when they build in a cool new feature for WordPress.com such as Geotagging they also build a plugin to release for the WordPress.org side of things granted, the release isn’t always immediate.

Verdict:

It’s my opinion that neither Matt Mullenweg or Automattic is evil. They don’t have evil tendencies and they are not out to screw people. If that were the case, I can’t see how WordPress could become the piece of software it is today. So my question to you is, do you think either is evil and if so, why?

by Jeff Chandler at November 19, 2009 01:03 AM under mullenweg

November 18, 2009

Alex King: WPWeekly Episode 79 – Alex King And WPHelpCenter

I enjoyed my podcast with Jeff last night on WordPress Weekly.

We discussed the WordPress HelpCenter, the Carrington CMS theme framework and a little about Open Source business models.

You can download the MP3 file here.

# | Visit Site »

by Alex at November 18, 2009 06:16 PM under WordPress

Donncha: WordPress MU 2.8.6

WordPress MU 2.8.6 has just been released and may be downloaded immediately.

This is a security release with the same fixes as WordPress 2.8.6 plus quite a few MU specific bug fixes too.

Please upgrade as soon as you can.

Related Posts

by Donncha at November 18, 2009 03:20 PM under wordpress-mu

Weblog Tools Collection: How Do You Do That?

Ever wanted to do something in WordPress but just wasn’t sure how? In my experience this happens quite often, mostly with people new to WordPress. But, even the experts run into trouble sometimes. Today I thought I’d start a series of posts which will aim to explain how to do certain things in WordPress. Hopefully this will cover anything from quick tips and simple little functions, all the way up to more complex custom code and the like. So, stick around and you just might learn something. ;)

I think I’ll kick off the series with a couple simple ones…

  • Why isn’t this plugin working with my theme?

    This is probably one of the most common issues I read about regarding WordPress. Sometimes even more experienced WPers can get this one wrong. Now, I’m not saying this is the solution to all problems between plugins and themes. Its just that this little bugger is often the culprit.

    Try ensuring that your theme has <?php wp_head() ?> somewhere inside the <head> section of the document. Also, for that matter, make sure it has <?php wp_footer() ?> somewhere in the foot of the document; Before the </body> tag.

    If your theme lacks these function calls many plugins that manipulate your theme will not be able to hook into the required areas. This can cause many headaches.

    If you have no idea what I’m talking about, you may be better off having a coder buddy take a look at the theme for you. Or you can also contact the theme author, if the theme you use was created by someone else.

  • How come my URLs are yucky?

    Or, “How come my URLs look like www.mysite.com?p=123 instead of www​.mysite.​com​/my-​sample-​post/?

    This one is right up there with the previous question. I see it all the time. However, more and more web hosts these days support the “nice” URLs by default without requiring any extra effort. So, its just a matter of going into the WordPress control panel, changing your Permalink Settings and then saving. Unfortunately, we’re not all this lucky…

    The first thing to try would be to contact your web host support and make sure they have whats known as mod_rewrite (or similar functionality) enabled on your account. If such functionality is not available on your web host, and you really need this feature, you may need to upgrade to a new host that does support it.

    If your host does support it and has it enabled on your account, but it still doesn’t work, you can check that WordPress is able to write to the .htaccess file (which is where all the “nice” URL magic happens).

    For WordPress, on Unix-based systems, the htaccess file should be “CHMODed” to at least 666. On Windows-based systems the procedure is a bit different. It can be different depending on your particular setup so I won’t go into that.

    Basically, as was the case with the previous question, you may need to seek help to figure this out. If you don’t have a code buddy, get one! They are really great to have around. Just make sure you buy them a nice gift for their trouble. :D

  • Can I have a link to login to WordPress somewhere in my theme?

    Sure! It’s actually easier than you might think…

    Some themes have a link for that already. But, there are also some that seem to lack this obvious and simple feature. You can easily add this to any theme yourself. No need for any programming knowledge. Simply add <?php wp_loginout() ?> somewhere in your theme and you’re done. Easy right?

    Another nice function along the same lines is <?php wp_register() ?>, which will show a link to your registration page (if your settings allow users to register), or a link to the WordPress control panel if you are already logged in.

    Do note though that by default the link will be output wrapped inside <li> tags. This is so you can include the link in a list of other links, like a “meta” section. If, however, that is not how you want it to be output you can use the function like <?php wp_register('', '') ?>. That will simply output the link and nothing else.

    An example of how to customize that is something like <?php wp_register('<p>', '</p>') ?>, which will output the link wrapped in its own paragraph. Just change the opening and closing tags in the function to make it output how you want. Dead simple!

That’s all for now… I hope it helps!

Do you have a question about WordPress? Want to see it answered here on Weblog Tools Collection? If so, please send us an E-Mail or drop a comment here. Your question just might be featured in the series!

by James Dimick at November 18, 2009 12:55 PM under urls

Dev Blog: WordPress Wins CMS Award

I was very excited last week to learn that WordPress has been awarded the Overall Best Open Source CMS Award in the 2009 Open Source CMS Awards. This is a landmark for us, as it is the first time we’ve won this award, and it marks a shift in the public perception of WordPress, from blog software to full-featured CMS. No small contest, the Open Source CMS Awards received over 12,000 nominations and more than 23,000 votes across five categories.

As Hiro Nakamura said when he first bent time and space to land in Times Square: “Yatta!”

In addition to winning in the Overall Best Open Source CMS category, WordPress was named first runner-up in the Best Open Source PHP CMS category. This is significant because we weren’t even in the top 5 last year, and now we’re #2, ahead of Joomla! As is stated on the Award site, “WordPress made its way into the top five for the first time. The fact that it was outranked by Drupal by a very slight margin indicates how popular it has become with users as well as developers over the past year.”

Every day thousands of new people are embracing WordPress to power not just their blogs but entire sites and communities without compromising on usability or scalability (as would be the case with a legacy CMS). Every member of the WordPress community, from core developer to beginning user, should be proud to be part of this momentum: congratulations to us all!

by Matt at November 18, 2009 03:48 AM under packt

November 17, 2009

Weblog Tools Collection: WordPress Plugin Releases for 11/17

New Plugins

URL Redirector

URL Redirector allows you to create shorter URL’s and keeps track of how many times a link has been clicked. It’s useful for managing downloads, keeping track of outbound links and for masking URL’s.

Query Multiple Taxonomies

A WordPress plugin that allows you to filter posts through multiple custom taxonomies

Checkfront Online Booking Plugin

Checkfront is an online availability, reservation and booking engine. This plugin connects your Wordpress site to your Checkfront, and provides a powerful embedded booking interface within your site.

This plugin requires a Checkfront account (available for free).

Updated Plugins

WP Archive-Sitemap Generator

WP Archive-Sitemap Generator plugin generates simple Archives/Sitemap based on your sites/blogs posts and pages. This is not another XML sitemap plugin, but rather a nice sitemap generator.

Twitter Goodies

Twitter Goodies plugin will show your tweets under Sidebar Area (Widget), Post and/or Pages. REFRESH AUTOMATICALLY and you have 5 different Color Option.

Table of Contents Creator

Table of Contents Creator automatically generates a complete table of contents for your site, including pages, posts and forum comments. The table of contents is generated each time the page is displayed therefore ensuring it is always up to date.

Merge Tags

A simple WordPress plugin that allows you to combine tags easily.

Delicatessen

A plug-in for finding out who has bookmarked your posts and pages in delicious.com, as well as the tags they used and the notes they wrote about your pages (if there are notes!).

by Perurry at November 17, 2009 08:41 PM under WordPress

Weblog Tools Collection: Download WordPress 2.9 Beta 1

WordPress 2.9 Beta 1 is now available for downloads. If you are looking forward to test out the new features in WordPress 2.9, head to the development update blog to find links to download and try out WordPress 2.9 beta 1.

WordPress 2.9 is still in beta, you can use it to test it and report bugs back to WordPress development team. However, do not use it on a production blog yet.

by Keith Dsouza at November 17, 2009 08:00 PM under WordPress 2.9

Weblog Tools Collection: How to Create an Author Info Section in WordPress

Author Info

Author Info Section

How to Create an Author Info Section in WordPress: Chris has put together a nice tutorial on how to create an author info section on your WordPress blog. I am sure you have seen these in the past on multi-author blogs. They normally tend to be displayed at thebottom of single posts and Chris provides details, code and styling for various features that can be added to this section. I also think this would make for a very nice and simple plugin. So if you would like to set one of these up for your own blog and increase visitor stickiness, head over to the tutorial.

by Mark Ghosh at November 17, 2009 04:43 PM under Blogging News

Dev Blog: Core Contributors at WordCamp NYC

WordCamp NYC was last weekend, and it was crazy awesome to have so many WordPress users and developers together in one place (final numbers to come, but looks like over 700). One of my favorite moments was right at the end, when someone suggested getting a picture of the core contributors (I’d asked them all to stand so people could applaud them when we were doing the closing remarks). Some of them were camera shy and kept out of the happysnap, but here’s a handful of the people who make WordPress what it is.

Core Contributors at WordCamp NYC
From left: Matt Martz (sivel), Jeremy Clarke, Shane Froebel (^BuGs^), Jane Wells, Matt Mullenweg, Mark Jaquith, Beau Lebens, Andy Peatling, John James Jacoby (jjj).
Photo by Chris Cochran.

by Jane Wells at November 17, 2009 01:14 PM under core contributors

November 16, 2009

Weblog Tools Collection: WordPress 2.9’s post image feature

Everything you need to know about WordPress 2.9’s post image feature:  Justin gives everyone an in depth look into the post thumbnail or image thumbnail features built into WordPress 2.9 post_imageJeff already makes liberal use of post images in all his posts. Also included, for the benefit of theme authors, are detailed instructions on how to add post image features to your WordPress theme and create various feature sets around this core concept.

by Mark Ghosh at November 16, 2009 08:29 PM under WordPress News

WordPress.tv: This (Past) Week on WordPress.tv: Nov 8—Nov 14


I’m a little late to the party this weekend with last week’s recap, but we have a special request for all you viewers, so let’s get down to it.

This week we published one WordCamp video and one tutorial—a little light considering recent weeks, but this week also saw a great livestream from WordCamp Phoenix. I hope you were able to watch it—there were some great sessions included and we’re hoping to have them available on WordPress.tv soon.

The WordCamp video from was WordCamp Netherlands: Liz Strauss’s presentation entitled “Meeting Your Audience Where They Are.” If you’re interested in community-building or in building a personal brand, it’s definitely worth a look.

On the tutorial side, we published a run-through by Tom Johnson on running a local copy of WordPress using WampServer. Local copies can have tremendous development potential; if you regularly develop themes or plugins, or just like to tinker with WordPress, local installation can be a great help.

So here’s the special request: I’d like you to take a moment and think up one thing—just one thing—you’d like to see covered in a video tutorial here at WordPress.tv. It can be anything WordPress-related, but here’s an exercise to focus your thinking.

Think of questions like: What do I wish someone had told me when I started using WordPress? What kinds of things seem hard at first but really aren’t once you get down to it? What feature of WordPress do I wish more people knew about and used? What’s the feature, plugin, or whatever that gives me an awesome productivity boost or makes me a better WordPress user?

Come up with one thing you’d like to see covered in a future video tutorial, and then send us an email using our handy contact form. We’ll take a look at those suggestions and report on them in a future week’s recap so you know what your fellow community members are asking for.

Until then, stay tuned for more WordPress.tv!

by Ryan Markel at November 16, 2009 09:15 AM under suggestions

November 13, 2009

Dougal Campbell: Server Reconfig

This blog will be moving to a new server very soon. If all goes well, you shouldn’t notice a thing. But just in case, I figured I’d give a warning, so that if you try to visit and you get an error, or the site won’t come up, you’ll know to just come back again later instead of thinking that my site was an early victim of the 2012 apocalypse or something.

I’m doing more than just moving onto a new server though. I’m moving to a new hosting provider, and I’m reconfiguring many aspects of how my services are set up. If you’re interested in the technical nitty-gritty, read on.


Some of you might recall that a little over a year ago, I moved from my original hosting onto Slicehost. I am now moving again, to a service called prgmr.com. I’ve had no problems with Slicehost, but the pricing for prgmr.com is lower, which made it possible for me to expand from 2 servers to 4 servers for less money.

Slicehost VPS hosting is pretty no-frills. You get a server with an initial OS installed on it, and a web-based management tool with some DNS tools and a Java applet console. With prgmr.com, it’s even more no-frills, because the console isn’t web-based. It’s SSH all the way, baby. It’s not for everybody, but it suits me fine. And even though I have more servers, it reduces my monthly hosting costs by about 40%. That said, I’m also reducing my virtual CPU power and disk space a little bit, and Slicehost has multiple facility locations, which might be factors for someone else shopping for hosting. For me, the ability to afford more servers was pretty high up.

So, that said, let’s look at what I’m changing in my setup, and why I felt it was important to move up to 4 servers.

All along, even before Slicehost, I have had trouble dealing with traffic spikes on my web server. I’ve used WP Super Cache and W3 Total Cache. I’ve used XCache for PHP code caching, and for my WordPress object cache. I’ve configured Apache to set caching headers for static files using mod_expires to reduce requests. But I still get load and memory spikes that grind my server into dust. That shouldn’t happen with only 200 visitors per hour (granted, a page view can generate about 50 HTTP requests). Obviously, I’ve configured my server poorly.

Like many large PHP applications, WordPress can be a bit hungry for memory. So when it fights against MySQL and an in-memory object cache for resources, things can start to get dicey. And of course, I’ve got a few other things on the server. When I get hit by a traffic spike (popular article, spammer runs, errant search spiders, etc), memory goes away fast. The machine starts to swap, things get slow, load average spikes as processes begin to wait for resources, and it all snowballs. I’ve got some homemade scripts that keep an eye on things and attempt to restart various services in order to force things back into line, but it’s a pretty heavy-handed way to deal with the problem.

In my new setup, here’s what I’m doing to fix it:

  • I’ll be running Apache, MySQL, and Memcached all on separate servers, instead of together on one host.
  • I’m switching from the Apache pre-forking model to the threaded worker model.
  • I’m switching from mod_php to FastCGI (mod_fcgid) and php-cgi.

There will probably be other tweaks, as well, but those are the biggies. I’m expecting this new setup to handle waaaay more requests than the old one. Oh, and I’m definitely open to any pointers from performance tuning gurus. Please share links and tips!

When the switch-over happens, there might be a period of transition while the DNS changes propagate. I don’t plan to post again until I’ve moved this blog fully to the new host. So you’ll know it’s happened when a new article appears here.

Related posts:

  1. Roadwork Next 15 Miles
  2. Server problems
  3. Now on Slicehost: Me!

by Dougal at November 13, 2009 09:48 PM under xen

WordPress Planet

This is an aggregation of blogs talking about WordPress from around the world. If you think your blog should be part of this send an email to Matt.

Official Blog

For official WP news, check out the WordPress Dev Blog.

Subscriptions

Last updated:

November 23, 2009 11:30 PM
All times are UTC.