Archive for the ‘Theme’ Category

Wordpress’ default theme and template are a complete mess

Wednesday, September 3rd, 2008

I am very upset about this sad realization. For the last couple of days, I was working on the design & development of a new blog. I will not name it now, it is still full of test posts and therefore it would be really meaningless to link to it right now. Anyway, I had a couple of options. To look for a nice wp-theme and fiddle it, to play with the default or classic themes and create a new look and functionality out of them or, finally, write one from scratch. The last option is the wisest option however it has been nearly 1 year that I haven’t been interested in any piece of wordpress code. So, I was also not familiar with versions newer than 2.0.x. Therefore I first opted for the second solution and started tweaking the default theme.

The default wordpress theme is a great failure. It is of course very famous because it is the default wordpress theme. First off all, it is not standards compliant. Especially the order and usage of CSS selectors are catastrophic. I will only name one for now. There is this header part, then there is this blog name section which correctly marked as h1. But then there is this description section marked as a div. This is the most common failure among amateur “web masters” who are just introduced to web standards. The description section should have been coded as a p class=”description” or p id=”description”. There is no need for a div. This is a big error but this is maybe the smallest semantic error in the whole wordpress default theme.

The CSS file is exactly a turmoil. There are many classes identified more than once and that makes it very confusing to work with them. The use of ems are a complete failure. So much that when you change an h2’s em value, it shows up in different sizes gradually. No, of course I am talking about the same class of h2! It is in the commentlist section. Go see it for yourself. Change the em value there, for instance change the em of h2 from 1.2em into 1.6em, it ends up showing growing sizes as comments continue.

And no, I am not using Internet Explorer. I am testing everything on Firefox 3, Internet Explorer 7, Konqueror (Safari), Internet Explorer 6, respectively. I can’t waste my time to tell all the errors in this default themes CSS file. I want to go into some other catastrophe that the web suffers because of those default and classic wordpress themes.

Many advanced wordpress themes are built by tweaking the default one or the classic one. And that’s a good thing, because once they put those two templates into wordpress core and ship them together, there is no reason as not to be sure about they are the right thing to go from. However, unless you strip all the CSS at once and start writing CSS from scratch by using selectors and classes from the template source, it is impossible to produce a coherent design. It’s awful. Look at the CSS file of the theme “White as Milk”. The author clearly state it in the CSS file as a comment:

THE FOLLOWING CODE IS DERIVED FROM THE DEFAULT “KUBRICK” THEME.

THE STRUCTURE AND LAYOUT IS IN MY OPINION, NOT THE WAY CSS SHOULD

BE ORGANIZED, BUT FOR NOW I AM LEAVING IT THE WAY IT IS TO KEEP

IT CONSISTENT.

As a matter of fact, since almost all themes are derived from the classic or default layouts, it is almost impossible to change and tweak them for the majority. It’s not sufficient to know CSS, you have to master it to a degree where you can find some other people’s errors in it and fix them.

The classic template is not as faulty as the default template but it is also very deceiving. For instance, it doesn’t have a real footer where stands below all the content and sidebar. Instead, the footer stands just under the content. It is not compatible with the widget functionality of a standard wordpress installation. Even not with the latest version shipped!

Briefly, this is a shame. Many wordpress users just think that they don’t know enough CSS. They are wrong. CSS is in fact quite easy but it depends on good mark-up on the template side, and clearly written CSS files. The beauty of CSS and web standards is in their usability, easiness, practicality.

I don’t think that those faulty history of the default and classic templates of wordpress is going to end here. They couldn’t fix it for years right now. It looks like they are even not aware of what is wrong. The turmoil still continues with K2.

I had to heavily tweak the default template files on a very detailed level. This was meaningless. This can be a whole lot better.

I hope somebody pays attention to work on a such important issue.

If content is king, vertical content is god

Tuesday, August 12th, 2008

It’s obvious that good content always brings visitors in. More important than good content is good and vertical content which means putting emphasize on a single topic.

If you look at blogs in the Technorati top 100, you will find out that almost all of them are vertical in the sense of topic they are publishing posts about.

What are the reasons that vertical content is profitable than mixed good content? Well, primary reason is search engine optimization and the leads that search engines create.

When you look at websites or other resources that claim to provide high profit keywords, they often look like meaningless. They are usually not meaningful. If there is one keyword, of course there is nothing to talk about meaning. One word is meaningful, naturally. I am talking about phrases. There are phrases that sounds silly for the first look. However, they are not phrases for everyday life. They are simply search terms that users put in the search box.

At this moment, remember on some searches we made on the net brings results like one or two words are in a sentence and the third word we are looking for is in another sentence or another paragraph or sometimes even on another post or article at the same page.

Now this is where the vertical content plays a role. Since sincerely writing on a topic and nıt trying to stuffing keywords in your writings would result poor search engine results, search engines try to collect data not only in terms of a single post or article or a block on your web page. Instead, they try to understand your topic on a variety of measures.

So, when you feel very competent on a subject, then what you have to do is to write different aspects on that subject in a single web site.

You can choose the catch-all way and put a variety of subjects in one blog or website, but then search engines either put you in a wrong category in terms of a topic or they would not get your subject at all. This is also why blogs concentrated on a certain subject always have better search results. This is because of the structure of a blog. On any front or archive page in a blog, there are 10 posts on average. If they are almost on same subject then it is very easy for a search engine robot to identify and connotate your blog with that subject.

This is of course also very important when it comes to related text advertising. On any given day, if you have at least tens of posts in your blog on a certain subject and you suddenly post something entirely different or something very short, ads sontinue to display in the context of your subject in general.

As a conclusion, if you blog for fun then you don’t need to stick with a certain topic. If you are blogging for the purpose of making money out of text advertising then you should pay attention to create vertical content. You’ll be more profitable that way.

Semantic Markup Is More Important Than Tableless Design

Tuesday, January 2nd, 2007

I appreciate tableless design and I am an eager advocate of a semantic web, divs instead of tables, content that form the shape, all the bells and whistles and the better accessibility it brings.

Unfortunately, there are still problems with tableless design. For instance, there is this firefox bug about two divs nested in one. Firefox does not recognize the width of the first div when you nest two divs inside a container div. More important than that, Internet Explorer still cannot handle divs properly.

Of course there are always workarounds to those problems. You can create tableless cross-browser design via css hacks, conditional internet explorer html interpretations, etc.

However, when it comes to everyday designer with deadlines and less time for the learning-curve of tableless design and css hacking, design without tables can become a nightmare just because of cross-browser compatibility issues.

The optimum solution to this might be using tables less than before and creating a design where tables are just used for main positioning. This can eliminate the time and effort until each and every designer have her/his time to develop skills enough to cover tableless cross-browser compatible design, or until Internet Explorer dies, or until each and every browser agrees upon a certain CSS specification especially on positioning of elements.

Good news is tableless design is not necessary for a valid XHTML design and making use of semantic markup. More important than tableless design is the semantic markup and the use of proper (x)html elements when organizing the data, the content that the page should serve to visitors.

You can still make use of h1, h2, h… header tags, li, ol, ul, dd, dt, dl, etc., tags that tells search engine robots what your page is about and how it can be indexed properly.

Tableless design is still necessary and should be a standard when we talk about a more accessible web. Making use of tables for positioning is not a good practice, I am not here to tell you that there is no harm in using tables. I just want to tell you that you can still create valid (x)html and semantic markup and be more accessible than the past, until you learn about CSS hacks and a cross-browser compatible tableless design.

Don’t give up on accessibility, valid and semantic markup just because you are not ready to do tableless design. Try to take your time and make progress in this transitional period. This is why we call certain DTD (Document Type Declaration) as transitional.