Zone change is a the effect of player entering another server or game area/instance in RPGs/MMO games.
Typically the player is notified "Entering AreaName"(such messages are superfluous and can be ommited) and environment loads(if not pre-loaded at border).
Design mistakes:

1.Allowing player to be targeted before he fully loads the area/instance: aka "Spawn kill".
Solution:Wait for player client notification that all assets are loaded.

2.Area Cinematics:
Adding cinematics before zone change: this gets old fast with player forced to watch thousands of cinematics per day.
A.loading bar(optionally with artistic elements from the area loaded).
B.Pre-loading the areas and making transition seamless.
Cinematics are waste of asset space and should be minimized:especially for trivial and repeatable actions such as zone change.

3.Area Reset:
Resetting status effects: typically this is assigned to towns only, but some areas(usually different servers) just reset all status effects by any zone change.
Solution:Instead status effects should be stored as player/pet attributes and loaded with the zone. Town should only reset damaging status effects such as poison/curse.

4.Instance trap:
the player is forced to win the instance/zone boss or solve a quest before leaving or reach a specific exit point.
Instead this should be cancelable or repeatable area that could be left at anytime. The problem with instance traps is that they dictate the flow of gameplay towards linear progression and fixed scripts, which many players can fail to follow or make unrecoverable mistakes in the process: this makes the instance user-unfriendly(i.e. Once you enter you have to win or die).

5.Non-Combat Challenge to enter zone: Multi-level mazes and confusing geometry/layout(often with jumping/puzzles/levers/keys): usually this is the result of designing overly-complex areas for "challenge" but most players are not focused on non-RPG elements(acrobatics, jumping, puzzle solving and various tricks), especially if players need to repeat the puzzle/jump/trick/etc each time they are in the area.
Solution: A.Make the puzzle/trick/jump/challenge non-repeatable and if won set player as completed the challenge.
B.Don't introduce non-standard game elements and focus on combat/tactics as challenge for the player.
C.Make the challenge optional and make it randomized(no repeated solutions work:each instance of challenge is unique).

6.Zone bottleneck:
Even MMOs with low population should consider the design of
areas to avoid bottlenecks. The ultimate solution is of course to disable player to player/NPC collision(that slightly reduces realism) which allows any amount of players in one place.
Another solution that sort-of works is allowing jumping without nearby collision effects, that allows to bypass the blocking players/npc/monsters.
A. A narrow bridge/road/tunnell("narrow path"):
Players can't move in quantity due collision between incoming and outgoing players.

B.Zone NPC can be only interacted within small radius:
i.e. player can surround the NPC preventing everyone else talking to the NPC in question. (usually a quick fix is to make the radius of interaction large enough for a crowd).

C. Doors/Portals/Waypoints/Teleporters holding only a limited amount of players at once. This prevents seamless interzone travel and delays zone change until the portal object is in free-to-use state.(a quickfix is to make the portal radius of effect larger than its graphical size).

D. Zone blocking objects/monsters/NPCs:Area entrance that are blocked by design intentionally. This has the effect that any zone change into the area blocked has to fight the monster/npc or destroy the object again.
This is only appropriate for one-time quests and is always anti-pattern to artificially increase game time in an area.
Allowing the blocking entity to be skipped simplifies the flow of gameplay, making it a repeatable task only flustrates the players. change surprises:
A.Hostile terrain on zone change;Throwing the player into lava/poisonous fog/etc. This is presumed element of surprise but such surprise is non-consentual from player point of view.
Instead allow player to prepare after arriving in new area to move into such terrain fully healed and prepared.

B.Zone change moves player into area that is surrounding the spawn point with invisible traps or monsters. As above, this is often the result of adding "shock" elements to force the player to move out as quickly as possible.
This has a variation of "Spawn kill" except it works regardless if the zone fully loaded or not: the player has little time to react and is forced to make suboptimal choices. This is user-unfriendly design that is not fit for RPG settings(though MMOFPS can benefit from maps like this).

C.Area handicaps:
Players loses stats or has negative effects applied to him(regardless of location of spawning as in 7.A):
A typical situation is developers wanting to temporary handicap the player locally. This is often leads to players overcompensating for the area or avoiding it until they can overcompensate. This also breaks immersion unless tightly integrated into lore/quests/world narrative.
Instead such handicaps should come not from invisible area effects but from traps/npc/monsters interacting with player(and giving warning for the start of effect if it is a major loss).

D.Starting a Timer/time limit for being inside the area/zone/instance:
This immediately adds stress to player. Arcade elements like this are more fit to FPS games, while RPGs shouldn't contain rigid timetables. A variation of time-limited quest area that fails the quest if player doesn't "win" in time: this shifts the world setting into FPS territory - challenge is compounded by the lack of time.
If such time-limited events are neccessary for immersion:
Such timings must be hidden in form of sequences of events;
#1 Activator(not merely entering) object/event/spell/NPC
is deliberately engaged by player.
#2 Timer is started, player is notified of the timer conditions
#3 Win/Fail condition is achieved and player is allowed to leave.
"If you come into room A and touch a level and If you don't destroy this crystal in 30 seconds the dragon will come down" or have resets "if you come into Room A, touch a lever and if you leave Room A the timer of 30 seconds is reset".