When it comes to search engine optimizing a Drupal website, some things are supported out of box. But several modules are not in core and they are just essential, without them you can lose a lot in position of your content on mayor search engines.
Out of box Drupal support clean URL, good structured titles and in Drupal 7 RDF (Resource Description Framework). Additional very good structured code is in most of available themes. In 2013. is this good starting point, but not the end of SEO optimization.
Things that every Drupal website needs to improve:
- better URL alias (not default node/ID or taxonomy/term/ID)
- better title tags
- adding meta tags / keywords - not so important for Google, but for me is must have
- additional tags, e.g author, publisher
- redirect what is wrong
Modules which are "must have" for your website, and I mean for all sites - media sites, blogs, social, ecommerce, etc..
In short, the Pathauto module automatically generates URL aliases for all kinds of content (nodes, taxonomy terms, users). It's very easy to setup this module and settings for generating URL aliases, beside this module is still available to you option for manually entering of alias in nodes, terms. This module also work very well on sites with several languages and is probably among ten most used Drupal modules.
I look on this module as submodule of Pathauto, while his main task is to check and correct errors in redirect, duplicate content and check access to the URL.
In short, very simple but useful module, without them you will have some problems (if you use only Pathauto)
Create redirects for your needs, or redirect not existing URL to right one. If you have enabled database logging on Drupal, every URL which does not exist in system is logged and with this module you can redirect them in few seconds.
Most users will not consider this module as important for SEO while is input filter. Among several things one of most is that this module correct links to internal nodes or images, or is very useful when you migrate your site to new domain.
Pathologic is designed to be a simple, set-it-and-forget-it utility, so i recommend that used them. Broken links are very bad for SEO
Ok, now we enter to grey zone. Most people will probably suggest Page title & Opengraph module, but from last several sites which have built, this module have all this together.
It supports core nodes, taxonomy, frontpage and users, and you can cover all this data: Canonical URL, Copyright, Meta description, Generator, Meta keywords, Open Graph Protocol (sub-module), Original Source, Publisher URL, Robots, Shortlink URL, Title (e.g. Page titles). Also exist submodule for Dublin Core & Twitter Cards, and you can export meta tag settings to code.
As the name of module says, it's generate XML sitemaps of your site according to sitemaps.org specification. It's very flexibile and performance optimized. Support nodes, taxonomy terms, users, menus and custom links. Created sitemaps is possible automatically submit to Google and Bing search engines
This is a basic list of things and modules that you need to use. Modules alone will not raise your website to sky, but with good optimized code , structure, and finally content you can make great results.
Further you can also found several more modules which are useful like SEO tools for analyzing kewyords & content and optimization of them. But take first step, use above listed modules and then go further. Using all SEO modules will not improve your results over night.