QueryLens – Page/Topic Relevancy Scoring

QueryLens is a Chrome extension I made to analyze topical relevance of pages to the target keywords. I’ve not released it yet, but I’m thinking I will if I get some good feedback.

Here’s a video demo…

How it works:

  • Using the OpenAI embeddings API it creates a topic vector of your primary and secondary keywords.
  • It also creates embeddings for every content chunk on the page: title, description, H1s, H2s, H3s, content by paragraph and image alt tags.
  • Then it calculates cosine similarity to test the topical relevance of each content chunk.
  • It also does a lexical analysis of each content chunk and scores each based on the extent to which they reflect the target keywords.
  • In this way we are assessing both semantic and lexical relevancy and we produce a blended score for each page element. The extension summarizes the average across elements types (headlines and text blocks) and produces an overall score which takes into consideration the Title, H1, H2s, Image Alts, and the first 500 words of body copy.
  • All the element scores are downloadable in a CSV file, and the extension also highlites the elements on the page, color coding each based on their blended scores.

How to use it:

There are two primary ways I use the output from the extension:

  1. The visual color coding on the page itself is a great way to quickly see where the content on the page drifts from the target topic/keywords. You can use this to see where sub-headings could be tighter, or where image alt text is not well aligned. It is not the case that every element must be super-optimized, but it gives you a quick view of where to focus your attention.
  2. The CSV download, with all semantic and lexical scores, provides a very clear signal on topic drift by content element and can be used as input to your AI when looking for content optimization opportunities.

Could you use this in your workflow? Do you have any questions? Please let me know in the comments.

Leave a Reply

Your email address will not be published. Required fields are marked *