After altering form I cannot save changes in nodes
As @NikhilMohan says, you can't just remove fields like the title; they're required for validation. Event setting #access =&gt; FALSE has strange results in my experience.

What you could do instead, is set a value for the fields you're hiding, and change their #type to 'value'. That way the element will still exist on the server side, and validation/submission won't break.

e.g.

$form['title']['#type'] = 'value';
$form['title']['#value'] = 'Some default value for the title';