Why does my site still use URLs containing the "q" query parameter? I have pathauto, transliteration and automatic node titles enabled.

In the settings, my content path pattern is content/[node:title]. I expect the URLs to be in the format site/content/page-name, whereas what I have is site/?q=content/page-name.

I cannot figure out why. Do you have any idea?
The initial ?q= has nothing to do with pathauto, that is handled by Clean URLs. You should start by verifying that you have those enabled on admin/config/search/clean-urls

If clean URLs are enabled but don't work, or fail to become enabled, the most common cause is that the .htaccess file from the Drupal root directory is missing. This is unfortunately somewhat common since the leading dot in the filename makes the file hidden.

Occasionally, the clean URLs test gives a false negative result.

This assumes you are running a Apache web server; otherwise, you will need to seek URL rewriting help for your particular webserver. You will be able to find Drupal specific instructions to the vast majority of webservers with Google.