1. A computer implemented method comprising: receiving, from a user of a social networking system, a content item to be posted on the social networking system by the user; receiving, at the social networking system from the user, a location query for a location associated with the content item to include by the user in the post with the content item, the location queried for being different from a current location of the user, the location query having one or more attributes; accessing a user profile associated with the user in the social networking system, the user profile describing characteristics of the user and other users of the social networking system connected to the user; accessing location data stored by the social networking system, the location data identifying a plurality of locations; comparing the one or more attributes of the location query to one or more attributes of each of the plurality of locations; selecting candidate locations from the plurality of locations, each candidate location having at least one attribute matching an attribute of the location query; ranking the selected candidate locations based on data from the user profile associated with the user; selecting a subset of the selected candidate locations for presentation to the user based on the ranking from which the user can select a location to include in the post with the content item, the subset including different types of locations such that the user is presented with a diversity of locations; and presenting the subset of the selected candidate locations to the user for selection of the location to include in the post with the content item.