Search Engine Optimization (SEO) Secrets On My Blog – Advertising Also

Just a hour ago, I got an interesting question via the contacts page in this blog, about search engine optimization, and I wanted to share the answer with you…

The question is:

I’m a software engineer and SE Optimizer. I’m currently assigned a project that needs general information of the mini sites and blogs regarding their SEO strategy and daily revenue. I read your blog a lot in my .net related problems and thought of finding the details about your blog.
I found out that there are daily ~900 page views of your blog and your page rank is 3.

Mohamed what I wanna know is that whether you have employed any SEO strategy on your blog or this is just the good will traffic that comes to view your blog.

Also what is the daily ads revenue of your blog and what kinda ads you have deployed on your blog.

Although my Google Analytics statistics tell me slightly better results than mentioned in this message,, this is an interesting question I’d love an answer indeed. Scott Hanselman taught us though it’s better to reply to those in public and share the benefit with everyone, let’s see:…


In fact, I do not have special SEO strategy. but here are some highlights:



I used to have a blog at GeeksWithBlogs.NET (in 2005), a high rank .NET blog host, then moved to (2008), which is sub domain of the official ASP.NET site, I made sure the new blog URL shows in the title and description of the old blog., and re-posted the items that seemed to have high referrals from search engines.

When I moved to my own domain, GuruStop.NET (Feb. 2010), I imported all previous posts to it and wanted each post in the domain to redirect to the corresponding post in GuruStop.NET.


I created an ASP.NET redirector page on my new hosting that uses permanent redirection to a post based on post title part of the URL (slug) and date parts also. The redirector used to depend on referrer URL and if not present then on query strings.

To point to the redirector ASP.NET page from the old blogs,  I used a combination of HTML meta refresh redirections (which didn’t seem to work well with referrers) and JavaScript redirection as well.Yes, it’s true that search engines will not realize the JS redirection, but people getting search engine results in old blogs will be visiting the new posts, and this is sure one-way-or-another will improve the page rank.


Cross Posting

In my previous blog move, I used cross-posting to keep links coming to my blog. One drawback of this is so many duplicate posts coming up in search engines. For a new domain like GuruStop.NET, I could not do that as it could also harm the page rank of the domain.


Avoiding cross posting is one of many Scott Hanselman tips for bloggers. Those are VERY valuable when I started this blog.


Post Link Sharing and Social Bookmarking

On the other hand, mentioning older blog posts in newer ones, and even in my public sessions/presentations and/or private emails (when relevant to the context of the email not as spamming) to mailing lists and/or friends, as well as announcing new posts on my twitter and facebook accounts, has shown a pretty interesting effect in getting more people (and high rank people) to notice some of my posts. One example off my head for getting high rank readers is my post about choosing an ORM.


Sharing links on social bookmarking sites, either general like Digg or .NET specific like SotNetKicks or DotNetShoutOut seemed to help, but not sure to what extent. I’ don’t always do it anyway.


One note about sharing buttons (like “Digg this post”, “Tweet It”, ….) either in the post itself or in RSS feeds, those did not seem to get used at all! Some people liked a few posts enough to submit them to social sites, but almost none used the sharing buttons to do so.

One other thing that didn’t seem to be very useful is announcing new posts in general developers lists, at least talking about Egyptian ones.


Topics, Keywords, Titles, URLs (Permalinks), …

I tend to believe that correct titles, as well as choosing rare topics when possible to write about (one reason behind low rate of posting), are the main reasons behind the fact that most of my audience usually come from search engines!


URLs / Permalinks

Of course, like most blogs, I use pretty URLs / Friendly URLs / Pretty Permalinks for all my blog posts, category(ies), tags, etc.. I cared about getting extension-less URLs also, although I don’t believe this was a difference. I use the standard /blog/year/month/day/slug/ style for all posts.

Pretty standard, ha? I considered omitting parts of the date like day or omitting it all, but thought, when I go to any blog, I usually look at the URL of any post I read in a new blog to tell it’s date. It’s much easier for me than looking at the page however clear the post date shown in it is. I didn’t want my readers to miss this “feature”.


Titles / Keywords / Tags

Typically, I depend on making good post titles (My blog engine automatically converts the title to URL part (slug) as well). The title is always full of the relevant keywords to the topic.

When the same topic can in expressed in 2 ways or more, I make sure to mention all of them. I use the most common one in title, then the less common one in the first paragraph of the post, and if there are more, make sure to mention them either in brackets or  in following paragraphs.


I also make sure to include as many related keywords (tags) in all my posts. Yes, the tag menu on the right of this blog is maybe not the friendlier (yet still usable), but I it’s hardly used to navigate the website anyway. Not sure if this is affecting in any way though. I tried Technorati tags widgets before as well (from those built-in Windows Live Writer), but those were completely the same either included or not.



Whenever possible, I try to avoid writing except rare topics, where I really have something different than written before. This makes  the one who has similar need to the one I wrote about find my post easier. I do not try to go in the race of the repeats and duplicates whenever possible, at least in post titles.

This is sure easier when there are many new technologies coming, or when working in rare field with flexible time for writing. however, sometimes I just remain lazy unaware of the things I have in my freelance or day work code that can be worth sharing here. It’s a double-edge weapon indeed!


My Name IS A Trademark – The Blog Name Also Is

One important keyword is my own name! I have chosen to give the blog its own trademark “GuruStop” and stick to that, but it is still important that if someone looks “GuruStop” or “Mohamed Meligy” up in Google s/he’d find this blog showing up.

For GuruStop I dedicate the blog domain as well as the blog title. For my name, I make sure to put it first thing in the sub title, and put it different areas here and there. Currently I need to manage my SEO plug-ins to have better control over the meta description for just that.


The Automatic Stuff, SEO-Related Plugins

This blog uses WordPress as a blog engine. I have made that decision after reviewing so many .NET blog engines and being not-satisfied-enough about them all. One good benefit of the long age and popularity of WordPress is the huge amount of plug-ins available for it. I take advantage of that.

Some of the plug-ins I use include: “All in One SEO Pack”, “All In One SEO Pack Windows Live Writer Bridge”, “Core Tweaks WordPress Setup”,  “MetaWeblog API Client”, “pageMash”, “Post Layout”, “search engine related posts”, “Top Level Categories”, “Yet Another Related Posts Plugin”, “SEO Automatic > Core Tweaks”


Of course I keep an eye on my blog usage from time to time using Google analytics, etc…


Ads / Advertisements

I solely use as an advertisement platform on this blog. Reason is: They’re focused on .NET community, so, they probably have higher possibility of providing value to my readers just like my own posts (They run the ads on big sites like CodePlex and other big names. I had to show them some Google Analytics statistics to get accepted!).. If the ads serve the marketer only not the reader, they’re no more than a piss-off to my readers.

Currently I only get $8 to $13 per month. This is hardly the hosting cost of this weblog.  I haven’t yet pulled that from PayPal since the total is still below $50. Watching my ads statistics, it was very natural to realize that the more I write new posts in a month, the more ad revenue I get.


Before I went for that, I used Google Ads, images only. A friend told me text ads are way better but I thought the audience of the blog (mostly developers) must have become ad-blind against the well-known pattern of Google text ads. I couldn’t evaluate the whole experience well by then anyway, so, I moved away.


One thing to note about ads is how they’re placed in this blog. You’ll notice there is only one ad per page, and the ad location of the homepage is different from post details page. This is on purpose (and got me some JS workarounds to get working right).


Room for Improvement…

I have to admit that I’m missing much in this blog SEO area though (and ads). I could have done much more:

  • Modify meta keywords manually for each post
  • Use a custom URL slug with only SEO keywords not entire post title (which may have a lot of “a”, “in”, “for”, “the”, “I”, …. )
  • Add even more ads!
  • Write more posts!! (I know I know, lazy me)
  • Do some effort on sharing my posts in .NET social bookmarking sites
  • I used the “Blog” category for all posts just in case I use the domain later for more stuff. Maybe I better give up this never-coming planning and / or use sub categories in addition to tags (but less fewer).
  • Probably I should market my other methods of contact as well. Should put my twitter ID in clearer area of the blog theme for example, etc…
  • Another Reminder: More posts are needed, “Content is the king”.
  • … and sure there is more!


    Your Experienced Suggestions…?

    If you are reading this and you do have a blog or some experience in SEO, it’ll be great to put it in the comments for the readers, and/or post it to your blog and link it in the comment.

    Such calls for actions have been pretty successful in previous posts, hope this one is different Winking smile

  • Cross post from ASP.NET Weblogs (Community Server) to GeeksWithBlogs (SubTEXT)

    I’m new to ASP.NET Weblogs. Thanks to Joe Stagner of course who setup my weblog account and whom I have thrown tons of questions at (Poor Joe. All day answering my messages!). I’m also an old member of GeeksWithBlogs (since January 2005) and cannot just slip away like that! So I considered cross posting, as  a permanent procedure, not temp. one.

    To do cross posting from a Community Server weblog like ASP.NET weblogs to any blog that supports MetaWeblog APIs like SubTEXT (which GeeksWithBlogs.NET uses), the steps are really easy:

    1. You login to your community server blog control panel
    2. You expand "Global Settings" from the left menu and click "Spam, Ping and Cross-Posting"
    3. You click "Setup a new blog" and enter your MetaWeblog API enabled blog

      You can see my settings in this screenshot:
      Untitled picture