How to make link unchangeable when using Pathauto? Link for each node is made with Pathauto based on several fields.
Those fields are required so when user makes the node first time, link is generated.

I would like to leave these links unchangeable if user changes something later in those fields (which is needed). 

I consider this would be better solution then auto301 each link as this would cause thousands of them later on which is bad for SEO.

How to make link that is created first time by Pathauto unchangable even if the user changes fields that are part of pathauto tokens ?
This is an option in the pathauto settings (Configuration » Search and metadata » URL aliases » Settings) under Update action. Set it to Do nothing. Leave the old alias intact. and pathauto will not update the path alias after its initial creation.