How do I correctly install ceramic floor tile?
Disclaimer: I am not an expert. I have worked on about a half dozen seperate tile floors, though! These instructions are not meant for a shower wall or floor, just every day use floors like bathroom, kitchen, mudroom, etc. You should also have a decent bit of knowledge on how to use all the tools safely, and a lot of patience/time. This is not as simple as it sounds!

1) You need to lay down a layer of plywood. A half inch is good, but 3/4 in is better. IIRC, modern building code calls for 3/4 in. plywood. Screw it down and make sure there are minimal gaps. In the picture below, I had to replace a lot of plywood because some of it rotted through due to improper tiles laid before.

If you plan on any drains, toilet connections, or any other holes in the floor, try to figure out where they will be and make a approximate hole. If it's a little larger than it needs to be, it's not a big deal. Your plywood should be close but doesn't have to perfectly 100% nanometer precision fit your floor area.

Make sure your plywood doesn't move, creak, or slide around. If it does, rip it up and do it again so it doesn't. Bad subfloor = bad tile job = you fix it now, or you fix it in a few months/years.

Note: I took this picture part way through replacing the plywood.


2) Now your plywood is down. nice work! Next you will need to install something called "Hardie Board" or Cement backer board. This serves two purposes;


It is an extra layer of firm surface between plywood and tiles. Since plywood tends to have slight give (Which would cause tiles to crack), cement board goes in between and stops the slight give. By itself however, the cement board is too brittle and may not be strong enough to stretch between your joists.
It acts as a moisture barrier. For some reason if your tiles "leaked", the cement board would stop the water before it rots your plywood (Or in my case, the builders didn't use it, and I had to replace a lot of plywood).


Hardie board typically comes in two thicknesses, 1/2 in and 1/4 in. If you have only 1/2 in of plywood, I highly recommend 1/2 in hardie board. (You don't want someone to fall through the floor!). If you have 3/4 in (or two layers of plywood), the decision is yours. Try to match as close as possible with your surrounding floors.

You will need to cut your hardie board to fit as close as possible your entire floor. It is easier to cut strait lines with a masonry circular saw blade. You can use a masonry blade on a handheld jigsaw to do more precise cuts. You can also score and snap cement board. Be careful though, cement board is brittle and it can snap easily, sometimes too much! (That means start over). Also, you don't want to line up the seams on your cement board with the seams on your plywood. Try to overlap them by at least a few inches if possible, and try to use large pieces of cement board, not 1,000 tiny pieces.



IMPORTANT!!!!
Cement board cutting makes a lot of dust. It goes everywhere. I recommend cutting OUTSIDE!


  Many tile makers suggest/require a layer of thinset between the plywood and the cement board. It's not for bonding, it's to fill any spaces - it will also give you a tiny bit of practice before you get to doing it for the tiles. –  Ecnerwal




Once you have your boards all cut out, screw them down using cememt board screws (There is almost always a display case of them next to the cement board.



These are not drywall screws. They are not made of metal, so they cannot rust. They are self drilling (So you don't have to make 1,000 holes).

Put a screw every 6-12 inches, so that you have a nicely dotted floor. Extra screws won't hurt, but be gentle when putting them in near the edge of boards!



RULE OF THUMB: If your subfloor is not rock solid, your floor will break. If it bounces or moves, redo it now.

Take a break and go get some lunch! (Or sleep). You're half way there!

3) Now get your tiles! If you plan on doing a tile sealer (Like for expensive marble tiles) you should apply it before continuing. Decide your grout lines and pick up your spacers and tiles from the store!

Find the longest, strait line in the room. This will be your "strait line" for reference. 

Although I have seen professionals who have teams lay tiles as they cement them (Using lines drawn on the cement board to keep them true) lay a bunch of tiles, I recommend dry-laying out and cutting all your tiles. Trying to cement nicely and cut tiles at the same time is frustrating if you do it all yourself.

Cut your strait cuts using a wet saw (Or tile score and snap machine). I won't get in depth here, but be sure if you use a wet saw not to ever turn the tile mid cut. (Blade will shatter into a million pieces.)



If you need to do a weird shape, you can do a lot of strait cuts and then use a tile nipper or pliers to get it just right. Don't be afraid to start over- tiles are only a dollar each!

3.5) Plan your transitions. Do you want to butt the tile up to the carpet or hardwood next to it, or use a marble transition piece? (Transition pieces are easier!)

4) After you cut your tiles and are satisfied with how they are laid out, it is time to mix up the tile morter. You want it thick enough that your trowel can make shapes in it, but not so thick that it sets up before you pour it.
Wear clothes you don't care about. They will get all cement-y

This step is critical, and very hard to get right. Your first floor or two may be a little wavy. Try not to get too perfectionistic though. I promise it will look good if you use your spacers!

When you are sure you are ready to begin, scoop out cement on the floor, then make nice arcing shapes in it like below:



If you have a really tiny or awkward shaped tile (Or not enough room to fit the trowel) you can put the morter right on the back of the tile. The morter should hold the shape of the trowel. Don't pour too much at once or it will dry before you get to it.

Remember to put down your tile spacers as soon as you finish placing the tile. You should also be sure to put some weight (Don't stand on it if you can avoid it) on each tile, to make sure it gets a good connection with the morter. Try to level and evenly space your tiles (You cannot change it later). If a tile doesn't stick or slides around really easily, rip it up and do it again, or risk a compromised floor.
If you take a break, clean up any cement along the tile edge and then you can come back later!

If all goes well, you can pull up your tile spacers and the floor should look like it's coming together!



Once you finish laying all the tiles, let it dry for 24 hours. Don't walk on it for at least 16, and avoid any heavy traffic.

5) Time to grout! Get your grout float, some more junky clothes, and mix up your grout.



Get some grout out and mush it into the cracks. Make sure you really push it down, not just "graze" it over them. You want to then use your grout float to remove the excess grout sitting on top of the tiles. Don't worry if your grout lines aren't perfect. Our goal in this step is to lay the grout, not perfect it YET.



Done with grout? Great! DON'T TAKE A BREAK YET! (The grout will set up, and it's game over. I made this mistake once, and it took me 8 hours strait to scrape the mostly dried grout.)
You need to get out a clean bucket of water and a sponge, and "wash" the tiles. You will wipe off ALL excess grout, and use the sponge to make your "perfect grout lines". Don't press to hard or you will ruin the grout lines. Try to push even and make it look nice!



All done? Nice work! Go back and make sure you didn't miss anything ;)

6) After the grout has dried for two to four hours, it will get cloudy. Use a DRY cheese cloth to wipe away the haze. (Repeat after 1 more hour)



7) Congratulations! You can now seal your floor using one of those spray on seals (Then wipe up excess with a rag). Let it dry, and you're done!



Good job :D