This is a very quick guide on adding web basemaps to QGIS 2.18. I’ve created it as it is often the first step in creating a new map.
The easiest way to add in a basemap from the web is to use one of two plugins to add in the data for you. The two best plugins I have found for doing this are the OpenLayers and QuickMapServices.
The layers area accessed via the Web menu in the top bar of QGIS
Use the drop down menus to choose a layer and then simply click on it to add it to your map.
QuickMapServices from NextGIS has a huge number of services available (790 at the last count, but not all of them are active ) . You can select a few of these using the same select and click method as the OpenLayers plugin, but as there are so many to choose from the search interface is a much needed facility:
Once selected from the menu the Search QMS window opens on the right side of the map:
Once you have found a service you want, just click Add. There is a full cataloge on the NextGIS website here: https://qms.nextgis.com/
Along with the regular Web Mapping Services (WMS) you can also get Tile Map Services (TMS), Web Feature Services (WFS) and GeoJSON data piped straight into your map.
I have found layers added via QMS to be much quicker than those added using OpenLayers, however some layers are a little less stable and sometimes all layers from the plugin refuse to work without restarting QGIS.
OpenLayers is steady and stable and can usually be relied upon to provide you with maps. QMS has a much larger range of maps available and serves them up lightning fast, great for backdrop maps when making animated maps with the TimeManager plugin.
Basically, have them both installed and use whichever suits your project!