When a user type a search query on search engine, they are asking a question and try to find a solution for it. Let take a look on the following real life example.
In morning, a man drive his car and go to work but his car broken down with smoke. He then turn on his notebook and search on Google. What will he type into the search box? He may type “Car Towing” to find car towing services and ask for help. He may make the search more specific to “Car Towing New York”.
But he may don’t know what to do and simply type his current situation into the search box, “Car Broken Down”. He may also type “Smoking Engine” as he see smoke come from engine.
If he has some knowledge on car repairing, he knows that it may be due to the engine overheated. So he types “Engine Overheated”.
He is hurry to join a business meeting, he don’t care the car’s problem. He want to make call for a cab. He may types “NYC Taxi” instead.
So from this story, a search query can be expanded into different keywords.
Car Broken Down
– Solution for the problem
Car Broken Down -> Cow Towing
– Localized solution for the problem
Car Broken Down -> Cow Towing New York
– Symptom of the problem
Car Broken Down -> Smoking Engine
– Cause of the problem
Car Broken Down -> Engine Overheated
– Alternative Solutions for the problem
Car Broken Down -> NYC Taxi
From the above list, you can see that a problem can be spanned into different directions. You can find out keywords by identify the problem, cause, symptoms and solution. These are the most highly relevant keywords.