HyperFluxCMS

Fast. Flexible. Free.

HyperFluxCMS

Page score

Technical details about Page Score calculations

published 01/01/2025 15:01, updated 04/13/2026 22:37

Understand how HyperFluxCMS calculates the "score" of a page to determine the position in which it will appear in a listing.

Score for searches

When a visitor performs a search on the page, HyperFluxCMS uses a specific calculation to determine the page's score and relevance for the search.

The algorithm was created to make search results as good as possible so that the visitor can more easily find the information they are looking for.

The algorithm takes several factors into account: where the searched terms are found, post age, its importance, etc.

This page provides an overview of the algorithm so you can understand why the search returns results "this way and not that way".

The first thing to understand is that the search is based on indexing information that is generated when the page is sent to the server, along with the compiled HTML file.

This indexing information ignores case differences, removes special symbols, removes accents, line breaks, duplicate spaces, etc. Only unaccented letters, numbers, and a few symbols are kept.

When the visitor performs a search, HyperFluxCMS separates what are isolated words from what are expressions. Expressions are provided in quotes. Words are separated by spaces. Searches also ignore words with fewer than 4 letters, unless they are inside a quoted term.

For example, the search criteria how to search on "web site" generates 3 search terms: "how", "search", and "web site". The term "web site" is considered a single term because it was in quotes. The terms "on" and "to" are removed because they has fewer than 4 letters and were not part of a quoted term.

After creating the list of search terms, HyperFluxCMS starts looking for posts that MUST contain ALL terms. If a single one of them is not in the post, it is not listed.

Also not included in the list are posts marked as Not Indexed, Not Published, or as Deleted.

Then HyperFluxCMS calculates a value for each post, which depends on where and how each term appears.

  • Terms that appear at least once in the title add +10000 points
  • Terms that appear at least once in the subtitle add +5000 points
  • Terms that appear as a post "category" add +3500 points
  • Terms that appear as one of the "headings" of the post content add +3000 points
  • Terms that appear as one of the post "tags" add +2500 points
  • Terms that appear in the post Summary add +2000 points
  • Terms that appear exactly 1 time throughout the body of the text add +1500 points
  • Terms that appear exactly 2 times throughout the body of the text add +2850 points
  • Terms that appear exactly 3 times throughout the body of the text add +4050 points
  • Terms that appear exactly 4 times throughout the body of the text add +5100 points
  • Terms that appear exactly 5 times throughout the body of the text add +6000 points
  • Terms that appear exactly 6 times throughout the body of the text add +6750 points
  • Terms that appear exactly 7 times throughout the body of the text add +7350 points
  • Terms that appear exactly 8 times throughout the body of the text add +7800 points
  • Terms that appear exactly 9 times throughout the body of the text add +8100 points
  • Terms that appear 10 times or more throughout the body of the text add +8250 points
  • Repeat this for each term.

In the end,...

  • Pages marked with the "Featured" option gain an additional +10000 points

We have a partial total. But now we consider the age of the page, so that more recently edited pages have some kind of preference over older ones.

After all, on a news site, for example, if someone searches for "elections", it makes much more sense that they are looking for information about the most recent elections than those from 10 years ago.

For age, we consider an average between the date the page was initially created and the last edit date.

  • Pages aged less than 1 hour maintain 100% of the score
  • Pages aged between 1 hour and about 10 days lose, proportionally, 1% to 25% of the score.
  • Pages aged between 10 and 60 days lose, proportionally, 25% to 50% of the score.
  • Pages aged between 60 and 300 days lose, proportionally, 50% to 78% of the score.
  • Pages aged between 300 and 1000 days lose, proportionally, 78% to 94% of the score.
  • Pages aged more than 1000 days lose 94% of the score.

Finally, add the value defined in the "Boost" option.

Normally, pages are displayed in descending order of score, that is, those with the highest score, which achieved greater accuracy in what was searched for, are displayed first.

Simplified score

Listing and calculating the Page Score is relatively costly in terms of required processing. Therefore, it is used only for searches.

In other situations, such as listing pages in a postlist, HyperFluxCMS uses a lighter and simplified algorithm.

This score is computed as follows:

  • Posts start with 0 points.
  • Posts marked as "Advertising article" add 100 points.
  • Posts marked as "Featured" add 200 points.
  • Add the value marked in "Boost" divided by 100.
  • Add the post "id" multiplied by 3, so that newer posts have more relevance.

For example, a page with id=81, marked as "Advertising Article" and "Featured", with Boost=1500, adds

  • 100 (advertising article)
  • +200 (featured)
  • +15 (boost divided by 100)
  • +243 (81 times 3)
  • which gives 558 points.