20th October 2009
WordPress has famously low-level basic server requirements. However, most projects I deploy—because of plugins I rely on and other aspects—usually need a little more for “ideal” hosting.
Someone else used to maintain a really good “ideal” WP requirements page, but it seems to have vanished from their site. I thought I’d start my own, for my reference, to point potential clients to, and maybe of use to others.
Read more »
Permalink |
Posted in Apache, WordPress |
No comments yet » |
18th October 2009

I’ve just been dealing with an issue on a site where Google Analytics is logging a lot of pages twice, once normally and once with a double slash—”//”—at the end.
Obviously this is worrying. If Google is seeing the same page in two “places” via two technically different URLs, duplicate content penalties and PageRank squandering are distinct possibilities. It also seems to break a lot of the Analytics “Site Overlay” functionality.
Here I’m going to go through what I’ve done to isolate the cause of the issue, and approaches to fixing it.
Read more »
Permalink |
Posted in WordPress, search engines |
10 comments » |
9th October 2009
Jeff Starr recently posted on ways to monitor PHP errors. For some reason his method using WordPress’s wp-config.php file didn’t work for me, but I got the .htaccess version working OK.
I thought I’d knock out some code to display the latest errors as a widget on the WordPress dashboard.
As usual, this code is provided “as is”—use as you will, and let me know about any problems, but I can’t really offer support to people who aren’t comfortable with WordPress theme development. If anyone finds the time to wrap this up into a user-friendly plugin, do let me know (likewise if there’s already a plugin that does this better—I’ve not looked properly!).
Read more »
Permalink |
Posted in WordPress |
6 comments » |
6th September 2009
I’ve been strutting my stuff with handy “how-to” posts for a while. Time to eat some humble pie and give you a “how-not-to”…
Cron is a Unix staple for scheduling tasks. WordPress has a scheduling system that’s named after it. I think recently it got a new set of functions to make it easier to work with—things like wp_schedule_event. Anyway, I’m not going to explain it all to you because I don’t know. As I said, I’m going to show you what not to do.
Read more »
Permalink |
Posted in WordPress |
No comments yet » |
26th August 2009

WARNING! This post isn’t really for beginners. In any case, please back all your stuff up comprehensively before trying anything out. If you don’t know what you’re doing, things could go quite wrong.
Moving WordPress’s location—be it to a new domain, a new server location, or both—has never been as easy as it might be. Here I’m going to document my own process for achieving this, and try to keep it updated with new ideas and lessons learned.
Please note before starting that I’m concentrating here on the WordPress-specific side of this process. For anything not related to WordPress regarding moving domain or server, you should probably check with your domain registration service or web hosting provider.
Read more »
Permalink |
Posted in WordPress, databases |
14 comments » |
7th August 2009
Most WordPress themes come with post archiving by category, and post archiving by date (year, month, day, etc.). The infrastructure for this is all built into the WP core.
But what if you want to show category archives by date?
Read more »
Permalink |
Posted in WordPress |
1 comment » |
20th July 2009
WordCamp UK 2009 was my first WordCamp, and certainly won’t be my last. This informal conference was an interesting mix of bloggers, developers, small businesses, corporate consultants, designers and open source enthusiasts, all united by an attachment—varying from considered preference to warm affection—to the WordPress web publishing platform.
I know quite directly, through my inability to keep pace with the current demand for my WP-related services, that my choice to specialize in WP, made aeons ago back in 2005, was a damn good choice. Not only good, but unaccountably prescient. WP is already a major deal in the web sphere, and is set to keep growing.
Read more »
Permalink |
Posted in WordPress |
1 comment » |
11th July 2009
I was just writing something in a new WordPress theme that required me to output the title of an archive page twice (once for the main title tag, once in some breadcrumbs). I’ve got a series of if / else statements in archive.php that construct the title, depending on if it’s a category archive, a date archive, an author archive, etc.
I thought, rather than duplicating this code, I would move it into my initialization code in functions.php, where I define some constants. I used to stick this stuff at the top of header.php, but I thought I’d try and keep that cleaner and begin directly with the DOCTYPE. Anyway, this arrangement has hit a snag!
Read more »
Permalink |
Posted in WordPress |
3 comments » |
10th July 2009
A client of mine loves the new “Send password” checkbox on the Add New User page in WordPress. Before 2.8, users registering through the registration form got the email with their account details; but if an admin added them through Add New User, they didn’t. Now admins can choose whether or not to trigger the email.
But the default copy is pretty sparse. The ability to customize the copy in it is a good candidate for inclusion in the WP core, but it’s relatively easy to hack it for now—thanks to pluggable functions.
Read more »
Permalink |
Posted in WordPress |
4 comments » |
8th July 2009
A WordPress site I’m working on needs automatic listing of sub-pages on certain pages, including excerpts from the sub-pages’ content. I’m having to grab the sub-pages with a custom query due to complex custom field matching, so I’m not using the_content() for outputting. How to make use of the “more tag”, the handy <!--more--> placeholder that WP uses to extract teaser copy from the full contents?
Read more »
Permalink |
Posted in WordPress |
1 comment » |