How to Improve CTR in Google Search?

How to
2Like
Comments
Share
How to Improve CTR in Google Search?

CTR, or clickthrough rate, is the number of clicks on a website in search results divided by its impressions (or number of times it’s shown). The CTR of each page of a website directly depends on its position in search results ranking for a particular keyword. The higher the site's position, the higher its CTR and the more traffic it receives.

In this article, we'll look at several methods to increase your website's CTR in Google search results.

Read more → What is CTR in SEO

1. Use structured data from Schema.org

Structured data is a special code that contains additional information about a page and allows search engines to better understand the content published on it. The standards and syntax of the structured data code are governed by the Schema.org service. Over 10 million sites use Schema.org to mark up their web pages and email messages. There are various structured data options for different types of content:

  • for products;
  • for articles;
  • for movies;
  • for people;
  • for events, etc.

You can learn more about the types of microdata supported by Google in this article on Google Search Center. Next, let's take a look at the most popular structured data options that will help you get an expanded search snippet and increase your website's CTR.

1.1. Structured data schema: Product + Offer + AggregateRating

The combination of Product + Offer + Review + AggregateRating structured data allows you to get a search snippet with a star rating, an average product rating, the number of reviews, and the price of a product or service. An example of an advanced search snippet from organic search results:

 Structured data schema: Product + Offer + AggregateRating

This type of structured data is more typical for commercial sites, such as online stores and marketplaces.

In order to get an extended snippet on each product or service page, place a code between the <body></body> tags according to the template below:

 <script type="application/ld+json">
    {
      "@context": "https://schema.org/",
      "@type": "Product",
      "name": "[name]",
      "sku": "[product_id]",
      "gtin8": "[product_id]",
      "image": [
        "[img_url_1]",
        "[img_url_2]",
        "[img_url_3]"
       ],
      "description": "[description]",
      "brand": {
        "@type": "Brand",
        "name": "[brand]"
      },
      "offers": {
        "@type": "Offer",
        "url": "[product_url]",
        "priceCurrency": "[currency]",
        "price": "[price]",
        "priceValidUntil": "[price_date]"
        "availability": "https://schema.org/InStock",
        "seller": {
        "@type": "Organization",
        "name": "[company]"
        }
      },
 "review": {
        "@type": "Review",
        "reviewRating": {
          "@type": "Rating",
          "ratingValue": "[rating-value]",
          "bestRating": "[best_rating]"
        },
        "author": {
          "@type": "Person",
          "name": "[author_name]"
        },
       "datePublished": "[date]",
      "reviewBody": "[review_body]"
      },
"aggregateRating": {
    "@type": "AggregateRating",
    "bestRating": "[best_rating]",
    "ratingValue": "[average_rating]",
    "reviewCount": "[review_count]"
  }
    }
    </script>

Decoding of symbols:

  • [name] - product or service name;
  • [img_url_1], [img_url_2], [img_url_3] - URL of images of the product or service (there must be at least one image);
  • [product_id] - unique identifier of the product or service;
  • [description] - a brief description of the product or service;
  • [brand] - name of the manufacturer/brand of the product or service;
  • [currency] - currency in the ISO-4217 format;
  • [price] - the price of the product or service;
  • [price_date] - the date until which the specified price will be relevant (it is recommended to use the current date + 1 day);
  • [company] - the name of the seller of this product or service;
  • [rating_value] - rating given by the user along with the feedback;
  • [best_rating] - the value of the highest rating that can be given with the feedback (often 5 or 10, but there can be other values);
  • [author_name] - the name of the reviewer;
  • [date] - date of publication of the feedback in the ISO 8601 format;
  • [review_body] - feedback text;
  • [average_rating] - average rating (the sum of all ratings divided by the total number of ratings)
  • [review_count] - the total number of ratings/reviews.

1.2. Structured data schema: Product + AggregateOffer + AggregateRating

The structured data combination of Product + Offer + Review + AggregateRating allows you to get a search snippet with a star rating, the average rating of a set of products, the number of reviews, and the price range of a set of products or services. Here’s an example of an advanced search snippet from the organic search results:

Structured data schema: Product + AggregateOffer + AggregateRating

This type of structured data is more common on commercial websites that offer several variants of goods of different prices or several offers from different sellers on one page. This type of structured data is also sometimes used on category pages in online stores.

In order to get an extended snippet, you need to place a template code between the <body> ... </body> tags on each page with several products or services:

<script type="application/ld+json">
    {
      "@context": "https://schema.org/",
      "@type": "Product",
      "name": "[name]",
      "sku": "[product_id]",
      "gtin8": "[product_id]",
      "image": [
        "[img_url_1]",
        "[img_url_2]",
        "[img_url_3]"
       ],
      "description": "[description]",
      "brand": {
        "@type": "Brand",
        "name": "[brand]"
      },
      "offers": {
      "@type": "AggregateOffer",
      "lowPrice": "[low_price]",
      "highPrice": "[high_price]",
      "offerCount": "[count]",
      "priceCurrency": "[currency]",
      "availability": "https://schema.org/InStock"
        "seller": {
        "@type": "Organization",
        "name": "[company]"
        }
      },
,
 "review": {
        "@type": "Review",
        "reviewRating": {
          "@type": "Rating",
          "ratingValue": "[rating-value]",
          "bestRating": "[best_rating]"
        },
        "author": {
          "@type": "Person",
          "name": "[author_name]"
        },
       "datePublished": "[date]",
      "reviewBody": "[review_body]"
      },
"aggregateRating": {
    "@type": "AggregateRating",
    "bestRating": "[best_rating]",
    "ratingValue": "[average_rating]",
    "reviewCount": "[review_count]"
  }
    }
    </script>

Decoding of symbols:

  • [name] - name of the product or service;
  • [img_url_1], [img_url_2], [img_url_3] - URLs of product images (at least one image must be present);
  • [product_id] - a unique identifier of the product or service;
  • [description] - a brief description of the product or service;
  • [brand] - the name of the manufacturer/brand of the product or service;
  • [currency] - currency in ISO-4217 format;
  • [low_price] - the lowest price;
  • [high_price] - the highest price;
  • [count] - the number of offers of this product or service;
  • [company] - the name of the seller of this product or service;
  • [rating_value] - the rating given by the user along with the review;
  • [best_rating] - the value of the highest rating that can be given along with the review (often 5 or 10, but other values can be used);
  • [author_name] - the name of the author of the review;
  • [date] - date of publication of the review in ISO 8601 format;
  • [review_body] - the text of the review;
  • [average_rating] - the average rating (the sum of all ratings divided by the total number of ratings);
  • [review_count] - the total number of ratings/reviews.

1.3. Structured data schema: Book

The Book structured data schema is designed for pages that contain information about a particular book, but it can also be used for informational pages, such as blog pages. This implementation is not typical for articles, but it allows you to get an extended snippet with the number of reviews and rating, as in the example below:

Structured data schema: Book

In order to get an extended snippet, you need to place the template code between the <body> ... </body> tags on each page:

<script type="application/ld+json">
{
      "@context": "https://schema.org",
      "@type": "Book",
      "@id": "[page_url]",
      "url": "[page_url]",
      "name": "[page_title]",
      "author": {
        "@type": "Person",
        "name": "[page_author]"
      },
       "review": {
        "@type": "Review",
        "reviewRating": {
          "@type": "Rating",
          "ratingValue": "[rating-value]",
          "bestRating": "[best_rating]"
        },
        "author": {
          "@type": "Person",
          "name": "[author_name]"
        },
       "datePublished": "[date]",
      "reviewBody": "[review_body]"
      },
"aggregateRating": {
    "@type": "AggregateRating",
    "bestRating": "[best_rating]",
    "ratingValue": "[average_rating]",
    "reviewCount": "[review_count]"
  }
}
    </script>

Decoding of symbols:

  • [page_url] - page URL;
  • [page_title] - page title;
  • [page_author] - the author of the page;
  • [rating_value] - the rating given by the user along with the review;
  • [best_rating] - the value of the highest rating that can be given along with the review (often 5 or 10, but other values can be used);
  • [author_name] - the name of the author of the review;
  • [date] - date of publication of the review in ISO 8601 format;
  • [review_body] - the text of the review;
  • [average_rating] - the average rating (the sum of all ratings divided by the total number of ratings);
  • [review_count] - the number of ratings/reviews given.

1.4. Structured data schema: FAQ

FAQ (Frequently Asked Questions) structured data is placed on pages with Q&A blocks. An example of an extended snippet with this type of structured data is as follows:

Structured data schema: FAQ

In order to get an extended snippet, on each page with a FAQ block, you need to place the code according to the template between the <body> ... </body> tags:

  <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "FAQPage",
      "mainEntity": [{
        "@type": "Question",
        "name": "[question-1]",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "[answer-1]"
        }
      }, {
        "@type": "Question",
        "name": "[question-2]",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "[answer-2]"
        }
      }, {
        "@type": "Question",
        "name": "[question-3]",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "[answer-3]"
        }
       }]
    }
    </script>

Decoding of symbols:

  • [question-1], [question-2], [question-3] - questions;
  • [answer-1], [answer-2], [answer-3] - answers.

2. Use Emoji and special characters

Adding Emoji and special characters to the Title and Description meta tags will make your site's search snippet more visible. Example:

emoji

However, it is important not to overload meta tags, as such a search snippet will become not only noticeable but also difficult to read. Best practice dictates using no more than 1–2 Emojis in the Title and no more than 3-4 in the Description.

It is also worth noting that not all Emojis are displayed correctly in the search snippet, so you need to run several tests to determine which Emojis and special characters are suitable for your site. Here are some examples that are displayed correctly in most cases: ⏩, ⭐, ✔️, ❤️, ⚡, ᐈ.

3. Use tables in your text

If the text contains a table, Google can use a part of it to form an advanced search snippet. Example:

tables

Most often, tables are used to compare something or to present information in a more concise and structured way.

4. Use numbers in the first half of the Title

The most popular uses of numbers in Titles are as follows:

  • the number of something in a selection, for example: ‘10 zombie movies’, ‘Top 10 programs for…’;
  • indicating the year, for example: ‘In 2023…’;
  • use of monetary amounts, for example: ‘The government has allocated $200,000.00 for…’
  • use of percentages, for example: ‘Only 20% of the finalists…’.

An example of using numbers in search snippets:

numbers in the first half of the Title

5. Use catchy Favicons

A favicon is an icon that is displayed in a browser tab with a loaded page of a particular website:

catchy Favicons

Currently, the Favicon is also displayed in the search snippet. Example:

the Favicon is displayed in the search snippet

The more visible the site's Favicon is, the more likely it is that its search snippet will attract more attention from potential users.

In order to insert a Favicon on your website, you need to place the code according to the template on each page between the <head> ... </head> tags:

<link rel="icon" href="[url_favicon]" type="[mime_type]">

Decoding of symbols:

  • [url_favicon] - icon URL;
  • [mime_type] - icon type, for example: image/png or image/gif.

Read more → CTR manipulation SEO

Conclusion

CTR is an important criterion for measuring the success of a website in search results. We have reviewed 5 ways that can help improve your website's CTR, but take careful note, in no case should you use them all on a single page. You need to choose the optimal method that will work best for your site. Using several methods can lead to an overload of the site's search snippet and a deterioration in its CTR.