There are three ways to install "manually" a package in miktex:
through a "local repository"
This is only not really a "manual" installation: it still uses the prepacked packages from miktex, it uses the miktex tools (like the console) to do all the work.
This method is suitable if you can't use the miktex console directly e.g. due to problems with the internet connection because of proxy/firewalls or similar problems.
The method requires are rather current miktex - with older miktex there is the danger that the files are not compatible.
The method is described here https://tex.stackexchange.com/a/462216/2388
Installation with a tds.zip
Some packages provides their files packaged as a tds.zip. Such packages can be installed rather easily: Unpack the zip file somewhere outside miktex. Then add the root of the tds folder structure that you got (the parent folder of the
tex folder) as a new root in the miktex console (new) or miktex settings (old).
Really manual installation
In this method all files of a package are copied by you to the right location in a local texmf tree that you have to create first. What exactly has to be done depends a lot of the package. Sometimes you first have to unpack files by compiling an ins or dtx file, sometimes you should copy files to tex/latex, or to bibtex/bst or to fonts/tfm. Sometimes you have to adapt
the updmap.cfg and call updmap. At the end you normally have to update the FNDB.