Going Live, on Air!

So, what is this brand new blog gonna be about?

Well, first of all, I’d like to introduce myself. My name is Konstantin, and “Kovshenin” is my last name and screenname in almost any IM, social media stuff, etc. I’m from Moscow, Russia. I’ve been working in the web industry for quite a long time now, so this blog will probably be about new (and old) web technologies, search engine secrets, web design tips and tricks (and many many more, hopefully).

I’ll start off straight away by talking a little about wordpress. I’ve been using the 2.6.2 version for over three months now, although 2.6.3 is pretty stable. The reason why I didn’t want to upgrade (my russian blogs) is that some plugins that I liked worked fine in 2.6.2, but not 2.6.3. Well, I’ve tried to forget all about plugins while bringing up this blog, so now I’m running latest stable, hopeing nothing goes wrong. Anyways, we’re all looking forward to 2.7 stable, while there are a couple of betas available on the wordpress development blog. The 2.7 release is delayed for some reason…

Anyways, here’s a quick list of my favourite wordpress plugins:

  • Akismet Anti-spam
  • Google XML Sitemaps
  • Hello Dolly
  • NextGEN Gallery
  • SEO Friendly Images
  • WordPress Video Plugin
  • WP-Polls
  • WP Super Cache

You should be able to find any of these in the wordpress plugin directory, with descriptions and download links.

Oh, and I’d like to say thanks to the free wordpress themes website for this wonderful theme. It looks great and it’s handy-coded, so I’ll be sure to customize it in a while. Check them out, there are plenty more good-looking themes. The links are in the footer ;)

So, subscribe to my feed and stay tuned!

Some Handy SEO Tricks

Today we’ll talk about Google and search engine optimization techniques. The reason why I chose this subject, is that I’m having some problems achieving good results in the russian blogging community and other minor projects. We’ll start with a brief overlook at the top 10 google myths.

The top 10 myths about google were talked about on the “Tricks and Treats” webmasters event a couple of weeks ago, so if anybody is interested, you could get detailed information on the Google Webmaster Central Blog. Anyways, I’ve formed a short-list out of the myths:

  1. Don’t worry about duplicate content, it will not penalize your site.
  2. Webmaster Tools validation doesn’t care if your page is HTML or XHTML and whatever doctype you picked.
  3. Getting listed in 1000s of search engines and directories does not make sense.
  4. Google AdWords, AdSense and Analytics are not evil.
  5. Keyword stuffing is bad, very bad.
  6. XML sitemaps are good, very good.
  7. PageRank is only 1 out of over 200 other factors that are used by Google for site rankings.
  8. Resubmitting your site to Google won’t harm it.
  9. Don’t stop working on your site, even if you rank 1st.
  10. Valid HTML/XHTML doesn’t affect the rankings.

I think that’s enough for a quick start. You see, the main problem in SEO is that people are making websites for search engines, rather than people, and that is why most of them don’t rank high in search results. Google is working on giving out good results, ones wanted by people, and that’s basically why sites “for search engines” don’t show up on results’ first page.

Although keyword stuffing, doorway pages and google bombing could still work in some manner. It’s not like in the late 90-s or mid 00-s, but keeping your anchors clean and nice, while posting inbound links to your site, is very important, just like when “google bombing” ;)

Simple Watermarking with PHP

Here’s a pretty code snippet for watermarking images with php.

header('Content-type: image/jpeg');

$watermark = imagecreatefrompng('watermark.png');
$watermark_width = imagesx($watermark);
$watermark_height = imagesy($watermark);

$image = imagecreatetruecolor($watermark_width, $watermark_height);
$image = imagecreatefromjpeg('photo.jpg');
$size = getimagesize('photo.jpg');

$dest_x = $size[0] - $watermark_width - 5;
$dest_y = $size[1] - $watermark_height - 5;

imagecopymerge($image, $watermark, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height, 100);


Where photo.jpg is the image that you want to watermark. It uses gd image library which is now a standard php webhosting feature, so you should have any problems. You could learn more about working with images in php at the PHP GD Manual.

Oh, and by the way, the code highlighting plugin for wordpress is called WP-Syntax and is available at the wordpress plugins directory for free. It’s the only one I liked, out of a bunch of others. It supports over a hundred different coding languages and looks neat.

NetBeans IDE 6.5 RC2

I’ve finally got a chance to run the new NetBeans IDE (I’m talking about the “Early Access for PHP” version).

I’ve been running 6.1 ea-php for quite some time now. I haven’t had problems with 6.1 on my Fedora 9, but my Windows XP distro sucked at running NetBeans 6.1, and that’s bad cause I have to use Windows at work. I’ve been experiencing problems with character encoding, the cp1251 vs utf8 battle, syntax highlighting (especially when it came to CSS) and the IDE could hang once every 2 hours or so.

Anyways, I’ve switched to NetBeans 6.5. RC2 today and haven’t had any problems yet. Some new features in NetBeans 6.5 include the Web Services section in the Services tab, that helps you work with services like Amazon, Google, Flickr, Facebook and others. Very helpful indeed. They’ve also put support for some other database drivers – PostgreSQL and JDBC/ODBC along with good old MySQL.

Pick your own version of the IDE in the NetBeans download section.

Thinking Subversion

Since I had to clean up all the mess in my SVN repo today, I’d like to show you some nifty tricks ;) First of all, I encourage all Windows users to forget about TortoiseSVN and all the other GUI versions, cause there’s nothing better than the good old plain-console subversion client. Just add it to your %PATH% system variable and you’ll be able to use svn commands from anywhere in the Windows command line.

Okay, cleaning up. During any cleanups and reordering subversion repos you’ll encounter with moving, renaming and deleting files. And here’s my favourite South Park phrase – “Just don’t mess up okay? You’re messing up too much!”. Do NOT delete, rename or move files thourgh your Windows explorer. The right way to do it is using SVN commands:

svn rename oldfile.php newfile.php
svn move oldfolderfile.php newfolderfile.php
svn remove unwantedfile.php

Yes, and the file will be removed/renamed/moved on your local working copy, then in the repo after you commit changes. Anyways, if you do mess up, you can always throw everything to your trashcan and start over with a fresh checkout (I’ve got a lot of temp folders full of these ;).

And of course property setting (propset) and removing (propdel) when it comes to svn:ignore properties. Properties in SVN are applied to the directory you pick and will not apply to its subdirectories, so be careful. Here’s how you set the svn:ignore property (for filename.php) on a folder:

svn propset svn:ignore "filename.php" folder

And here’s how you remove it:

svn propdel svn:ignore folder

That’s about all I had to say. Oh and don’t forget to cleanup sometimes:

svn cleanup

And since I’m a NetBeans fan, I just have to say that NetBeans IDE is just great when it comes to version control. It supports both CVS and SVN repos and it’s real quick at getting the job done if you split up your sources into NetBeans projects. It has an in-built repo browser, diff viewer and others. And it’s just a one-click-view-changes-and-commit ;) I love it. Go get yours: netbeans.org.

More Google SEO Tips

“What are some simple ways that I can improve my website’s performance in Google?”

Yeah, they are simple enough… I bet you’ve been following the Google webmaster central blog and have seen the post about their new SEO starter guide. Well, as they said, everybody knows this stuff already, but they just wanted to remind us all with one handy little guide. That’s okay, there are some pretty interesting facts in the guide, especially the “avoid” sections.

You see, when you’re creating a webpage from scratch, it’s pretty easy to line with the rules. I mean the title tags, the meta description tags, linking structure, site navigation. Well, the real pain in the ass is when you get to edit a complete website with around 300-400 pages, that all have same titles, same descriptions and keywords tags, all done in plain html and a tabled structure. Oh, and it has a stupid javascript menu aswell, like in the 90’s ;)

I’ve also noticed that stuffing keywords in the page title makes absolutely no sense. I mean Google’s first results page (on almost any keyword or keyphrase) contains high ranked pages that have short, descriptive titles, so there really is no need to repeat your keywords 5-6 times in the title, I’d say it’s rather harmful doing so.

Almost forgot. Have you seen the new Google Analytics overview pages? Their new design rocks and the advanced segmentation too – you can get up to 4 factors onto your dashboard line chart, so if you’re using Google Analytics as a stats program, you won’t have to click anywhere else besides your dashboard. Though I still do encourage you to stop wasting time (and money) and start using Google Analytics further more than just a stats program. There’s plenty of information on the web about how to take advantage of all Google Analytics’ features.

WordPress – Social Networking

I’m currently building a tiny social network for vector artists to post their artwork and get feedback. Anyways, I’ve been doing that for almost a year already and still can’t get it finished :) I’ve got design, I’ve got code concepts, but it’s all too complicated for a one-man-team. So this is where wordpress comes in…

I’ve tried the WordPress MU project (multi-user) but that’s slightly different. I mean yeah, people can run their own blogs and stuff but that’s not what I need. I’m looking for one blog with lots of users that can add posts (artwork or blogposts) and comment each other, oh and some rating system. So I searched the web for wordpress plugins that made it work like a CMS.

Role manager. This is quite good. Get your copy at SourceForge. This plugin lets you customize all user roles and capabilities. It’s well-documented so you shouldn’t have any problems.

That’s not enough. I want users to be able to post artwork, and it would be really nice if they didn’t have to use the standard wordpress admin panel, cause it’s ugly :))

Cforms II. Yeah, the plugin’s great. Works well with AJAX, has good styling options, but no. It was a pain in the ass getting Cforms II submit a new post as a draft from a specific user, but yeah, I managed to get it to work with some extra code in my-functions.php (Cforms feature). It worked fine until I tried to add thumbnails to posted arts, which made me move all my code to the page.php file of the wordpress system, where all the $_POST processing worked, and that’s wasn’t very nice.

Why should I use the Cforms plugin if I still have to hardcode my wordpress files? I’d be easier to draw a form and process it in an external php file. All the functions I’d need could be included from the wordpress includes directories (wp_create_thumbnail() and wp_insert_post() are basically all I need).

By the way, the wordpress codex has all these functions documented – WordPress Fuction Reference. So, I guess it’s okay to write some code, rather than install 50 plugins and expect to get it all working in 5 minutes :) will keep coding…

I Got my Flickr Account!

Yeah, I finally got my Flickr account and would like to share my photostream with everyone, so if you’re interested feel free to add me to your contact list: flickr.com/people/kovshenin.

By the way, I haven’t got a camera – I use my cellphone to take pictures so the quality isn’t very good, sorry. Anyways, I’ve found a great way to upload images directy to Flickr using my Nokia 6681. In fact, there are two of them. One is to use the WAP browser and point it to m.flickr.com, login and upload pictures. The second one is to use e-mail posting. Flickr gives out some secret e-mail address to every user. If you send an image to that address it appears in your photostream. Tagging is allowed aswell.

Oh, and you can also use the XML-RPC protocol to post pictures directy to your wordpress (or any other) blog. Look for it in the account settings.

Removing Comments Author Links

Askimet (the anti-spam plugin for wordpress) is great, but when it comes to readers commenting posts and leaving backlinks to their sites, Askimet doesn’t count that as spam unless the message doesn’t look like one. Yeah, wordpress marks them with a ‘nofollow’ attribute, but search engines aren’t the worst case in this situation. It’s pretty good if readers leave backlinks to sites that are more or less relevant to yours, but what if it’s something about travel and hotel bookings? That would piss me off…

You can manually edit the comments and remove backlinks, but you’ll get annoyed doing that with ~100 comments per day. Anyways, here’s a quick tip of how to remove all author links forever.

Go to your wordpress admin panel, pick the ‘design’ section and click ‘theme editor’. Now, in the list on the right you’ll see some files related to the current theme. You’ll have to find the one that’s ‘driving’ comments. This can vary from theme to theme, but most likely it will be called comments.php.

Then find something similar to:

<?php comment_author_link() ?>

And replace it with:

<?php comment_author() ?>

Voila! And no more author links in comments ;) Good luck!

FeedBurner and Google AdSense

All of you know what RSS is and why feeds should go through FeedBurner. Most of you also heard that Google has aquired FeedBurner so you shouldn’t be scared when FeedBurner will ask for your Google account details.

Anyways, I’ve been using FeedBurner for quite some time now and I definately don’t regret it. Some writers don’t like posting full articles to FeedBurner for many reasons. One of them is that authors aren’t getting any benefits from visitors reading their posts through RSS by-passing the adverts on their blogs. So here’s where AdSense comes in. You see, people don’t mind context-ads such as AdSense as long as they are relevant and some might be pretty helpful.

Getting an AdSense block into your feeds became very simple. All you need to do is link your FeedBurner account with a Google AdSense account (pick the ‘Monetize’ section in your FeedBurner profile). Afterwards just pick a channel, customize your advert and save. All feed entries will be posted with your lovely AdSense block ;)