Warung Bebas

Selasa, 19 Juni 2012

Google Finally Takes A Clear Stance On Mobile SEO Practices

Google says there are three basic configurations when going mobile, however they do seem to strongly recommend going with the responsive design approach.
  1. Sites that use responsive web design, i.e. sites that serve all devices on the same set of URLs, with each URL serving the same HTML to all devices and using just CSS to change how the page is rendered on the device. This is Google’s recommended configuration.
  2. Sites that dynamically serve all devices on the same set of URLs, but each URL serves different HTML (and CSS) depending on whether the user agent is a desktop or a mobile device.
  3. Sites that have a separate mobile and desktop sites.

Responsive Design Approach

Google says if possible, they recommend you go with the responsive design approach. This is where you use CSS3 media queries to alter the way the page renders on mobile devices. In this case, there is one URL, one content, one HTML code but CSS media queries to specify which CSS rules apply for the browser displaying the page. Google says the advantages of this method include having one URL making it easier for your users to interact with the page and enable Google’s “algorithms to assign the indexing properties to your content.” It is also more efficient when Google is crawling your content because Google doesn’t have to crawl multiple pages.

Device-Specific HTML Approach

If you are going with the dynamic serving configuration, which is fine, Google recommends you use the Vary HTTP header to give Google a hint that the content and CSS may change based on the useragent. The header is commonly used for caching purposes but can also be used in this situation to communicate the content has changed based on the useragent. In this case, it would be used as a indexing and crawling signal for Googlebot-Mobile.
Pierre from Google explains:
As for the separate mobile site configuration, since there are many ways to do this, our recommendation introduces annotations that communicate to our algorithms that your desktop and mobile pages are equivalent in purpose; that is, the new annotations describe the relationship between the desktop and mobile content as alternatives of each other and should be treated as a single entity with each alternative targeting a specific class of device. These annotations will help us discover your smartphone-optimized content and help our algorithms understand the structure of your content, giving it the best chance of performing well in our search results.
Google has a developer site with more on how to implement this solution. Please note that depending on if you go with the new URL versus the same URL, the annotations Google asks you to use are different. So during your implementation, please read the developer site.
(1) When you use the different HTML approach but the same URL, Google wants you to use the HTTP Vary Header as a hint for GoogleBot-Smartphone to crawl the site.
(2) When you use the different HTML approach but a different URL, Google wants you to use a rel=alternate on the desktop version and use a canonical on the mobile version.
Again, when possible, go the responsive approach but when you cannot, Google can and does support the device-specific HTML approach but remember to communicate to Google that the content is changing based on the useragent.

Hitachi Vitrual Show

Senin, 18 Juni 2012

Bing Is For Doing Things It Tells You Not To Do

Google has confirmed the rumors of a Panda refresh happening over the weekend.
Google said this refresh started rolling out on Friday, June 8th and has an impact of less than 1% of search queries in the U.S. and about 1% worldwide.
As I said, the search forums took notice to major changes in the search results, specifically impacting sites that were originally hit by the Panda update. I reached out to Google this morning for a confirmation and they have confirmed the update.
Previously, Google pushed out Panda 3.6 on April 27th, about 6 weeks before this update. Google tends to do Panda and even Penguin refreshes every one to two months.
Along comes his friend Neil Black who suggests jumping off a cliff. OK, a big rock, though some of the videos he links to call it a cliff jump:
That link, by the way, doesn’t work for me. Nor can I figure out any way to get a page like you see above. Bing Videos doesn’t host content as with YouTube, so you can’t have a page of your own uploaded videos as seems to be appearing in the ad
Postscript: Mystery solved! Bing emailed me to say that this type of page appears if you share a link from the results. So if you found a video in Bing, then shared that link through Bing, you’d get to a page like shows in the ad. In fact, here it is.
But back to Kevin, who does a search for “hawaii flights” on Bing and is on his way. Friends keep telling him about cool things to do, such as hidden trails and to try spicy poke. Eventually, however, his date with the cliff jump arrives. Here he goes!

 Hitachi Data Systems Resource Library

Sabtu, 16 Juni 2012

How to embed Flash Player content using SWFObject dynamic publishing

STEP 1: Create alternative content using standards compliant markup

SWFObject's dynamic embed method follows the principle of progressive enhancement and replaces alternative HTML content for Flash content when enough JavaScript and Flash plug-in support is available. First define your alternative content and label it with an id:

xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
 

   
</span><span class="pln">SWFObject dynamic embed - step 1</span><span class="tag">
   
http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
 

 

   
   
id="myContent">
     
Alternative content
   

 


STEP 2: Include the SWFObject JavaScript library in the head of your HTML page

The SWFObject library consists of one external JavaScript file. SWFObject will be executed as soon as it is read and will perform all DOM manipulations as soon as the DOM is loaded - for all browsers that support this, like IE, Firefox, Safari and Opera 9+ - or otherwise as soon as the onload event fires:

xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
 

   
</span><span class="pln">SWFObject dynamic embed - step 2</span><span class="tag">
   
http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
 
   
type="text/javascript" src="swfobject.js">

 

 

   
id="myContent">
     
Alternative content
   

 

STEP 3: Embed your SWF with JavaScript

swfobject.embedSWF(swfUrl, id, width, height, version, expressInstallSwfurl, flashvars, params, attributes, callbackFn) has five required and five optional arguments:
  1. swfUrl (String, required) specifies the URL of your SWF
  2. id (String, required) specifies the id of the HTML element (containing your alternative content) you would like to have replaced by your Flash content
  3. width (String, required) specifies the width of your SWF
  4. height (String, required) specifies the height of your SWF
  5. version (String, required) specifies the Flash player version your SWF is published for (format is: "major.minor.release" or "major")
  6. expressInstallSwfurl (String, optional) specifies the URL of your express install SWF and activates Adobe express install. Please note that express install will only fire once (the first time that it is invoked), that it is only supported by Flash Player 6.0.65 or higher on Win or Mac platforms, and that it requires a minimal SWF size of 310x137px.
  7. flashvars (Object, optional) specifies your flashvars with name:value pairs
  8. params (Object, optional) specifies your nested object element params with name:value pairs
  9. attributes (Object, optional) specifies your object's attributes with name:value pairs
  10. callbackFn (JavaScript function, optional) can be used to define a callback function that is called on both success or failure of creating a Flash plug-in on the page (see API documentation) NOTE: You can omit the optional parameters, as long as you don't break the parameter order. If you don't want to use an optional parameter, but would like to use a following optional parameter, you can simply pass false as its value. For the flashvars, params and attributes JavaScript Objects, you can also pass an empty object instead: {}.

    xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
     

       
    </span><span class="pln">SWFObject dynamic embed - step 3</span><span class="tag">
       
    http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
       
    type="text/javascript" src="swfobject.js">
       
       
    type="text/javascript">
        swfobject
    .embedSWF("myContent.swf", "myContent", "300", "120", "9.0.0");
       


     

     

       
    id="myContent">
         
    Alternative content
       

     

     
    Resource: http://code.google.com/p/swfobject/wiki/documentation
     
    Hitachi Corporate Resources
 

SEO TIPS Copyright © 2012 Fast Loading -- Powered by Blogger