Entity Salience

How To Improve SEO Rankings by Optimizing for Entity Salience


The era of using content optimization tools is over and believe it or not, injecting keywords into your content is not enough anymore to dupe Google search.

Google has made big progress in the past years with its Natural Language Processing technology and now, it understands context better than ever! But what does that mean exactly? 

In simple words, this simply means that you could have two phrases, that use exactly the same words but could be interpreted differently by Google because they are different contexts. The number of keywords doesn’t matter, their locations do!

A good indicator of context optimization is the Salience Score. In brief, the more confident Google is regarding an entity, the higher the salience score will be.

Why Salience Score Matter?

The salience score matters because this is a scientific indicator of how your content is interpreted by Google search. 

Google has a unique goal, offering the most relevant content to its users. When a user searches for a query, Google will show to this user what Google believes is the most relevant content for the user’s query. 

The 3 most important factors that are taken into consideration when Google ranks content are in my opinion:

  1. Topic’s Relevance/Coverage
  2. User Experience (Satisfy User Intent)
  3. Backlinks

You are probably surprised to see backlinks filling the latest spot… but believe me, its effectiveness in manipulating Google has been reduced over the years. They are still important though… They are still in the top ranking factors.

So now, how does Google determine the topic’s relevance of your content? Using NLP (Natural Language Programming). They analyze your text, extract the entities (organization, places, person names, things, nouns, etc…), and then, give each entity a “Salience Score”. 

You can see the salience score as a “confidence score”. The closer to “1.0”, the more confident is Google that your content is about a specific entity.

You will understand in the next section, how important is salience score, and why, you should care!

Salience Score: Contexts and Word Positions

The salience score is probably the most important metric when it comes times to optimize its content for Google Search.

In short, the higher the score you have for your main entity (main topic), the more relevant your content is to the topic, and this is extremely important for ranking!

Let me show you an example.

Let’s say that we have an article targeting the query “best cheap red wines” and we need to find a title for our article. Of course, we want to have a title that is well-optimized for SEO so likely, we will use the exact match keyword “best cheap red wines” and insert it into the title. Something like this title:

The 5 Best Cheap Red Wines: Our Top 5 Hot Picks!

Sounds very familiar right? 

But what If I tell you that this next title will rank better for the same query:

The 5 Best Red Wines That Are Cheap: Our Top 5 Hot Picks!

Yet the two titles use the main words “best”, “red”, “wines” and “cheap”. So why the one that doesn’t target the exact match is better?

Because of contexts! Both titles include the main entity “red wines”, but the way the words are placed, the context is different and is interpreted differently by Google.

In brief, Google understands one better than the other.

The data never lies right? Great! So let’s move to the data analysis 🙂

For this analysis, I’ve used Google Cloud Natural Language API (Stay tuned because later in this article, I’ll explain to you how you can set up your own salience score detector tool, that you can run on your computer easily) to scan my text and extract the entities, and give me their salience score.

Let’s start with the first title:

< The 5 Best Cheap Red Wines: Our Top 5 Hot Picks! >

Text analysis  Google NLP

Google NLP returned a salience score of 0.58 for my main topic “Red Wines”.

Now let’s check the second title:

< The 5 Best Red Wines That Are Cheap: Our Top 5 Hot Picks! >

Text analysis Google NLP

Google NLP returned a salience score of 0.75 for my main topic “Red Wines”.

An increase of 29,31% 🤯

To summarize, this means that Google considers title #2 more relevant to the topic “Red Wines”. A simple change in word position and voilà! We increased our relevancy by 29,31%! I let you imagine now how much impact this could have on a website if someone would take the time to review every title, to maximize the salience score? 😉

How to Improve Your Salience Score

Now that you understand that simply injecting keywords there and there won’t help you to rank better… let me tell you how you can improve your ranking by simply improving the salience score of your main entities.

To improve your salience score, you can try the following:

  • Word positions (Change the position of your words in your sentences)
  • Topic coverage (Talk more about your topic. Cover all attributes, characteristics, synonyms, etc…)
  • Number of mentions (Yes, of course, it makes sense at some points, if you mention your topic only once in your content, it’s unlikely that Google will consider you an expert on this specific topic)

And here are the elements you should optimize in priority, that are likely to have the biggest impact on your ranking:

  • Title
  • H1 tag
  • Introductory paragraph (Intro)
  • Conclusion (Outro)
  • H2 tags
  • Paragraphs

If you plan to update your sites at scale, I would suggest doing it in 2 phases: 

  • Phase 1: Update all your articles for titles, H1s, and the introduction sections.
  • Phase 2: Continue updating the other elements; Conclusions, H2s, and Paragraphs.

Here is a quick tip in case you don’t want to delegate this task to a writer. You can definitely hire someone (like a Virtual Assistant) and ask him/her to use ChatGPT to rephrase the text.

Then copy/paste each text variation into the Salience score detector tool and opt for the one with the highest salience score for the entities covered in the text analyzed.

Just be careful though, it’s important to be able to recognize the key entities in the original text. You can ask ChatGPT to rewrite the text to cover these entities better or simply ask ChatGPT to change the positions of these entities. From there, I will let you experiment a little 😉

Cool so now that you understand the process and importance of optimizing salience score, let’s move now to the interesting part! Let’s build this salience detector tool.

How to Build Your Own Salience Score Detector Tool

To be able to create and run the salience score detector tool, you will need two things:

  • Python 3.10+
  • Google NLP API

Don’t worry, I will guide you through all the steps. You will see, it’s not as complex as it looks.

Installation of Python

To start, you will need to install Python on your computer. You can download Python on the official website. Just ensure to check the option “Add Python to Path” in the process installation.

Install python

Once Python is installed, you will need to install PIP. It’s a straightforward process, just check the documentation here.

After that PIP is installed, install the Python libraries required for running the salience score detector script:

pip install streamlit google-cloud-language numpy pandas

That’s all for now. Let’s enable Google NLP API now!

Activation of Google Natural Language API (NLP)

Step 1: Sign In to Google Cloud Console

Step 2: Create a New Project

  • Once logged in, navigate to the project selector page.
  • Click on the “New Project” button at the top right.
  • Enter a project name and select or create an organization if necessary.
  • Click “Create” to create your new project.

Step 3: Enable Billing

  • After creating your project, you need to enable billing for your project by linking a billing account.
  • Navigate to the “Billing” section from the left sidebar.
  • Follow the prompts to link a billing account to your project. You may need to create a new billing account if you don’t have one already.

Step 4: Enable the Google Cloud Natural Language API

  • In the Cloud Console, go to the “Navigation menu” (three horizontal lines in the top left corner).
  • Select “APIs & Services” > “Library”.
  • Use the search bar to search for “Natural Language API”.
  • Click on “Natural Language API” from the search results.
  • Click “Enable” to enable the API for your project.

Step 5: Create Credentials

  • After enabling the API, you need to create credentials to access the API.
  • Go to the “APIs & Services” > “Credentials” page.
  • Click “Create Credentials” at the top of the page and select “Service account” from the dropdown.
  • Enter the service account details and click “Create”.
  • Grant this service account access to your project (optional) and click “Continue”.
  • Click “Done” after reviewing the roles.
  • After creating the service account, click on it under the “Service Accounts” section.
  • Go to the “Keys” tab and click “Add Key” > “Create new key”.
  • Choose “JSON” as the key type and click “Create”. A JSON key file will be downloaded to your computer.

Step 6: Set Environment Variable

After downloading the JSON key file, you need to set an environment variable on your computer to authenticate your API requests.

If you’re using Windows, you can set the environment variable like this:

PowerShell:

setx GOOGLE_APPLICATION_CREDENTIALS "C:\path\to\your\downloaded-key-file.json"


If you’re on macOS or Linux, use this command:

bash:

export GOOGLE_APPLICATION_CREDENTIALS="/path/to/your/downloaded-key-file.json"

Replace “/path/to/your/downloaded-key-file.json” with the actual path to the JSON file you downloaded.

Create & Execute the Python Script

To make your life easier, you can simply download the script here. Make sure to save the file “ssd.py” in the same path as your JSON file. This will make it simpler to manage.

Then open the file “ssd.py” with Notepad or any code editor, and update the path of your JSON file at line #8. Save the file.

Note: Ensure to double “//” for path folders, otherwise the script won’t work.


You’re set now! You can now run the script.

Open a terminal, and move to the path where the script is installed:

For example, on Windows:

cd C:\python-scripts\salience-detector\

Then run the script:

streamlit run ssd.py

After the execution of the command line above, your browser should start automatically with the Python script interface. Otherwise, visit this URL: http://localhost:8501

Conclusion

This article showcases how you can leverage the Google Natural Language API to provide a contextual analysis of your text and help you optimize it for your key entities. In short, the higher your salience score is for your entities, the more optimized is your content.

This is important you understand that Google uses Natural Language to understand your content and if you want to improve your rankings, you need to ensure Google understands clearly your content.

As I have demonstrated, simply moving the position of your entities in your text can impact how Google understands your content, hence having a direct impact on your ranking.

To conclude, SEO is far from being dead, it has simply evolved, and you need to adapt the way you work now. Stop thinking like an SEO, start thinking like a scientist 😉 Google is just a machine after all!