Search Optimization: A 60 Day Test

I sent Eugenia and Thom a list of suggestions for improving your standing in search engines. It’s really just a list of lessons I learned as I researched the topic for my company. I culled the info from websites, a search engine optimization partner, and various writings on the subject. The thing is, as I wrote in an earlier post, it’s really worked for me. I’ve obviously done something right, because firsttube.com is returning much higher in all search engines in the last few months. Actually updating once in a while is probably a large part of it…

So I decided to implement many of the same things on OSNews. I have not only created “pretty URLs,” which are really just URLs that obey PATH_INFO rather than standard GET variables, but I’ve added lots of links, included additional internal links, cleaned up the page titles, and added links to submission forms of popular social networking/social bookmarking sites in attempt to earn some additional trust in pagerank.

I’m hoping to see some changes within the next 60 days. So, let’s check back at Thanksgiving time and see what happens.

FREEZE!

Okay, I think I’m pretty happy with the code running firsttube.com. It’s not perfect, there are some things I’d like to do to it, however, I’m going to declare a “freeze” and package this as Small Axe 0.4.

Now, in truth, this build will have all of the features I had planned for 0.4, 0.5, 0.6 and probably 0.7, but since I haven’t released anything since 0.3, I think I’ll tag it 0.4. Then I’ll try to get to 0.5, a bug fix build, quickly.

0.4 will be another MySQL only build. I will reinstate the flatfile and SQLite support as we approach 1.0.

So let’s aim for a late September 0.4 final build. There’s A LOT of work that will have to go into making this code portable again, so I’m going to take my time.

Thread locking

Although its been present for a long time in the database (and to some extent, in the PHP), I’ve never really gotten around to making “thread locking” work right. Until now.

I wrote the piece on Israel earlier because it was on my mind, not because I wanted to start a debate or turn my blog into an anti-Israel platform. So when I saw the tide turning that way, I locked the thread administratively.

It wasn’t pretty, it just spit out undescribed errors. So I’ve finally gotten around to spiffing up the UI, and it now displays on the front page, as well as the comment page, that the thread is locked. It won’t accept new comments.

I’m also doing a quick audit for additional features needed.

Screenshots

The backend rewrite is nearly complete. The only section left is the Users section, however, since the blog is not really set up security wise for user rights yet, I’m not going to be finishing it for 0.4. I will apply the new backend styles, however.

Anyway, here are some screenshots of the new backend. Click each one to see a larger version:

smallaxe-admin-0.4.jpg smallaxe-new-0.4.jpg

smallaxe-topics-0.4.jpg smallaxe-uploads-0.4.jpg

New Backend, Part II

I have been busy at work, so I haven’t been able to sneak away to really knock this stuff out. The topics manager is now complete, and it’s been AJAXified, but only partly. There are some things that are simply not well suited for AJAX. It’s interesting, because as slick and fast and powerful as it is, javascripting is actually a much more meticulous process than PHP. It’s much less forgiving and the errors are much less descriptive.

I have also removed a lot of the password prompts. Every single admin page load, including the AJAX requests, require your cookie for authentication, and even the cookie is just random data. I’m fairly certain we haven’t sacrificed much in the way of security by only forcing the login once. Even Gmail doesn’t ask for a password with every session.

That said, the backend is now mostly complete. I do need to add one more feature, which is image uploads, a portion sorely lacking. This has been needed for some time, as when I need an image, I need to FTP it up, which is lame. So I will incorporate image uploads shortly, and then break for the wedding and honeymoon. Then I’ll come back and release Small Axe 0.4 and get cooking on the next batch of features!

New Backend

The first parts of the new backend are written and in place! I’m very excited to get rid of some of the legacy code that powered this blog. As I replace the old crufty code, I’m taking out all of the tables, all of the old HTML, many of the CSS classes have been replaced with more powerful styles.

When I get back from the honeymoon, I’ll be packaging a new release of Small Axe, which will be, by far, the best one so far.

Enhancements, enhancements.

At some point, after the honeymoon, I’m going to take a nice, stable snapshot of firsttube.com and turn it into the next release of Small Axe. I’ve added several new features in the last few days. Last night I fixed the related stories to be a config switch, as detailed here. As you may have noticed, I redid the entire stylesheet for the site too.

Today I added a new AJAX backend for the admin section and you can now edit topics via AJAX. If this is Small Axe 0.4, 0.5 will have to have a backend rewrite. It’s just ancient. There are several things that need to be fixed to prevent future bugs.

I also changed the RSS feed to obey the “related” switch. If you’re set up to use tags instead of topics as your related basis, then the RSS feed will display the first tag instead of the topic as the “category.” So all posts in my RSS feed as now going to be using tags instead of topics. I don’t know what I will do about topics in Small Axe or on firsttube.com right now. On smallaxesolutions.com, the topics mean something. Here, they are completely random. So, for now, not entirely sure. Read on for more.
Continue reading

Related posts.

Small Axe (at least, the firsttube.com build) has had “related posts” displayed on each entry’s page for some time. However, since the “topics” I use are all random and unrelated to the post, the related posts weren’t… uh… related.

So, I added a new configuration option. Now you can choose in the backend whether or not you want related posts to be “related” by topic or by tag. By toggling the option, suddenly, related posts were — get this — actually related! This is entertaining the hell out of me, and because of that, I will be forced to tag THIS post “Nerd.” Sigh.

And, scene!

I just finished adding tags to ALL of my previous posts, which is over 200. I LOVE tags. I love that they are so dynamic. No need to add new categories, just add a tag, and — poof! — it’s live. This goes double for me, since my topics/categories are always completely random.