WordPress Hacks: Build a Web Directory

In the comments of 48 Unique Ways to Use WordPress, Michael Zebold asked about #47, using WordPress to build a web directory. There are actually a few ways to use WordPress to build a web directory, and I’ll look at two. Please note that I’m only providing a light treatment; I’ve linked to a few articles if you want to learn more.

Using a WordPress Plugin

Earlier in the comments of “48 Unique Ways”, commenter Sofimi pointed out the Link Directory Plugin. (The link in the comments redirects to a page on Alec Tang’s site, so I’ve used that link instead.) This is one of two wordpress directory plugins that showed up numerous times in a Google search. (The rest of the results were articles pointing to either of the two plugins.)

Besides Alec Tang’s WP-LD (WP Link Directory) plugin, there’s also the WP-Directory plugin from Linksback.org. Neither one works in WP 2.3.2 (which is the only version I had time to test), but comments on various articles seem to indicate that both of them work (with earlier versions of WP).

The two plugins behave and display differently. If you’re interested in trying out the WP-LD plugin you may want to read Sizlopedia’s article, which expands a bit on the installation instructions. This plugin is a bit more complex than the Linksback.org’s WP-D plugin, and the web directory will reside in a subdirectory of your blog called “directory/”. (For the WP-D plugin, the directory resides on your home page.)

The result of the WP-LD plugin is more of a “link exchange” (for reciprocal linking) than a web directory, and has features that will help ensure that submitters are linking back to you. If they are not, the plugin will report their link to you.

Using a Gallery Theme

The above two plugins produce lists of links. If you’d rather take a visual approach to a web directory, so that you can include screen snapshots (and thumbnails), consider using a gallery. In my 48 Unique Ways article, I linked to two WordPress themes available at WP Designer and OS Designer that mimic CSS gallery sites.

The OS Designer theme is free but has less features than the WP Designer theme. I’ve been fiddling around with the former and it shows a lot of potential for multiple uses (which I’ll be discussing here in the near future). For example, you can co-opt it for use as a web directory.

Some things to consider about the OS Designer theme:

  1. To allow visitors to submit links, there is a suggested “form” plugin to use. You need to create a WordPress “page” that displays the submission form – which can include directory categories if you want. (Or you could skip this and add links yourself.)
  2. Each listing is added manually. Even if you allow visitors to submit links, if you plan to validate each link, this shouldn’t be a big deal.
  3. There is no automation for adding the screenshot (and thumbnail) for each listing. So when you’re validating a site link, you can take a snapshot – either using a browser plugin (such as Fireshot for Firefox) or desktop software such as Techsmith Snagit (trial available).
  4. The screenshot and thumbnail images appear thanks to WordPress custom fields for each listing. The way the code is written, it appears allows for images to be hosted elsewhere (such as Flickr), though I haven’t tested this to confirm it.
  5. Each directory listing has its own permalink page, which is essentially a WP blog page. However, out of the box, an item’s listing page does not show any “blog” content that you might type in. To display such content, you need to tweak the “single post” template file (single.php). Just add the following code below the screen snapshot code in single.php (without the double quotes):


    You can see an example of the result by checking any listing at CSS Social. (Click on the name of the listing, not the thumbnail image, to get the internal listing page.) The text appears after the screenshot and before the five stars of the ranking gizmo.

  6. The theme uses a “post rating” plugin that allows visitors to rank an item. I’ve used five stars at CSS Social. (CSS Social was originally using a different code platform – possibly Pligg – but due to hosting problems, it lost all its PR and traffic. So I’m reviving it with WordPress on a new host. It was originally a CSS gallery that allowed visitors to vote on listings. I’m keeping that aspect, though most web directories probably don’t offer a voting feature.) If you don’t want voting, don’t install the “post rating” plugin.
  7. The theme is not configurable. There are two columns on the home page. If you want configurability, consider buying WP Designer’s gallery theme.
  8. Rearranging the way the listings/ categories appear requires custom coding. One possible tweak you might consider is to order listings from most to least votes.
  9. The theme does show categories but does not currently give a count of the number of listings in each. You can modify this with a code tweak.

I will be tweaking OS Designer’s theme to build several different types of sites running on WordPress. When I have template file variations completed and tested, I’ll make them available (or provide instructions as I’ve done above).


If you do decide to build a web directory, whether or not you use WordPress, just keep in mind that last year, there was talk of Google applying a “thin content” penalty. A number of high-PR web directories lost PageRank, and the common buzz seemed to be that Google deems the average directory to be a link farm (especially if you require all submitters to give your directory a reciprocal link).

I haven’t done enough research to talk about this so called “thin content penalty” with any authority, but that reason seems to make sense. So for safety, I prefer using a gallery setup for a web directory, where I can add a screen snapshot and a synopsis of the site. That’s a bit more content than just a link, a site name, and the typical sentence or so about the site.

14 thoughts on “WordPress Hacks: Build a Web Directory

  1. Yikes. That was not the case when I checked, way back before I wrote this in March. Thanks for the warning.

  2. Tom: This article was written before WP 2.5. It’s unfortunately possible that the gallery theme mentioned will not work with WP 2.5x. I couldn’t find too many other “directory” options that worked for me, or were in any way visually appealing.

  3. I’ve been looking for some time for some that works well. I’ll give the gallery concept a try and see what I think. Link Directory by Alex Tang, is goofy with t he Categories, they enter fine but when submitting a site, you have to be on the right page because you can’t change the category in the submission form, nor can you as th admin if they submit in the wrong category. You need to decline the link and have them resubmit.

    I had some errors with WP-Directory with WP 2.5.1.

    thanks for the article it keeps me heading in the right direction.

  4. Frazietl: Interesting requirement. I can’t honestly say I’ve come across anything in WordPress that would support this. That’s not to say it can’t be done. So you basically want to publish a set of links, but want the ability to sub-categorize them, so that you can group them? Essentially, you need a plugin that modifies the blog database to store link categories and subcategories, as well provides a form/ panel for adding such info. It’s not that different from one of the plugins mentioned above, but I’m guessing you want to use it like a blogroll, but clustered?

  5. I wish someone would update one of these plugin, or create a new one, as I REALLY, REALLY want a link directory for my website.

    Link directories aren’t just for link farms- I have an information site and a lot of links I would like to use. I was gobsmacked when I began to add links on WordPress and saw that I couldn’t even add subcategories! Just that little feature would satisfy me for now, without the fancy reciprical link checking, etc.

    Anyone have any ideas on how to add subcategories to links in WordPress? I’ve googled this and only found a couple of hacks that don’t look very confidence inspiring.

  6. Jeremy: Well whether or not we need them, that’s not going to stop people building them. On the flip side, most of the specialty sites I’m creating are for my own research purposes. I’m guessing there are other people who wouldn’t mind having their own experimental sites. Which is why I’m writing these “WordPress Hacks” posts.

  7. ia: I suppose it depends on whether you want other people to be able to contribute articles. A few of the features you’d probably need:

    (1) Membership
    (2) Moderation of articles – i.e., being 100% sure they are not submitting someone else’s article, or are submitting relevant articles and not spam.
    (3) Indexing by category
    (4) Submission of articles.
    (5) Retrieval for use elsewhere.

    Not sure yet about whether you can automate the handling of membership and moderation of submitted articles (probably not; need manual effort). However, I’d use one of the directory plugins mentioned above and then tweak it. Instead of the URL pointing to a submitted website, it’d point to a post page on your article directory.

    I’m unlikely to explore this example use of WP further, but if I do, I’ll blog about it here at Performancing.

  8. Nice article !! Great to know about wordpress plugins !!! To buid a directory this article is really helpful..

  9. If I knew I’d get mentioned on Performancing as “sofimi” I shouldn’t have logged in so that I could specify a real link on my name. Haha! 😀

    Now I’m curious as to how you would create a WordPress-based article directory. Those seem to be very popular, and though there are existing software for it, the advantages of WP would appear to be more helpful. Then again, article directories seem to have a different culture/system and I’m not sure how that would translate to a WP-based setting.

  10. Additional Notes:

    You CAN add a regular blog to your directory (based on the gallery theme), but it requires some tweaking:

    (1) Use one category for blog entries only.
    (2) Add WP/PHP conditional code that ensures blog entries don’t show up as directory entries and vice versa.
    (3) Determine how to display access to the blog entries. You could use part of the space currently set aside for ads. You’ll need conditional code for this as well.

    I am not planning to add a blog to CSS Social or any of the other sites that I’ll be using a gallery theme for. So I leave this as an exercise for readers.

Comments are closed.