Active Community: 2010 Search Recap

March 12, 2010

image link is broken

Happy Friday everyone and welcome to our next installment of the Active Community! Today, we’re going to be wrapping up our discussion on search objectives by presenting you a list of takeaways from the previous 5 episodes. If you missed any of these presentations, please go back and watch them for some useful information in terms of search engine optimization. Search is such a relevant topic right now and it’s really important to understand how to utilize this knowledge to increase traffic to your site. For more information, watch the video below on our recap of 2010 search objectives.

(more…)

Active Community: How to Write an Effective Blog

March 5, 2010

image link is broken

Finished! You’ve just completed another cleverly written, mind-blowing masterpiece for your blog and you’re getting ready to post it. You click the “Publish” button and sit there waiting for the first comment to be made. 15 minutes pass – why hasn’t anyone said anything yet? Hours were spent creating this amazing blog and now your palms are beginning to sweat as self doubt starts to take over. Maybe the blog wasn’t as good as you thought. If only there was a way to know if your blog was effective!

(more…)

Blogging is Like a First Date

image link is broken

Just like dating, there are rules we must follow when blogging in order to establish the foundation for a solid relationship. At Active Website, we work with Active Enterprise Network Members to ensure they’re getting the most out of their blogging experience. Most people go on a first date with certain expectations – the same is true for blog readers. By focusing on a few simple rules, Network Members can reach their followers in a way that will fill the needs of both parties – hopefully creating a lasting union. This post focuses on guidelines to follow when blogging as they relate to dating. For more information on how to write an effective blog, check out this week’s Active Community video presentation as well.

(more…)

Keyword Match Types

February 25, 2010

image link is broken

There are several ways you can make use of keywords in content outside the well-known direct match that is most common. As search engine algorithms evolved over the last decade, a stronger understanding of semantics and context has emerged.

For example, the early algorithms understood that a dog and a puppy were related and loosely synonymous. Additionally, the understanding was that the adjective boiling was related to heat. However, early implementations of search algorithms would return word association errors that resulted in the understanding that ‘hot dog’ was loosely related to the phrase ‘boiling puppy.’

(more…)

Overcoming Personalized Search Rank Tracking

February 19, 2010

image link is broken

To upgrade our systems for the current personalized search systems and the future changes that are sure to come in 2010, we have developed a Python-based monitoring system that uses the APIs and AJAX request system in place at Google, Yahoo and Bing.

The values being pulled are what we consider the baseline rank before regional and personalized value is applied to the results (which is what you and your clients see when using the web frontend to the search engines in question).

For Python developers:

This was developed using Python 2.4, but the imported packages should apply seamlessly to 2.4 or greater. Please leave notes and ideas below so we can modify this and get a better system for everyone.

import re
import sys
import pprint
import urllib, urllib2
import simplejson as json

class RankChecker:

    def __init__(self, keyword, domain):
        self.keyword = keyword
        self.RE_OBJ = re.compile(domain)

        self.YAHOO_APP_CODE = 'YOUR CODE'
        self.BING_APP_CODE = 'YOUR CODE'

    def __googleFlag__(self):
        self.URL_PREPEND = 'http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q='
        self.URL_APPEND = ''
        self.ITER_NAME = 'start'
        self.ADDED_PARAMS = ['&safe=off','&rsz=large']
        self.ITER_FUNC = lambda x: x * 8
        self.LOOP_POINT = lambda x: x['responseData']['results']
        self.RESULT_NODE = 'url'

    def __yahooFlag__(self):
        self.URL_PREPEND = 'http://boss.yahooapis.com/ysearch/web/v1/'
        self.URL_APPEND = '?appid=' + urllib.quote(self.YAHOO_APP_CODE) + '&format=json'
        self.ITER_NAME = 'start'
        self.ADDED_PARAMS = ['&count=10']
        self.ITER_FUNC = lambda x: x * 10 + 1
        self.LOOP_POINT = lambda x: x['ysearchresponse']['resultset_web']
        self.RESULT_NODE = 'url'

    def __bingFlag__(self):
        self.URL_PREPEND = 'http://api.search.live.net/json.aspx?Appid=' + urllib.quote(self.BING_APP_CODE) + '&Sources=Web&query='
        self.URL_APPEND = ''
        self.ITER_NAME = 'Web.Offset'
        self.ADDED_PARAMS = ['&Web.Count=10']
        self.ITER_FUNC = lambda x: x * 10
        self.LOOP_POINT = lambda x: x['SearchResponse']['Web']['Results']
        self.RESULT_NODE = 'Url'

    def __retrieveLookup__(self, params):
        f = urllib2.urlopen(self.URL_PREPEND + urllib.quote(str(self.keyword)) + self.URL_APPEND + params)
        ret = self.LOOP_POINT(json.load(f))
        return ret

    def __findRank__(self):
        return [[idx + 1, i] for idx, i in enumerate(self.LOOKUP_STACK) if self.RE_OBJ.search(i)]

    def runLookup(self, flag):
        self.LOOKUP_STACK = list()
        if flag == 'y':
            self.__yahooFlag__()
        elif flag == 'g':
            self.__googleFlag__()
        elif flag == 'b':
            self.__bingFlag__()
        for i in range(0, 5):
            self.LOOKUP_STACK.extend([i[self.RESULT_NODE] for i in self.__retrieveLookup__('&' + self.ITER_NAME + '=' + str(self.ITER_FUNC(i)) + str().join(self.ADDED_PARAMS)) if i[self.RESULT_NODE]])
        return self.__findRank__()

if __name__ == '__main__':

    rankObj = RankChecker(sys.argv[1], sys.argv[2])
    print '\r\nGoogle:'
    pprint.pprint(rankObj.runLookup('g'))
    print '\r\nYahoo:'
    pprint.pprint(rankObj.runLookup('y'))
    print '\r\nBing:'
    pprint.pprint(rankObj.runLookup('b'))

 

©2010 Activewebsite. All Rights Reserved.