Thursday, August 20, 2009

Total links for Link page

Link building plays a great role in page ranking of the sites. I know you are thinking of how ? Well, for determining the page value, search engines will counts your outbound links, inbound links and reciprocal link.

However, from my experience in BreezeGo India, I do a lot of research on selecting links for our clients. I pay attention to all types of links. Most of the search engines will give more attention to the sites having 100 links within in a page. Here I (explain to you a clear picture about 100 links in a page) clearing out for you about the 100 links in a page. I will do this with an example.
Stepping to the example www.breezegoindia.com
Count the links in the homepage. I think you got 27 links from the homepage, right? Below I have spotted the links in red circle.

So this will make it easy for search engines while crawling try to link within 50 links for accurate crawling.
What we have to care most in the link page of a site is the total count of links in that page Adding more links means the count of links increases. So keep an eye on the total links in the link page. Here I am showing another example of link page. Getting to www.breezegoindia.com/Links.aspx which is www.breezegoindia.com
‘s link page. Again count total links in www.breezegoindia.com/Links.aspx . As you can see 38 links (this will be changing by adding links) I have marked the links in red circle for your reference.

Here I recommend limiting the total links to 75 so it will be more effective for us and link partners, for crawling. If its more than 75 links try to make another link page and the navigating link of new link page should be shown in the homepage, as you know search spiders don’t like hidden pages.

Overall just keep your eyes to the total links in each and every page of your site.

If you like my post please add your comments and suggestions over here.

Tuesday, July 28, 2009

Internet Explorer Security Issue Warning

Microsoft Corp. has taken the rare step of warning about a serious computer security vulnerability it hasn’t fixed yet.

The vulnerability disclosed Monday affects Internet Explorer users whose computers run the Windows XP or Windows Server 2003 operating software.

It can allow hackers to remotely take control of victims’ machines. The victims don’t need to do anything to get infected except visit a Web site that’s been hacked.

Security experts say criminals have been attacking the vulnerability for nearly a week. Thousands of sites have been hacked to serve up malicious software that exploits the vulnerability. People are drawn to these sites by clicking a link in spam e-mail.

The so-called “zero day” vulnerability disclosed by Microsoft affects a part of its software used to play video. The problem arises from the way the software interacts with Internet Explorer, which opens a hole for hackers to tunnel into.

Microsoft urged vulnerable users to disable the problematic part of its software, which can be done from Microsoft’s Web site, while the company works on a “patch” - or software fix - for the problem.

Microsoft rarely departs from its practice of issuing security updates the second Tuesday of each month. When the Redmond, Wash.-based company does issue security reminders at other times, it’s because the vulnerabilities are very serious.

Read More Here and Find A Fix: http://support.microsoft.com/kb/972890#FixItForMe

Social Network Identity Theft

Social Network Username Search & Protection


KnowEm checks the availability of your brand name, user name or vanity URL on 120 popular Social Media websites. This service is a neat Reputation Management Tool that all reputation conscious individuals should consider using.

A lot of people and business are at risk of becoming a victim of internet identity theft. This is where someone can pose as you on social networks and other username based websites like forums. Imagine if someone found “you” on MySpace or a similar social network and started chatting with “you” about private details, only to find out it really was not you. There are many risks when it comes to internet ID theft, most of the time the biggest risk is your online reputation. If someone was posing as you on a social network and started saying all types of damaging things on their account, people will think these are your words.

Protecting your online reputation is very important in today’s WWW.

The service that KnowEm offers lets you see who else is using your username on over 100 popular social networks. They also offer to protect your name by registering accounts on these networks for you.

Another great service is the social network search engine optimized profile creation service that iPorfileMaker.com offers. They create full profiles with your custom content. This service is geared toward reputation repair and includes the identity protection as well.

List Of Free Press Release Sites

Free Press Release Sites


Here is a list of Free Press Release sites I have used with good success. A free press release site is great for SEO and Reputation Management. Enjoy the list and if you have any to share please post a comment and let us all know!

24-7PressRelease.com - Free release distribution

1888PressRelease.com - Free distribution, paid services gets you better placement and eternal archiving.

ClickPress.com - Distributes to sites like Google News and Topix.net.

EcommWire.com - Focuses on ecommerce and requires you include an image, 3 keywords and links.

Express-Press-Release.com - Free Distribution Company with (Purportedly) offices in 12 states.

Free-Press-Release.com - Easy press release distribution for free, more features for paid accounts.

Free-Press-Release-Center.info - Distributes your release, offers a web page with one keyword link to your site. Pro upgrade will give you three links, permanent archiving and more.

I-Newswire.com - Allows for free distribution to sites and search engines, premium membership differs only slightly in adding in graphics.

NewswireToday.com - All the usual free distribution tools, premium service includes logo, product picture and more.

PR.com - Not only will they distribute your press releases, but you can also set up a full company profile.

PR9.net - Ad supported press distribution site.

PR-Inside.com - A European-based free press release distribution site.

PRBuzz.com - Completely free distribution to search engines, news sites, and blogs.

PRCompass.com - Distribute your press release with a free or paid version, others can vote it up.

PRUrgent.com - Not only distributes your release, but teaches you how to write one, and even offers downloadable samples for you to work with.

Press-Base.com - Submit your release for free and get on their front page and the category of your choice.

PressAbout.com - A Free blog formatted PR service.

PressMethod.com - Free press release distribution no matter what, but extra services based on the size of your contribution.

PRLeap.com - Free distribution to search engines, newswires, and RSS feeds. Paying will get you better placement.

PRLog.org - Free distribution to Google News and other search engines.

TheOpenPress.com - Gives free distribution for plain formatted releases, fees for HTML-coded releases.

Enjoy the list and if you have any to share or have something to say please post a comment and let us all know!

Thursday, July 23, 2009

Search Engine Optimization for Dynamic Websites

One of the major issues which have always raised questions among the search engine optimization fraternity is" Search Engine Optimization (SEO) for Dynamic Websites". In this whitepaper, we will show you how to optimize dynamic websites for top search engine rankings. But, first the basics.

What are "Dynamic Websites"?

Dynamic websites are websites whose pages are generated on the fly. Unlike static pages (primarily .htm/.html pages), dynamic pages are generated when an user triggers an action through that particular page. Here is a sample dynamic URL- http://www.bbc.co.uk/cgi-bin/search/results.pl?q=%22dynamic+websites%22&tab=news &go=homepage
As per the above example of www.bbc.co.uk, the dynamic part (i.e. the part) of the URL which changes as per surfer request is the part after the question mark (?)

What are the problems that search engines face in indexing Dynamic URLs?

1. Search engines often consider a dynamic URL as an infinite set of links.

2. Since dynamic URLs find maximum application in online shopping carts, there is a possibility of incorporating a session id to a particular page. As session ids of that particular page change, the search engine spider needs to index an infinite number of copies of the same page, which is a Herculean task for them.

3. Proceeding with the same logic presented in point #2, indexing the same dynamic page might overload the servers of the search engines and therefore prevent the search engines to present with the most relevant information in the fastest possible time.
Here is what Google says about indexing of dynamic websites-
Reasons your site may not be included: Your pages are dynamically generated. We are able to index dynamically generated pages. However, because our web crawler can easily overwhelm and crash sites serving dynamic content, we limit the amount of dynamic pages we index. (Source - http://www.google.com/webmasters/)

What are the options that you have in order to make a search engine spider index your Dynamic URLs?

1. Use of softwares - Exception Digital Enterprise Solutions (http://www.xde.net ) offers a software which can change the dynamic URLs to static ones. Named XQASP, it will remove the "?" in the Query String and replace it with "/", thereby allowing the search engine spiders to index the dynamic content.

Example -
http://www.my-online-store.com/books.asp?id=1190 will change to
http://www.my-online-store.com/books/1190.

The latter being a static URL, it can easily be indexed by the search engine spiders.

2. Use of CGI/Perl scripts - One of the easiest ways to get your dynamic sites indexed by search engines is using CGI/Perl scripts. Path_Info or Script_Name is a variable in a dynamic application that contains the complete URL address (including the query string information). In order to fix this problem, you'll need to write a script that will pull all the information before the query string and set the rest of the information equal to a variable. You can then use this variable in your URL address.

Example - http://www.my-online-store.com/books.asp?id=1190

When you are using CGI/Perl scripts, the query part of the dynamic URL is assigned a variable. So, in the above example "?id=1190" is assigned a variable, say "A". The dynamic URL http://www.my-online-store.com/coolpage.asp?id=1190 will change to http://www.my-online-store.com/books/A through CGI/Perl scripts which can easily be indexed by the search engines.

3. Re-configuring your web servers-

Apache Server - Apache has a rewrite module (mod_rewrite) that enables you to turn URLs containing query strings into URLs that search engines can index. This module however, isn't installed with Apache software by default, so you need to check with your web hosting company for installation.

ColdFusion - You'll need to reconfigure ColdFusion on your server so that the "?" in a query string is replaced with a '/' and pass the value to the URL.

4. Creation of a Static Page linked to an array of dynamic Pages - This approach is very effective, especially if you are the owner of a small online store selling a few products online. Just create a static page linking to all your dynamic pages. Optimize this static page for search engine rankings. Include a link title for all the product categories, place appropriate "alt" tag for the product images along with product description containing highly popular keywords relevant to your business (you can conduct keyword research for your site through http://www.wordtracker.com). Submit this static page along with all the dynamic pages in various search engines, conforming to the search engine submission guidelines.
How Amazon.com, Earth's Biggest Bookstore, coped with the issue of indexing of dynamic URLs?

A search in Google for internet marketing books, yielded a result that takes you directly to the appropriate dynamic page at Amazon - http://www.amazon.com/exec/obidos/ISBN%3D0395683297/103-0475212-8205437.
Since the above URL does not contain any query strings, all search engines can index Amazon.com's products. Amazon.com uses this method to get its product selections indexed by search engines. This is very important for Amazon, because being an online bookstore, it is very natural for them to adopt dynamic URLs yet it was equally important for them to make their dynamic URLs search engine index friendly.

Conclusion
Even a few years back, most of the major search engines did not index dynamic URLs, thereby often preventing top search engine rankings for the online stores. With Google starting to index dynamic URLs a few months ago, the picture is going to change in the coming days. This is more so because Google's numero uno position is currently being threatened by Microsoft's MSN (developing its own search engine) and Yahoo! who recently acquired Overture, the biggest player in the PPC Search Engine industry.

How to Optimize a dynamic website?

This is very crucial as it helps you to get it indexed by the major search engines available. If like many other people you do not know how to optimize your dynamic website, here is a set of instructions that you can use.

1. Use a URL Rewriting Tool or Software

There’re a lot of URL Rewriting Tools and software that you can get through the internet. They can help you to turn your website’s dynamic URL into Static URL. When you change your dynamic URL to a static one, it will be easily indexed by the search engines.

2. Use the Perl or CGI Scripts

One of the easiest ways to optimize your dynamic website for indexing is to use the Perl/CGI scripts is one of the easiest ways to get your dynamic sites indexed by search engines. These scripts pull up all the information before the actual query string. The scripts then proceed to set the rest of the information in a way that it equals a variable.

3. Manage Web Servers

You have to manage certain web servers that are fit enough to turn the URLs with query strings into those URLs that can be indexed by search engines. There is just one problem this module is not a default application it has to be installed with the help of your web hosting company.

4. Link your dynamic pages with a Static Page

You will have to create a static page that you will have to link up to your dynamic Pages. This will be especially helpful to you if you have a small online store. Initially you will have to create a single static page and link it to all the dynamic pages of your website. After that you will have to just optimize this static page to achieve higher search engine rankings.

Using the above mentioned tips you can easily optimize a dynamic website. This way you will be able to achieve the indexing of your dynamic website on some of the major search engines. Soon your website will successfully be ranked among the topmost search results on these major search engines.

Monday, June 8, 2009

An Introduction to FBML

On May 24th, 2007 Facebook released the Facebook platform. This is the complement to their previous API, based around the Facebook Query Language (FQL). Where FQL allows you do create applications from Facebook data, the Facebook platform, via Facebook Markup Langage (FBML), allows you to embed your application in the Facebook. Finally, Facebook has entered the world of widgets.

Lucky for us Facebook actually has a “widget strategy.” MySpace’s “widget strategy” isn’t really a strategy at all; rather, it’s a consequence of the fact that they basically allow people to enter anything they want into their profiles. A “MySpace widget” works just as well on MySpace as it does anywhere else. The Facebook platform, however, gives you access to the jewel of the Facebook universe: the social graph.

On the one hand this means that a Facebook widget really only works on the Facebook (at least until some other website supports FBML). On the other hand this means that you can create much richer applications by exploiting information about your users’ relationships. Since the mini-feed informs your friends whenever you install an application you also get an excellent viral way to spread your application and your brand. But to do that you need to understand FBML.

Your Data as FBML


One of the most important concepts associated with Web 2.0 is the independence of data and presentation. You see this in things like XML/XSLT and HTML/CSS. Let’s say you have a database-backed web application. Most of the time you’re going to be surfacing this data as HTML. You have other options, of course. Maybe your reader wants his data in an RSS feed. The underlying data is the same but the format in which it is presented is different.

For those still in a SAT mindset we get the following analogy: HTML is to a browser as RSS is to a feed reader, and RSS is to a feed reader as FBML is to Facebook. Graphically the relationship is this:



HTML
User <------> Browser <------> Server

RSS
User <------> Feed reader <------> Server

FBML
User <------> Facebook <------> Server



The Nuts and Bolts of FBML



FBML isn’t quite HTML and isn’t quite proprietary. The closest analog I can think of is ColdFusion, ironically the language in which MySpace is written. FBML consists of a subset of HTML (no script tags, for example) and a set of proprietary extensions.

These extensions act like HTML tags and can be divided into two broad classes: markup tags and procedural tags. Markup tags include UI elements and are generally directly translated into HTML. The fb:header tag, for example, produces the HTML for a Facebook-style header.

Other tags like fb:if-can-see have a programmatic component. In this case the content between the tags is rendered only if the current user has permission to do whatever is specified in the tag’s attributed. For example

<fb:if-can-see uid="12345" what="profile">


    You’re allowed to see 12345’s profile, chum!

   

    <fb:else>

        No profile for you!


    </fb:else>

</fb:if-can-see>


This would display “You’re allowed to see my profile, chum!” if the current user could see user 12345’s profile and display “No profile for you!” otherwise.

Some tags are more complicated, like fb:switch. fb:switch evaluates each of the fb: tags inside and returns the first one which does not evaluate to an empty string, e.g.,


<fb:switch>

    <fb:photo pid="12345" />


    <fb:profile-pic uid="54321" />

    <fb:default>You can’t see either the photo or the profile pic</fb:default>  

</fb:switch>


This would display the photo with pid 12345 if it could, otherwise it would try to display the profile picture of user 54321. If neither of these can be displayed (e.g., the privacy settings are such that you’re not allowed to see them) then it will display the content in fb:default.

If you want to play around with FBML without installing and configuring your own application you can use Facebook’s FBML test console.

Integrating With Facebook



FBML itself isn’t so complicated, but integrating your existing application with the Facebook Platform can be a pain, especially since the whole process isn’t very well documented. The first thing you need to do is install the Developer Application, which allows you to manage the applications you create.

Each application has a unique API key which doesn’t ever change. When you create an application you also get a secret which you should never share — it’s the only way the Facebook knows that an application is the application it claims to be.

So, to create a new application go to the Developer application, click on My Applications and then Apply for another key. Here you enter the name of your application. After agreeing to the Terms of Service click submit and you’ll be redirected back to the My Application page. Once there click on “Edit settings” for your new application.

I’ll wait until you get to the “Edit Settings” page. The key part here is to understand the Callback (URL) field. If you enter as the callback URL http://mydomain.com/myapp/ then all requests directed to http://facebook.com/myapp will go to http://mydomain.com/myapp. The callback URL serves as the base URL from which all requests are made. If you ask Facebook for foo.php it will try to fetch the FBML from http://mydomain.com/myapp/foo.php, interpret it, and display the results.

The Library



One could write an application which consists solely of static FBML pages if they wanted, but it would be pretty boring. To aide integration Facebook provides both Java and PHP client libraries. We’ll focus on the PHP5 library.

The client library includes an example application called “Footprints” which is very instructive. The library provides a Facebook object, initialized with your API key and secret, which helps control the flow of the application.

$api_key = ‘YOUR API KEY’;

$secret = ‘YOUR SECRET’;

$facebook = new Facebook($api_key, $secret);


Facebook allows several points of integration and the $facebook object is the glue which allows you to push data to each of those integration points.

An important fact to note is that the Facebook platform contains both push and pull APIs. All user-specific data follows a push model. That is, if you want to publish data on a users profile, send a message, make a request, publish an item on a user’s mini-feed, etc., you must push the request. All other data is fetched from your server by the Facebook when users access URLs like http://apps.facebook.com/myapp/do_something.php.

Here is the procedure by which users install an application, giving that application permission to push data to their profile, mini-feed, etc.


  1. User visits http://apps.facebook.com/myapp/ and Facebook requests http://mydomain.com/myapp/


  2. The application requests the user install the application by invoking $facebook->require_login() if the application plans to push user-specific data.



  3. The user/application go through the authentication process. After the end of the authentication process (presuming the user follows through) the application is given the user’s Facebook uid and a session key via a POST request. These are required to push user-specific data.


  4. The application can now push data to a user’s profile or mini-feed, make application-related requests on their behalf, etc.




The Nuts and Bolts of the Facebook Object


The Facebook object contains all the methods you’ll need to interact with the Facebook platform. After a user has authenticated you’ll probably be interested in the following:



$facebook->redirect($url)

Redirects to the given URL. This is required because the the headers have already been sent by the time the Facebook requests data from your application.

$facebook->require_login() and $facebook->require_add()

Requires the user to login to your application or install it, respectively.

$facebook->get_login_url() and $facebook->get_add_url()

Returns the URL for your application’s login or install page, respectively.

$facebook->api_client->feed_publishStoryToUser($title, $body, …)


Publishes a feed item for the currently authenticated user.

$facebook->api_client->friends_get()

Returns the friends of the currently authenticated user.

$facebook->api_client->friends_getAppUsers()

Returns the friends of the currently authenticated user who also have the application installed.

$facebook->api_client->groups_get($uid=null,$gids=null)

Returns the specified groups (all by default) for the specified user (the current user by default).

$facebook->api_client->profile_setFBML($markup, $uid=null)

Sets the profile box FBML for the specified users (defaults to the current user).




This list is by no means comprehensive, but these are the highlights. There are also functions which deal with photos, notifications, and events. There’s no real documentation for these functions outside of the library source, although there is a one-to-one correspondence with methods in the api_client and the methods listed in the sidebar of the developer documentation. This is definitely the least document part of the Facebook platform.

AJAX and other miscellany



No Web 2.0 application would be complete without AJAX. Of course the whole point of the Facebook platform is to give developers access to the Facebook without compromising security, so unadorned Javascript and script tags are out of the question.

To solve this Facebook provides a very basic mock AJAX system. You create a dummy form which contains the various values you’re interested in and point it at an element which activates the AJAX request. It’s a little hackish but the alternative (no Javascript at all) is probably worse. The examples in the above documentation are as clear as I could write it, so just read those.

In addition Facebook supports Flash and iframes on canvas pages. This means you could, in theory, embed your page directly into the Facebook.

Resources



From the above you should understand the basics of how Facebook interacts with an application. The Facebook expects your application to output FBML which it then transforms into a page for your user. In addition you can use the Facebook object to get information about the current user, such as their friends, groups, photos, and notifications.

But the above only touches the important parts. A lot of the platform remains undocumented and the best way to learn more is to just dive in. Here are some helpful resources.


  1. Developers Documentation

  2. Anatomy of a Facebook Application

  3. Step-by-step Guide to Creating an Application


  4. Developer FAQ

  5. Platform Wiki

  6. PHP5 Client Library, including a sample Facebook application.



Speculation



There are some totally undocumented aspects of FBML. One that sticks out, using my ColdFusion analogy above, is the fb:query tag. You can see the stub on the FBML documentation at the wiki.

One oddity with the current platform is the way it integrates FBML and FQL. You can issue FQL queries directly via the Facebook object. This effectively doubles the latency of your application since the Facebook first issues a request to your application which then in turn might issue several FQL queries back to the Facebook before returning the finalized FBML. My suspicion is that FBML either at point contained or will contain the ability to execute FQL directly on the Facebook and iterate through the resultset.



Cheers, and happy coding!

Breezego

  © Blogger template 'A Click Apart' by Ourblogtemplates.com 2008

Back to TOP