How to track 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.
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.
- 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
- Alt text: enclosed in
img altis 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:
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.
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
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
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
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.
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".
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.
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")
Interested in SEO? Discover other guides:
- Monitoring your website search performance with Search Console
- Tracking keywords' performance with Search Console
- Planning link-building activity
- Tracking your competitors’ website loading performance with PageSpeed
- Auditing your website loading performance with PageSpeed
Discover our Marketing playbook.