admin on December 8th, 2009

SEO Keyword Dashboard update is released. You can download it by clicking on this link.

To run this package simply:

1) unzip the files to: c:\xampp

2) start Apache by clicking on c:\xampp\apache_start.bat

3) browse to http://localhost:10000/index.html

P.S. I will be incorporating rest of the (SEO Warrior) scripts into XAMPP to make it easier to setup and run.

Please note that I am using XAMPP Windows version.

That’s it!
John

Post to Twitter

Tags: , ,

admin on December 7th, 2009

Let’s say that you install a new website and have done some basic search engine optimization (SEO) on it. It is not uncommon for it to appear at the top of a search engine results page (SERP) rather quickly—especially if the keyword phrase targeted by the site’s content has little competition. However, you cannot breathe a sigh of relief and forget about checking it in the future. More than likely, in a very short time, it will drop in its ranking due to what is known as a ranking fluctuation. There is no doubt that ranking fluctuations must be dealt with because the ultimate goal of any webmaster is to have his or her site stay towards the top of a SERP consistently. So how does the webmaster or SEO professional live with ranking fluctuations and why do they occur. Let’s examine this further.

There are many factors affecting the overall ranking of a page. Of the various search engines, it is debatable that there is any individual who understands their ranking algorithms in full detail. These algorithms are extremely complex and changing constantly. A person could be considered an expert in ranking algorithms today and tomorrow have outdated knowledge because of changes in them.

Web pages are always being added to the internet. Your web page may rank at the top today for a particular keyword but pages from other domains will soon be added that compete with it. This reality creates more competition in the keyword therefore the search engines will weigh other factors (whatever they are). If your website is not strong in the other factors then it could get pushed down on the SERP. 

Major search engines have information about websites spread throughout more than one database. And, you can be certain that those databases are not perfectly synchronized. Your website might rank at the top for a geographical region serviced by one search engine database but another database in a different region might have slightly different information thus causing a ranking a fluctuation.

You could see a temporary drop in search engine ranking after making improvements to your website. Many are surprised to find their rankings quickly drop after making what they thought were changes to better the SEO of their website. The improvements might be totally valid but the search engine needs to evaluate them. Also consider that while a change might be positive, a ranking algorithm might view it as a negative factor, unawares to the webmaster. The risk of this happening is high because no one really understands everything about any given ranking algorithm.

One quick way to deal with a ranking fluctuation is to look at what your competitors are doing. See if you can determine why you were pushed down based on the recent marketing initiatives they have initiated. It could be that their content is targeted towards its keywords better. Look at your competitors’ inbound links. It could be that their links originate from websites that are more relevant to their niche.

Never use black-hat SEO techniques to gain an unfair advantage. This is the best way to quickly make your website drop in rankings. Since search engines change all the time, what might have been an acceptable SEO technique yesterday may be unacceptable today. In other words, if the SEO methodology you use borders the black-hat realm, don’t do it. Before you try anything on your website, take a look at forums and see if someone else has done the same thing successfully in the past.

Make changes slowly. Don’t implement several SEO improvements to your website at the same time if you can avoid it. It is better to be patient and evaluate the impact an individual change has on your site’s SEO. This way, if you detect a change has caused a drop in rankings you can easily reverse it and try a different approach.

Post to Twitter

Tags: , ,

admin on December 6th, 2009

Please use this article thread when sending any questions. All scripts in the Appendix A are examples and you are encouraged to study and modify them according to your requirements (if you are a developer). Please use care when quering search engines.

Most of the source scripts are in Perl. Please ensure that you have installed all of the required Perl modules before running any scripts.  Some of the scripts also use wget.exe (for simplicity). As websites and internet services constantly change, some parts of the scripts may need to be adjusted from time to time. I will be releasing the next script updates according to the following schedule:

January 15th, 2010
(will include Bing related changes)

March 15th, 2010
(will include any bug fixes etc..)

You can always find the latest scripts (source code) at http://book.seowarrior.net

Thank you!
John

Post to Twitter

Tags: , ,

admin on December 5th, 2009

Here is a chapter that was cut from the final version of the book.  To retrieve it open your SEO Warrior book and enter the following username and a password:

The username is: warrior

The password is in lower case and is the first name of my fallen friend and real-life warrior (Hint: Read the Acknowledgements section)

Once you get the password you can download the chapter using the following link: SEO Warrior – Unpublished Chapter

John

Post to Twitter

Tags: , ,

admin on December 3rd, 2009

Bing is one of the newest major search engines to appear in the web arena. It is Microsoft’s search engine and follows its predecessor that was known as Live Search. Live Search did not realize the success it had hoped for thus Bing became the replacement. At first glance, most think that Bing is just another equivalent substitute for Google except with a colorful, randomly displayed background image but this is not entirely true. Bing is looking to compete with Google with the goal of becoming the default choice in search engines among web users. There are differences between the two.

The core of Google is its specialization and years of experience. These two core competencies undoubtedly keep Google at the top of the major search engine list. Microsoft’s mission is divided between software and search engines while Google is only about the latter. Therefore, it would not be surprising if search results appear in Google that do not in Bing because of Google’s extensive index database network built over many years. But it is only a matter of time before Bing’s index becomes just as populated as Google’s.

Bing has an advantage with its site text preview feature. When the Bing search engine results page (SERP) becomes populated, you can hover on any center-page link and additional text will be displayed to the right of it. This can be quite useful when you want to get more details as to the context of a site before actually breaking out to it.

Another handy advantage of Bing is its capability of categorizing related searches. The related searches are conveniently located along the left-hand side of the SERP. The category names are intuitive and give definitive names to what you will find when you click them.

It’s difficult to say which is better-equipped for handling natural language searches. Both Bing and Google can handle these types of searches. For example, you can type a natural language search query such as “What is a black hole?” and both will return SERPs with links to websites that may answer your question. But Bing seems a little more helpful with its related search links along the left-hand side of the page making it well-adapted for research.

Bing is also handy for video searches with its preview feature. How many times have you tried to search for a video and spent an excessive amount of time having to visit each site from the Google video thumbnail listing? If you have a slower internet connection, the task can be even more daunting. With Bing, all you have to do is go to the video search page and hover your mouse over the thumbnails. Hovering will give you a preview of the video and allow you to make the decision to go to the website or not. This is a real timesaver.

Optimization with Bing is different than with Google. However, the exact differences are speculative at best. This is because Bing’s ranking algorithm is reported to be more of a mystery than Google’s. It is also reported that Bing’s ranking algorithm is totally automated with no aspects of human intervention. Webmasters have done extensive side-by-side comparisons of Bing and Google search results and have noted that it appears that Bing places a greater emphasis on the age of a website. It is thought that a new website might have a more difficult time getting ranked because of this age consideration.

Bing is making rapid advances in market share. In 2009, the search engine giant Yahoo and Microsoft have joined their search engine resources in order to create formidable competition with Google. This partnership also results in the acquisition of a 10-year license by Yahoo! for the use of Microsoft’s search technology. The bottom line is that Bing is expected to be even more significant in the search engine market.

Post to Twitter

Tags: , ,

admin on November 28th, 2009

The paperback version of SEO Warrior is released. It should be in bookstores by the time you read this text or very shortly.  I would like to take this opportunity to thank many of you for providing me with the helpful tips for the RC (rough cuts) edition.  I also want to thank the publisher (O’Reilly Media) for giving me the opportunity to write SEO Warrior. Also a big thank you goes out to the editor as well as to the production team.

I will be adding more material in the coming days and weeks. Stay tuned.

Sincerely,
John I. Jerkovic

Post to Twitter

Tags: , , ,

admin on June 16th, 2009

Social networking automation can be helpful. What if you wanted to schedule your Tweets? If you are implementing a strategy for Twitter, instead of worrying about the steady flow of your tweets, you can create a simple application to send pre-recorded (scheduled) tweets. Imagine a simple application as described in the use case diagram below:
 


Creating the Database

We can use PHP and MySQL to create a simple Twitter scheduler application to send your tweets. To create the application we will use the single database table (queue) to store your tweets. Here is how the ‘queue’ table will look like when created in MySQL:

+———+——–+——+—–+———+—————-+
| Field   | Type   | Null | Key | Default | Extra          |
+———+——–+——+—–+———+—————-+
| id      | int(6) | NO   | PRI | NULL    | auto_increment |
| message | text   | NO   |     | NULL    |                |
| status  | int(1) | NO   |     | 0       |                |
+———+——–+——+—–+———+—————-+

The queue table will contain only the three fields ‘id’, ‘message’, and the ‘status’ field. The ‘id’ (integer) field auto-increments by default. The ‘message’ (text) field contains your tweets. The ‘status’ (integer) field indicates whether or not the tweet was sent. The status value of 0 indicates tweet ‘not sent’ condition. The status value of 1 indicates ‘tweet sent’ condition. The following fragment is the SQL fragment required to create the ‘queue’ table:

CREATE TABLE `mytest`.`queue` (
`id` INT( 6 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`message` TEXT NOT NULL ,
`status` INT( 1 ) NOT NULL DEFAULT ‘0’
) ENGINE = MYISAM ;

With the database out of the way, we can create a simple HTML/PHP interface.

Building the Interface

All we need for our interface is a simple HTML form that submits (future) tweets to our MySQL database. It would also be nice to have a visible list of (future) tweets already stored in the database. Last and not the least, there should be a way to delete unwanted tweets. The following Figure shows the index.php when rendered in a web browser.

As you can see in the preceding figure, the index page is relatively simple. There is a database query that is always called (to show stored tweets) just below the new (tweet entry) form. 

When you click on the ‘Add Future Tweet’ button, the form submits the new tweet to database returning you back to the same screen as your newly added tweet appears on the top of the (‘My Future Tweets’) list.

Sending the Tweets

We can send Twitter updates using the Twitter API. We can use PHP and curl to send our tweet using the http://twitter.com/statuses/update.xml link. The following code fragment (sendTweet.php) is used to send a single tweet.

<?php

include(“config.php”);
mysql_connect(localhost,$username,$password);
@@mysql_select_db($database) or die( “Unable to select my database”);

### get the tweet
$result = mysql_query(“select id, message from queue where status=0 order by id asc LIMIT 1”);
$row = mysql_fetch_array($result);

### send the tweet
$curl_handle = curl_init();
curl_setopt($curl_handle, CURLOPT_URL, “$tURL”);
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl_handle, CURLOPT_POST, 1);
$message = $row[‘message’];
curl_setopt($curl_handle, CURLOPT_POSTFIELDS, “status=$message”);
curl_setopt($curl_handle, CURLOPT_USERPWD, “$tusrid:$tpasswd”);
$response = curl_exec($curl_handle);
curl_close($curl_handle);

// get the status message
if (empty($response)) {
   echo ‘tweet not delivered’;
} else {
   echo ‘tweet delivered’;
   ###update db status
   $mid = $row[‘id’];
   mysql_query(“UPDATE queue SET status = 1 WHERE id = $mid”);
}
mysql_close();
?>

We use a POST request coupled with the user credentials necessary to handle the basic authentication used at http://twitter.com/statuses/update.xml. Note that this link is stored in an external configuration file and is referenced by $tURL variable.
Scheduling Your Tweets

The web part of the application does not submit the tweet(s). We leave that to a scheduled job. Now we come to the part that actually initiates the tweet uploads. On a Linux flavored environment you can use crontab to create your schedule.

Let’s suppose that you want to send 5 tweets per day at 7am, 9am, 11am, 1pm and 3pm. Executing crontab –e to edit your crontab list, enter the following:

# Tweet 5 times a day at 7am, 9am, 11am, 1pm and 3pm
* 8,10,12,14,16 * * * php sendTweet.php

Note that you can also send tweets manually by using the same command (php sendTweet.php). in your shell window.

Extending Your Application

The application we have built can be extended to do many more things. You can add custom authentication, the workflow approval process, RSS integration, etc.

Click here to Download the entire Twitter Scheduler Code.

Enjoy!

Post to Twitter

Tags: , , , ,

admin on June 3rd, 2009

The Bing buzz is everywhere. There are currently over 3200 articles on news.google.com. The question on everyone’s mind is how Google will respond? Matt Cutts has already voiced some opinions about Bing.

It may be too early to tell what will unfold. The question on minds of many is: will the public start to do more ‘binging’ as opposed to ‘googling’? The last time I checked Google had 63.7% of the US (SE) market share, followed by Yahoo! at 25% and Live at 8% (according to comScore.com).

Bing looks a lot like Live with some bells and whistles added. It does look like a more polished product but I can not help to notice the similarities especially with the annoying background images. One thing is for sure, any automated scripts that worked on Live no longer work on Bing!

It will take some time before the aftermath of Bing’s introduction is known. I just hope that Google does not start changing their SERPs just because Live (I mean Bing) did it. In any case, competition is something to be desired as we the web users will benefit the most.

Happy Binging!

Post to Twitter

Tags: ,

admin on May 12th, 2009

If search engines were just set up for searching, they would not be able to sustain themselves for long without any profit and income sources. Those bread and butter profit and income sources come from advertising. In order to make a venue desirable for advertisers, it must promise exposure to as many people as possible. So, how did Google get so many interested? It was through its AdSense program where anyone can join in on the profit sharing. So Google uses a combination of maximum exposure, access, and revenue sharing to generate profit and income for everyone as long as they comply with their terms of service. Let’s take a look at more aspects of using the Google search engine to generate profit and income:

The Google AdSense program is probably most used for profit and income. The program is very popular and easy to implement. What most do is build a website full of content on some specialty niche like getting out of debt, losing weight, and quitting smoking to name a few. They fill the website with articles on the niche topic. They apply for an AdSense account and when it gets approved, they place the HTML code provided by Google on their content pages to begin displaying the Google-generated ads. Then, the website owner draws in the traffic using other methods like posting articles with backlinks to the website in article directories, link exchanges, or signature blocks on forums. The hope is that visitors will come to the website, click on the Google ads and the website owner with the AdSense account will get a commission on those clicks.

Google AdSense is being exploited by many. Because of the availability of software to generate numerous content pages quickly, made-for-AdSense websites are popping up all over the place. When you visit a made-for-Adsense website, you will immediately see that it provides nothing really useful and is only intended to fool the search engine. Sometimes, the content on the site is even copied from other sites (forbidden by search engines).

Don’t create a website only for the purpose of Google AdSense profit and income. If the only thing you do is put up a web page with some poor content and it looks like it was only for AdSense, you could get banned from the program. Remember that the Google search engine has an image to keep and in many ways when you join their AdSense program, you are partnering and representing them. Any website you build should be one where you are offering something of value to the end user be it information, e-books, software, or other products.

Watch out for the many scam programs. Want to get your AdSense account banned by the search engine? Get involved in one of these “get rich with AdSense” scam programs. These scam methods not only generate profit and income unethically, they also clutter the internet with useless content pages and harm the overall image and credibility of the World Wide Web. Search engine profit and income scams typically take on the form of selling you an e-book of the secrets to search engine profitability. In actuality, how to make profit and income on search engines is no secret at all and there is plenty of free information on the internet plus Google explains the process.

Post to Twitter

Tags: ,

admin on April 22nd, 2009

Organic SEO implies ethical SEO with natural website growth. But, make no mistake; there is nothing natural about organic SEO. It is the systematic approach tailored to attain better site SE rankings. These are the same goals of unethical SEO practices. The difference is that SEs look bad when unethical SEOs succeed. Without relevant results SEs would be useless.

The first step of any organic SEO is research. Understanding the business, the unique value proposition as well as its long term SEO goals are the foundations of the organic approach. Organic SEO is about building content-rich sites, researching keywords, taking no sneaky shortcuts along the way, building (intelligent) easily crawled navigation structures and the accumulation of ‘natural’ inbound links.

Organic SEO is about long term sustained growth. It does not seek instant benefits at the expense of the long term goals. These practices promote natural development of websites with focus on good content. If necessary, organic SEO can be augmented by Pay-Per-Click, PPC, campaigns. Often times, PPC is used as a test tool to forecast the results of SEO.

Organic SEO does not have any upfront costs. It does take time to implement and its effects do not happen over night (nor is it a one time thing). It can never stand still nor is it ever done. It is constantly refined and cultivated. Ideally, it begins before the site is ever created. Similarly, it ends after the site is decommissioned.

Post to Twitter

Tags: ,