Это можно сделать на стороне сервера или на стороне клиента. Ключевые слова для поиска определяются по заголовку HTTP Referer (sic). В JavaScript вы можете посмотреть на document.referrer
.
Получив реферера, вы проверяете, является ли это страницей результатов поиска, о которой вы знаете, а затем анализируете условия поиска.
Например, в результатах поиска Google есть URL, которые выглядят так:
http://www.google.com/search?hl=en&q=programming+questions
Параметр запроса q
является поисковым запросом, поэтому вы хотите извлечь его и удалить URL-адрес, что приведет к:
programming questions
Затем вы можете искать термины на своей странице и выделять их по мере необходимости. Если вы делаете это на стороне сервера - вы бы изменили HTML перед отправкой его клиенту. Если вы делаете это на стороне клиента, вы будете манипулировать DOM.
Существуют библиотеки, которые могут сделать это за вас, например эта .