Tracking your on-page SEO content elements

Learn how to keep track of all main on-page SEO content elements


SEO represents a subset of marketing activities devoted to optimizing your page appearance and ranking on search engines.

Producing relevant, unique, and high-quality content is vital to this mission, and it is usually run by the Content Marketing team.

However, SEO includes also more granular activities, such as tuning your pages’ headlines, HTML, and images’ tags, such as title, meta, header, and alt-tags, to make them easier to discover and understand by search engines. This also means making sure your website has a high level of authoritativeness and trustworthiness.

What is on-page SEO

On-page SEO describes all the interventions you do on your website’s pages to improve its ranking on engine searches and acquire organic traffic.

On-page SEO is important because it tells search engines how to “read” and understand your website and its content, as well as identify whether it is relevant to searchers’ queries.

The most important page attribute include:

  • Page title: enclosed in tags title, it is displayed in the tab title of the browser you’re currently using and it’s also the first element search engines show in their SERP. It should include relevant keywords to your business and should not exceed 70 chars. Screenshot 2022-08-12 at 17.06.07 copy 2

  • Page description: enclosed in the tag meta name="description", its role is to describe the contents of the page it is attributed to, similarly to the blurb for a book. It should be clear, straight to the point and include relevant keywords to your business, and should not exceed 155 chars Screenshot 2022-08-12 at 17.06.07

  • Alt text: enclosed in img alt is used to describe the appearance and function of an image on a page and make it easier for search engines to discover it.
img src="pupdanceparty.gif" alt="Puppies dancing"

Usually, websites have hundreds, if not thousands, of pages: making sure that each of them has the right elements has to be an organized and structured activity.

In this short guide, we’ll walk you through everything you need to keep track of all the main on-page SEO elements you need to monitor.

Here’s a sneak peek of what you’ll get:

Screenshot 2022-08-24 at 11.55.13

Let's go

To understand how we’re going to use it, let’s go step by step:

First, open our template at the following link On-page SEO content table, click on Use template and save it in one of your workspace's folders.

This template offers you a convenient place to easily store information from any page on your website, as well as its search engine optimization elements.

Let's reverse-engineer it together.

Column A contains the list of all your website's pages' URLs starting from column B, you can input all elements above described: page title and descriptions.

LEN() functions in columns D and F count the number of characters of the respective field, helping you to keep an eye on their optimal length.


Whenever you want to edit some of the content, you can start by picking the date in column H and input the updates in the respective columns starting in column I.

Add search performance insights

To make this template even more powerful, and have a quick glimpse of your edits to the on-page elements that impacted your pages' search appearance and SERP position, we can leverage our proprietary GET_WEBSITE_PERFORMANCE_SEARCH_CONSOLE() function.

The logic behind this table is: list all the pages in column A, compute the search metrics for that specific page after the edit in column B and expand the analysis outputs in columns C and D.

Let's do it together. Start by adding a new table, through the Insert menu in the toolbar and name it "Search Insights".

In cell A1, add our UNIQUE() function to list all the tracked pages from the previous table. Use the entire column A of the main table as an argument, as follows:


You will obtain a data cell that has to be expanded. In Rows, a data cell is a cell that stores more than a string or a number, the typical content of standard spreadsheets' cells. In this case, it encloses all the unique values in column A of the previous table.

In the same cell, nest the whole UNIQUE() function into EXPAND(), as follows:

1          =EXPAND(UNIQUE('On-page content elements'!A:A)

You now have the whole list of pages reproduced in column A of your new table. Now we proceed with acquiring the data. Name cell B1 as "Search data", set yourself in cell B2, and click on the Action menu. Pick our GET_WEBSITE_PERFORMANCE_SEARCH_CONSOLE() function.

Screenshot 2022-08-24 at 10.30.00

Click on Connect integraton and follow the instructions. The typical Google Auth page will open: enter your credentials and authorize Rows to retrieve your data. Make sure your account is correctly linked to your Google Search Console.

Once done, you are back in the function wizard. Input the Domain registered in your Search Console account, pick the Target type, input an open Date range starting from the edit date for that page - e.g. ">2022-08-01", set Page as dimension to break down search data for specific page and finally filter for Page equals=A2, to filter results for that specific page listed in column A.

You will get a data cell in B2 that needs to be expanded to display the data. Click on the ... icon on the right and hit View data. A panel will open on the right-hand side showing a structured document (in JSON format). Next to each data point, there is a COPY button.

Screenshot 2022-08-24 at 11.20.45

Hit it for the CTR and position data points and paste in cells C2 and D2: you will obtain a formula similar to the following, that uses our PARSE() function to read and extract specific data points from any JSON document. The first argument is the data cell H2, and the second includes the path to follow to retrieve that specific element.

1              =PARSE(B2,'['rows'][0].['ctr']")

Copy and paste the range B2:D2 for all your pages listed in column A. Now you have a table that can provide dynamic insights about your on-page SEO activity. If you want to compare results before/after the changes, repeat the same process but use the complementary date range in the function setting, i.e. "<2022-08-01".

Schedule automation

Instead of coming back to the spreadsheet and triggering the function manually, you can also use SCHEDULE() to recompute the metrics every week or month. Add SCHEDULE() function to cell F1 of the Search insights table: use B2:B as the first argument - the task you want to execute periodically - and input a refresh schedule as a second, i.e. "every Monday 08:00", or "every 1 of month". Rows will trigger the GET_WEBSITE_PERFORMANCE_SEARCH_CONSOLE() functions in column B for you at the defined schedule:

1              =SCHEDULE(B2:B,"every monday 08:00")

You might also like