SEO: Images Are Important Too

Search Engine Land posted an insightful article today: Apparently Google is featuring images more often in its search results than in the past: https://searchengineland.com/google-starts-showing-more-images-in-the-web-search-results-315804 .

For example: search Google for a keyword, and if Google decides you might be interested in an image search, it’ll show an image bar within the search page. Now this images bar has always existed, but the Search Engine Land article indicates that this bar is becoming more frequent/being added to more searches. Here’s a demonstration:

cupcake
Google search for cupcake.
Google search for cupcake. Note the “Images for cupcake” bar on top. Note that this is a regular search results page – Google thought I might be interested in pictures, so it’s showing an images bar.

With this new emphasis on images, it’s important to properly SEO images on your website. Make sure to fill out the ALT attribute on the IMG HTML tag, and have a caption explaining the image. Use a high quality image if available.

Transforming An Image Using The ImagesService

Here’s a short code example demonstrating how to transform images using the images service. This code example resizes an image to dimensions of 100×100, figures out the MIME type of the image, and prepares to write the image data into a write channel (good for writing to Cloud Storage or another storage service).

The image_content object represents a byte[] array containing image data. This code snippet then creates two objects: image_mime (the MIME type for the resized image) and buffer (a ByteBuffer containing the resized image’s data, ready for writing to a write channel).

// Create the image from the byte array
Image image = ImagesServiceFactory.makeImage(image_content);
// Resize the image to 100x100
Transform resize = ImagesServiceFactory.makeResize(100, 100);
ImagesService images = ImagesServiceFactory.getImagesService();
image = images.applyTransform(resize, image);
//Figure out the format of the image, and build a mime type.
Image.Format format = image.getFormat();
String image_mime = "image/" + format.toString().toLowerCase();
ByteBuffer buffer = ByteBuffer.wrap(image.getImageData());

Serving URL For Images Stored In Cloud Storage

Creating a serving URL for images stored in GCS is slightly different than for images stored in the Blobstore. Here’s a code sample:

Bucket represents the name of your Google Cloud Storage bucket, and object represents the file name of the image (including extension).

    String bucket = "bucket_name";
    String object = "file_name_including_extension";

    //Get serving url
    String gs_blob_key = "/gs/" + bucket + "/" + object;
    BlobKey blob_key = BlobstoreServiceFactory.getBlobstoreService().createGsBlobKey(gs_blob_key);
    ServingUrlOptions serving_options = ServingUrlOptions.Builder.withBlobKey(blob_key);
    String serving_url = ImagesServiceFactory.getImagesService().getServingUrl(serving_options);
    System.out.println("Serving URL: " + serving_url);
    resp.getWriter().println(serving_url);