Just a quick plug for RegexDesigner.NET (GDNWS) written by Chris Sells. A while back I was contacted by my buddy Eric who wanted me to help his company out with a little app. One of the services Eric's company provides is search engine optimization (SEO). The steps they go through with their clients during the SEO process goes something like this:
1) The client provides a set of keywords they would like their website to match
2) The keywords are evaluated to determine if they are a good canidate for optimization. If a keyword returns a bazillion matches on Google its probably not a good canidate, however, if a modest number of matches are returned it may be.
3) The good canidate keywords are presented to the client for approval
4) The site body copy is modified to allow it to better match the keywords
5) The clients website begins coming up in the results for the keywords that the site was optimized for.
The application that I developed helps automate some of step 2. The app uses the HttpWebRequest and HttpWebResponse classes to retrieve an html representation of search result pages from a select search engine. The pages are then parsed using regular expressions to find out how many pages match each search term. An additional request is made to another well known search engine to find keywords related to the keyword. Each related keyword is then run through the process and the number of matching pages for each of them is retrieved. When all is said and done the application spits out a report showing each keyword (along with any related keywords found) with the total number of matches from a couple of search engines. The report is then analyzed to find the keywords that the clients site should be optimized for.
As you may have already guessed the problem with the application is that as soon as the html for a search engine is changed the regular expressions to retrieve the total matches no longer works. Needless to say that just recently happened so I had to go in and figure out the problem. To make a long story short I searched for a good 1/2 hour and wasn't really making much progress. I was altering my regular expressions, rebuilding, stepping through the code, only to find out I still didn't have the correct regular expression. All the sudden I stopped and thought there had to be a better way to test the regular expressions....and the answer was Chris Sells RegexDesigner.NET. In a matter of minutes I had the app installed and was quickly trying different combinations of regular expressions. The app saved me a trememdous amount of time and has earned itself a permanent spot on my must have tool list! Thanks for the excellent application Mr. Sells!