First and foremost, check out last week's post on addons that are ready for 5.0.4. I've been doing a ton of updating on this piece every time someone informs me that an addon is updated. It's a work in progress, of course, but it's pretty accurate right now. If you don't see your preferred addon on there, then have a look on the big three addon sites: WoWInterface, WoWAce and Curseforge. You're looking for recently updated files in the download section.
If they don't show up there, have a Google. Your addon may have a stand-alone site. You can look elsewhere, but these are the places where the vast majority of addons are hosted with the authors' permission, meaning they are in line with copyright rules, ethically sound and home to the authors' most recent updates.
Once you've checked for the most recent versions, download any that show compatibility with 5.0.4. If there are none, then make a note of that addon and check back in a few days' time. WoWInterface can also be set up to email you when addons are updated; check out how to set up email notification for addon updates.
Pre-login actions for patch day
Next, you'll need to have an idea of what to expect when you first log in post-patch. Blizzard MVP Bluspacecow has written a really excellent and very detailed survival guide that I'm going to be drawing on here. You can also check out the official Blizzard survival guide.
The first thing to do is go and grab Addon Control Panel. Despite the lack of updates it still seems to work. It allows you to make sets of addons, as well as turning them on and off without having to relog. Secondly, get a bug consolidation addon such as BugSack or Swatter. These will remove the big red box in the middle of your screen and consolidate all your inevitable UI errors into one easier-to-manage place.
So you're logging in for the first time since your Play button lit up. Firstly, remember that at this point the launcher is still downloading the patch content. This will likely significantly impact your latency and the game's ability to process your huge mess of inevitably still-broken addons. As bluspacecow points out, Blizzard have been known to make changes to the API (the store of data which most addons use) for patches that didn't apply during PTR or Beta testing.
Latency issues may manifest themselves in problems like other players' being invisible, the presence of unknown entities, or being unable to move your character. The official Blizzard guide recommends logging out for five to 10 minutes to help with such issues.
Your first post-patch login
Go ahead and get into the game. If you have entered the very second your launcher ticked over to playable and you didn't move your character away from Orgrimmar or Stormwind, you're likely going to have a long, long load screen. If you happen to have a low-level alt who isn't in either of the capital cities, it might be a really good plan to log in with that character first, just to remove one factor that your connection has to deal with.
Once the game loads up, don't be surprised if what you see is a mess. Even the most diligent updating of addons often can't catch every bug or outdated mod. Hopefully, you remembered to enable your bug grabber addon, because you may well need it.
Sit and wait patiently until your game settles down and UI errors stop being generated. This may take minutes or seconds, depending on various factors, so have a little patience. Open up your bug grabber addon, and make a note of what is generating error reports. You'll be able to establish this by scanning the file names within the error reports. It'll say something like "...Interface/Addons/addon causing problems..." The addon causing problems is the one you want to make a note of.
Once you're done with that, you need to deactivate the troublemakers. Hopefully you took my and bluspacecow's advice and grabbed Addon Control Panel, because if you did, then all you need to do is open it up and unload the addons creating errors. Addon Control Panel also allows you to create sets of addons, so you can use it to make a set of addons working in 5.0.4 or a set of addons that aren't working or a set of addons that appear to be working but haven't been updated, and so on.
Once you have no bugs, you're home and dry. Using your set or list of working addons, log into every character with just that set active, and again take note of any bugs, refining your set or list as needed. If addons aren't working for specific classes or characters, make a note of that.
You'll then want to try running around and casting some spells. This is a great time to have a go with some of your new talents! Try the target dummies, and maybe even queue up for a dungeon if you're feeling brave. Open up the new pet and mount UIs. Drop a totem or two. All these actions may cause errors in addons to go on your list. Keep disabling and reloading!
What to do about broken addons
As we mentioned before, check out the big three addon sites, WoWInterface, CurseForge and WoWAce. If your addons aren't being updated, check out our list of updated addons to see if there's one there that is working that does something similar.
If your addon is being updated and has a forum for bugs and issues, grab the errors from your bug grabber addon and paste them into the forum. Addon authors are far smarter than you or me with code like this and can likely glean enough information from the gobbledygook to fix the error.
Very importantly, don't bother Blizzard with addon bugs. Their official guide lists addon issues as among the most commonly reported issues around patch day. Blizzard doesn't write, edit, or otherwise monitor addons, so don't contact them about addon problems. If you're having a problem and you're not sure if it's an addon or not, disable all your addons and see if that fixes the problem. If it does, then don't contact Blizzard!
Addons are what we do on Addon Spotlight. If you're new to mods, Addons 101 will walk you through the basics; see what other players are doing at Reader UI of the Week. If there's a mod you think Addon Spotlight should take a look at, email firstname.lastname@example.org.