Wednesday, April 30th, 2008
When an article is written, various comments from other people may hold great deal of information regarding the topic. That's why it's very important to open discussion on web pages. In our company we mainly use Wordpress, so I'll explain how to properly set up comments on Wordpress. Our publishing platform Foliopress is based on Wordpress version 2.2.3, so screenshots and settings will apply mainly to these versions, but other versions are surely, not so different.
First order of business is allowing discussion in wordpress. Settings for this are in Administration back-end in Options->Discussion. For our company these settings are preferred:

Wordpress discussion options
Information on these settings (from Wordpress developers) are here
Some addition information:
- For the first two options( 'Attempt to notify any Weblogs linked to from the article', 'Allow link notifications from other Weblogs' ), we don't use pingbacks and trackbacks, but you can read more about it in here and here (broken link - http://www.optiniche.com/blog/117/wordpress-trackback-tutorial/)
- We try to answer comments ASAP, to keep the discussion flourish, so e-mail notification are important for quick response
- We moderate discussion, because we don't want spam or aggressive and rude statements. This is time consuming but keeps the posts and comments in best quality. And quality is most important.

wordpress discussion settings bottom
It is not that important to blacklist any words, when you setup to moderate discussion, but it is very important if you don't moderate. Blacklisting will certainly help to separate spam from reasonable comments.
Another setting for comments is in Options->General

wordpress options general
Unchecking 'Users must be registered and logged in to comment' will let anybody to post a comment, which we prefer, because it may be annoying for some people to register just for writing a comment, and we may miss a good comment.
That's for the Wordpress setup, but what if some themes doesn't support comments?
The easiest way is to take the code from default theme. It is located in wp-content/themes/default/comments.php. If this file is not present in theme it doesn't necessarily means that this theme doesn't support comments, because the name and path of comments file can be different. Path to the comments file, can be changed inside the theme, or even by plugins. Filter hook, that alters the path to comments file is 'comments_template'. This is also a name of native Wordpress function that includes the comments file, which will be the subject of next chapter of this tutorial.
Next important step is to include comments file in templates for pages and posts. It can be easily done by putting <?php comments_template(); ?> inside HTML, which will include comments file (or at least try to). So it needs to be inserted inside the post template, usualy 'wp-content/themes/your-theme/single.php', and also anywhere else you want comments to appear. Small example of such code can be:
<?php get_header(); ?>
<div id="content" class="narrowcolumn">
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<div class="post" id="post-<?php the_ID(); ?>">
<h2><?php the_title(); ?></h2>
<div class="entry">
<?php the_content('Read the rest of this page'); ?>
<?php wp_link_pages(array('before' => 'Pages: ',
'after' => '', 'next_or_number' => 'number')); ?>
</div>
</div>
<?php endwhile; endif; ?>
<?php edit_post_link('Edit this entry.', '<p>', '</p>'); ?>
</div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>
Changed into:
<?php get_header(); ?>
<div id="content" class="narrowcolumn">
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<div class="post" id="post-<?php the_ID(); ?>">
<h2><?php the_title(); ?></h2>
<div class="entry">
<?php the_content('Read the rest of this page'); ?>
<?php wp_link_pages(array('before' => 'Pages: ',
'after' => '', 'next_or_number' => 'number')); ?>
</div>
</div>
<?php endwhile; endif; ?>
<?php edit_post_link('Edit this entry.', '<p>', '</p>'); ?>
<?php comments_template(); ?>
</div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>
Comments are always connected with some post or page, so if you don't load any post or page, function 'comments_template() will show an error or warning. We allow commenting on both pages and posts, depending on the content of the page.
Of course there's a way to disable comments for a specific page:

wordpress edit post with allowed comments
By unchecking 'Allow Comments' comments will be closed. If there are already some comments on page and we'll disable commenting, these comments will be displayed on the page (in default template). If there are no comments so far, and commenting is disabled, "Comments are closed" will apear on the page. This actually breaks the integrity of the page, because if commenting is disabled, then it shouldn't be even mentioned. This text can be removed by editing the comments file. Code structure of displaying comments in default theme (and probably many others) is as follows:
<?php if ($comments) : ?>
<!-- Display comments posted so far -->
...
<?php else : ?>
<?php if ('open' == $post->comment_status) : ?>
<!-- If comments are open, but there are no comments. -->
<?php else : ?>
<!-- If comments are closed. -->
<p class="nocomments">Comments are closed.</p>
<?php endif; ?>
<?php endif; ?>
<?php if ('open' == $post->comment_status) : ?>
<!-- If comments are opened here is form for posting a comment -->
...
<?php endif; ?>
As any, even unexperienced programmer, can see that after the code for displaying already posted comments, there is a part of code that is essentialy unused. So this part can be removed and we'll end up with this:
<?php if ($comments) : ?>
<!-- Display comments posted so far -->
...
<?php endif; ?>
<?php if ('open' == $post->comment_status) : ?>
<!-- If comments are opened here is form for posting a comment -->
...
<?php endif; ?>
This way "Comments are closed" sentence is removed, as also some HTML comments which add to network overhead.

By Peter
WordPress |
Monday, April 28th, 2008
For years, I've been on the Site Build It list. SBI is the creation of the rather annoyingly gushy Ken Evoy who never stops his carnival barker cries about his one-stop-site-creation tool.

Ken Evoy Pumping Site Sell
Evoy's been at it since the bad old days when the internet was a mess and Site Built It! did have the advantage of actually getting a website up in some form - easier than coding html from scratch for the neophyte.
Throughout SBI's history, Evoy has shrieked about his process and his proprietary tools. On the surface, a clear process and proprietary tools are a good idea. Probably worth the price of admission (or so I thought at the time). The issue with the proprietary tools (which otherwise might be a good deal) is that you can only use them a little bit. Come and play for one hour per week, see you next week. Not exactly inviting brainstorming or creativity.
In contrast, the indepdendent expensive (many of which are free) tools Evoy condemns let you use them as much as you like once you find them.
Over the years, I've learned not to expect much from Evoy's newsletters (sometimes for six months at a time, they get relegated to the read later bin). Still it's worth sometimes checking in on somebody who's multiyear obsession has been selling ecommerce sites. Another perspective.
In the last couple of years the internet has changed and it's actually quite easy to put a website up. Just buy a hosting account (a single domain account is $3 to $7 Ken, not the $10 to $15 you cite), click the one step install button and you have vanilla Wordpress (or Mambo or Joomla or whatever else catches your fancy). Or pay nothing and sign up at Wordpress.com and have a better than vanilla Wordpress install with lots of attractive themes ready and waiting for you and an active forum.
The ease of putting up a high quality website - almost all of which look better than Site Build It websites and are easier to post to - is naturally a huge threat to the SBI business. Why pay Ken Evoy $300 per year per website for hosting which should cost $50?
Evoy's latest missive starts yet another hysterical title "Why blogging is a massive mistake!" Exclamation mark is his.
Writing a weblog is not a massive mistake. Handled properly, a weblog does wonders for your website traffic and search engine standing. But taking away the hype, this time Evoy does have a worthwhile point about weblog type sites (Wordpress in particular) - i.e. they date like stale newspaper. I can confirm the tendency from my own sites.
By publishing a weblog, you are effectively creating just a daily news source.
What happens if you publish a very good article which has value as a permanent reference? It stands alone in your weblog. People come, read the single article and leave. There may be other interesting content on your weblog for them to read but the visitor can't be bothered to ferrret it out. If your writing or content is extremely compelling, perhaps some visitors will read a certain amount of your content. But then they will leave. Which quite frankly for an online journal is fine. You're not selling anything.
But for a business, this isn't so good. What you want is to create an information resource for people in your business, which will bring them back again and again. An information structure which invites them to find immediately the other relevant areas of interest.
And Evoy quite correctly points out that this is the built-in model for Site Build It:
Blog posts are created and stored in chronological order. A good blogger will produce a post that is useful today, but who will read it in three months? Even when bloggers go to the extra effort of archiving their posts by "keyword categories," the articles are dated and not rewritten into coherent definitive articles. Usefulness plummets with time.
How does a Theme-Based Content Site differ? Instead of a stack of old newspapers, each resembles a good resource book about its theme, composed of useful, original articles ("Web pages") that cover related topics in some depth. Written in each small-business owners's unique voice, and based upon that person's experience in the field, they are useful resources that visitors return to over and over.
Evoy correctly points out that a photography weblog would just be one in a million, posting the nattering about the latest cameras and software:
How would a blog be presented? A stream of disjointed photography tips would be organized by "date of post." And posts on any given topic (ex., "portrait lighting") would be separated by time (weeks or months apart), each covering only a certain aspect of the topic. On the other hand...
Definitely not the right one to pull someone into your website. Evoy contrasts the above weblog site with this siloed sitemap for a static site:

site build it silo site
This time Evoy's absolutely right. Someone looking for information on photography lighting would gradually be led through the whole of your website, would bookmark it and come back as a reference. All of this assumes of course that your content is top-notch (and Ken, let's be frank, there's not too many people capable of creating top-notch content, on or off the SBI rolls). But with a static site structure at least you stand a fighting chance of retaining your visitor and becoming a reference.
In any case this is a huge insight. Pages instead of posts something I've been playing around with in the static pages section in Foliovision. Our client sites are also largely hierarchical with the weblog performing weblog functions (added value).
What I've been doing is making a static page instead of a post and then publishing a small announcement on the weblog section.
Unfortunately some of the news outlets which republish my content will not link to static pages or to articles which are more than 24 hours old (a pain in the neck, as after publishing a major article I like to come back to it 12 hours later to proof it and add or correct illustrations).
Going forward, I am going to build up the static pages sections very actively. When I first publish a post, it will go into the weblog, but within a few days. There is one small issue which is comments. We enable comments on pages so visitors will still be able to comment on the static page. But often some of the comments come in right away (on the weblog version).
- Do I leave the comments on the weblog post or move them to the static page?
- If I choose to move the comments to the static page, there is no mechanism to do so inside Wordpress. We'd have to build a plugin.
BTW, this sort of question is what you are paying Evoy to solve for you with either no solution (in this case) or his solution. For an inside the box thinker (or someone with very little design sensibility and/or minimal interest in technology), SBI solves a lot of problems. For an existing six-figure business, there are better ways to bring your business online than SBI DIYism. I do agree with Ken that business owners should have better things to do with their time than spend it troubleshooting websites or optimising their sites for Google.
If you're interested in having a closer look at the Site Build It system and way of thinking, Ken Evoy offers a number of free ebooks on writing for the web, selling services and montization. SBI's claim ithat the free ebooks are better than a lot of the pay ebooks out on internet marketing is more or less true. Given the rubbish sold as ebooks that's not necessarily saying a whole lot. The link above bundles several of them into a single zip file for your convenience.
Personally, Ken's writing style drives me up the wall (he's been described as rah-rah), but the bulk of the information is good. I just can't read past his marketing speech. The formatting is bizarre as well. I wish the guy would hire a graphic designer at some point. Why does he write Sidebar and then not make the sidebar a sidebar but whack it right into the middle of the text?
Some other references

By Alec
Internet Marketing, WordPress |
Wednesday, March 26th, 2008
We've been properly labelling and tagging our images for years. Some of our websites get most of their visitors from Google Images.
Google Images is the greatest SEO reserve left in the world. Chris Silver Smith of Netconcepts let the cat out of the bag in 2006 and told the whole world about optimising for Google images. But it's hard work optimising images for Google Images and most webmasters still can't be bothered. There's still gold - or at least visitors - in those hills.
As Chris didn't cover the technical details in-depth, here's a step by step guide for optimising your images for Google images.
Most websites publish their images like this:
<img src="/images/192a/986943.jpg" alt="image">
Where's the problem? Missing height and width, meaningless directory name, meaningless file name, generic alt tag.
Here's what a properly formatted image should look like:
<img src="http://foliovision.com/images/2007/08/zen-fanless-power-supply-400.jpg" alt="Zen Fanless Power Supply" width="400" height="340" />
For bonus points link that image to a larger version of the same properly labelled image:
<a href="http://foliovision.com/images/2007/08/zen-fanless-power-supply-big.jpg" rel="lightbox"><img src="http://foliovision.com/images/2007/08/zen-fanless-power-supply-400.jpg" alt="Zen Fanless Power Supply" /></a>
For extra bonus points put that image in a h5 tag with a proper caption, close to if not identical to the alt tag:
<h5><a href="http://foliovision.com/images/2007/08/zen-fanless-power-supply-big.jpg" rel="lightbox"><img src="http://foliovision.com/images/2007/08/zen-fanless-power-supply-400.jpg" alt="Zen Fanless Power Supply" /></a><br />Fortron PFC ZEN fanless power supply</h5>
If all that sounds like a huge hassle - when you do it for every image - you are absolutely right. It is a huge hassle to optimize for Google images by hand.
Which is why we built the SEO Images (part of Foliopress WYSIWYG) plugin.
With SEO Images, all of the above is happens automatically.
You only need to give the image the correct name (words separated by hyphens) and upload to the correct directory.
Automatically all the rest is added to your image:
- alt tag
- thumbnail (whatever size you prefer)
- link to larger version image
- caption
- width and height
- lightbox
If you want a lot of visitors from Google Images, you only need to use SEO Images for a few months and you will have the rankings and the visitors to go with them.
Here are the Google Images result for our example from above, the Zen Power Supply. Of 107,000 images, spots one and two are from Foliovision.com. The large and the small version of that image.

SEO Images Google Images results
Why a few months? Historically indexing in Google Images is much slower than for the rest of Google.
Chris and Stephen, in the future, please keep our secrets to yourselves!
Also check out Problogger Formatting images for SEO.

By Alec
SEO |
Saturday, January 5th, 2008
I just read the strangest apologia for a new service: Uh, why’s the official Tumblr blog on WordPress? (broken link - http://blog.davidville.com/2007/02/23/why-wordpress/#comments)
Simply - all the CMSy stuff it comes with. Blogs are an awesome platform. WordPress lets our entire staff contribute to the same blog, maintain tags and slugs, save and give feedback on drafts, upload and store media, back and forward publish posts, group our archive by month, lets our audience comment, lists trackbacks, et cetera, et cetera. It’s awesome! Blogs rock! But we knew this. WordPress is the perfect way for a business like ours to communicate with our audience.
Sounds good to me. David Karp goes on to write about the advantages of Tumblr: "posting with zero obligations, little or no comment". Great for wisecracking, difficult for communicating.
Read the rest of this entry »
By Alec
WordPress |
Sunday, December 9th, 2007
I've spent a lot of the weekend working on a Vancouver real estate website which we converted to WordPress last year.
(Don't feel too sorry for me, the rest of the weekend I spent with my girlfriend.)
There were a bunch of issues in the PHP code which I couldn't solve myself so I had to leave my efforts there for the designer.
I was unable to comment it out with html comments (what I usually do). PHP comments wouldn't work either, so I put some serious research into how to comment PHP properly.
It turns out there is a simple but very effective trick:
<?php /*
comment
*/ ?>
I recommend reading the full article on How to Comment Code in WordPress templates if commenting WordPress templates is something you need it do occasionally. It will save you a lot of time.
I am sure much of this applies to our friends over in Mambo/Joomla and Drupal land.
A tip of the hat to My Digital Life for his article - Comments and Comment Blocks in PHP.

By Alec
WordPress |
Friday, October 19th, 2007
What should you do if you've forgotten or lost your WordPress Admin password?
Step one of course would be to fill in your username and your email into the lost password form.
But what if you don't know one of either your username or your email?
Are you out of luck?
Not if you have admin access to your server.
First things first.
- login to your server admin account (cPanel, Hsphere, Plesk, etc...)
- open up PHP MyAdmin (see your host's help file)
- open up your WordPress weblog database
- don't panic when you see the complicated screen
- click on wp_users in the left hand column
- choose browse from the top menu
- you will see all your users with usernames and passwords
- go back to the login screen
- request a new password
- if necessary modify the email to one which will come to you
If you want to make your life miserable you can replace the hash key instead and login directly. But why bother when you can just go back to using the standard interface.
I'm sure I've saved at least one person a call to his or her server admin with this info.
Enjoy posting in your newly recovered WordPress weblog!

By Alec
WordPress |
Tuesday, September 4th, 2007
It's no secret that we are big ecto users at Foliovision. But we've found Ecto for Windows more trouble than its worth. We are not the only ones to think so.
Rather than continue to fight Ecto for Windows which is a bit overkill for what we need to do on our Windows computers we went looking for an alternative, preferably something more portable. The Firefox extension JustBlogIt seemed like just the trick.
Basic, but easy to use and open to multiple accounts - very important to cover our multiple weblogs.
JustBlogIt worked a treat with my legacy Typepad account (if you're asking I don't enjoy Typepad at all - tech support is terrible even on a premium account), but wouldn't work with our WordPress weblog, always returning a PHP fatal error.
I asked Jérémie to investigate and this is what he came up with:
It seems that wordpress development team forgot about this file since the version 2.1 of it because it works on JB which is running under the version 2.0.6 and not on JulieK (2.1.2) FV (2.2) and WTR (2.2.1).
When we are trying to run the file it displays a PHP Fatal Error because one function neede to run the editor is missing. The error is:
Fatal error: Call to undefined function the_quicktags() in /hsphere/local/home/fvmaster/foliovision.com/wp-admin/edit-form.php on line 35
After looking on internet and wordpress website and finding almost nothing newer than WP 1.6 (already in WP 1.6 users got that error) I just decide to fix it myself. I looked on the core for that function, copy and past to bookmarklet.php, the function is present on the file /wp-admin/admin-functions.php. It is:
<?
/*Hacked By Foliovision - this function is present on the file /wp-admin/admin-functions.php
Somehow edit-form.php should call it but it is never integrated on its file. I just copy it here:
*/
function the_quicktags() {
// Browser detection sucks, but until Safari supports the JS needed for this to work people just assume it's a bug in WP
if (!strstr($_SERVER['HTTP_USER_AGENT'], 'Safari'))
echo '
<div id="quicktags">
<script src="../wp-includes/js/quicktags.js" type="text/javascript"></script>
<script type="text/javascript">if ( typeof tinyMCE == "undefined" || tinyMCE.configs.length < 1 ) edToolbar();</script>
</div>
';
else echo '
<script type="text/javascript">
function edInsertContent(myField, myValue) {
//IE support
if (document.selection) {
myField.focus();
sel = document.selection.createRange();
sel.text = myValue;
myField.focus();
}
//MOZILLA/NETSCAPE support
else if (myField.selectionStart || myField.selectionStart == "0") {
var startPos = myField.selectionStart;
var endPos = myField.selectionEnd;
myField.value = myField.value.substring(0, startPos)
+ myValue
+ myField.value.substring(endPos, myField.value.length);
myField.focus();
myField.selectionStart = startPos + myValue.length;
myField.selectionEnd = startPos + myValue.length;
} else {
myField.value += myValue;
myField.focus();
}
}
</script>
';
}
?>
I've also attached the full fixed file bookmarklet.php to this post. Just download and replace your existing bookmarklet file in ftp://yourdomain.com/wp-admin/bookmarklet.php
And enjoy one click citation in WordPress with JustBlogIt.

By Alec
WordPress |
Thursday, June 21st, 2007
There are lots of ways to build incoming links.
For a small window of time (about six months until April of this year) sponsoring WordPress themes was a great way to get varied links from lots of different independent websites.
Of course these links wouldn't be going on top PR sites generally (custom themes) and you don't have control of the theme of the site.
On the other hand, you do have control over the anchor text, which is already not bad.
And previously it was quite inexpensive - you would pay about $40 or $50/link on a two sponsored link theme and around $70 to $100 for a single sponsored link theme.
Things have changed - most theme developers are pushing three sponsored links and are trying to get $100 or more per link.
With the inflation and feeding frenzy, a lot more lousy developers have thrown their hats into the ring, so there is an oversaturation of themes.
The developers all talk a good game of how they promote the theme on sites such as:
Unfortunately on all or most of these high PR authority sites, your sponsored link will be nowhere to seen. Just a link to download the theme and some jpegs of the theme.
The developers will also try to shout and scream about 450 downloads, 1037 downloads for past themes. But for link building number of downloads accomplishes nothing for you.
What you are interested in is the number of sites which use the theme and include the sponsored links. For the purposes of sponsored links, a single is much better as the end user is less likely to rip out the links. By the same token it would also be better if the links were discreetly nested and not in electric green (where they are likely to attract the attention of the site owner and his visitors and finally get ripped out). An exception could be made if your site is likely to go viral and has a very wide appeal. In that case, clicks from sponsored links might actually contribute to your business. For my regional websites, we are not looking for random clicks. It will never generate any business for my clients and the more discreet the sponsored links the better.
Read the rest of this entry »
By Alec
SEO, WordPress |
Wednesday, May 30th, 2007

Philip Dow's Journler
Philip Dow is the developer of the very well received Mac PIM (personal information manager) Journler about donationware. His application Journler had an open donation policy for personal use. Contribute whatever you like. A single commercial use license was/is $25.
Phil is going full-time as a developer now and is starting to feel the pain - lots of downloads and good press, but not a lot of revenue rolling in.
Out of 580 registered users, Phil had received an average donation of $17. That makes a total of about $9800. But in the end, Phil feels that some are abusing the donation system.
Read the rest of this entry »
By Alec
Business, WordPress |
Friday, May 4th, 2007
John and I have often quarreled over the appalling WordPress login visuals.
Every site has to go to the same ugly login page:

Wordpress-Login-Old-V1
The login page gotten somewhat better since version 2.1 but it still just doesn't fit in with the rest of the site. Which site? Any site!

Wordpress-Login-New-V2
I guess this would be a great design if you are running a Star Trek fan club.
John would prefer not to fix the login page issue as it means altering core code. He's got a point. Once you start forking core code, you better be tracking your changes minutely (it's okay to hack into one file in my opinion, or one section, which you replace wholesale - but once you eat the first cookie, it's hard to stop and pretty soon the tin is empty and you have nothing but crummy code...).
Read the rest of this entry »
By Alec
WordPress |