It's time for making a mini-summary. So, you have decided what kind of SEO-text you need (expert, selling, etc.), and also where the material will be posted (to the main page, to the blog, the section,etc.) Great, it's time to arrange the keys.
In general, optimizers recommend using programs to collect key queries like KeyCollector or " Pastukhov’s base". I do not use these programs when working, as well as any other existing. On the one hand, I can assemble the keys that I need on my own. Secondly, such programs contain a lot of garbage, which must be screened out manually.
If you are creating a huge portal with thousands of key queries, it is quite possible that you still need to contact people who will collect a semantic core for you. If your goal is to write several SEO texts, we can easily manage with simpler but elegant solutions.

Stage one. Collection of master keys. In order not to waste time inventing examples, I will talk about everything basing upon my material. So, I had the goal to create an article on how to write optimized text according to all the SEO copywriting rules.

First of all, we write what comes to mind:
How to write an SEO article
How to write a SEO text
SEO Copywriting Rules
Writing SEO-texts

Writing texts for promotion
We already have primary stock of keys. Let’s move on. Now you can type every request to Wordstat.Yandex and see how often people are looking for materials with such keys. As an option, the Mutagen service can also help you with this.
If you find garbage using the keys then just get rid of them, replacing them with keys that are in demand among users. Do not insert key requests that will not be affected in the article. For example, despite the fact that the key "SEO-text analysis online" has 80 requests (for copywriting it's normal), we do not need it, because that refers to another topic.
The main task of the first stage is to collect the main key queries that are similar in meaning but different in spelling.

Stage two. We scan the selected keys from different sides. So, we have collected several main keys. Well, it's time to find the secondary keys. For this, we need to take the main words in each key and squeeze the remaining traffic out from them. Let me explain this point in detail. Suppose, you have a query "writing SEO text" among the main keys. It is clear that not all users enter the request using this format. If we start the query without the word "writing", but with the word "SEO-text", we will open a completely new layer of keys.
In order to understand what users had in their mind, it is enough to use the Yandex or Google searching tips. Search Tips are automatically suggested variants that appear in the search engine when you enter a particular query.