Before explaining HOW, here are some important SEO tips:
Search engines will index all of your pages ...
Build your pages to have proper text, meaning significant text, to increase their content value for search engines ...
While meta tags are helpful, they are not the end all and be all ...
The content is more significant ... the content relative to the meta tags is significant ...
Notice the custom meta tags for each Category and Product ...
Notice the categories_description and products_description ... these are highly important ... Your descriptions need to be content-rich and keyword-rich.
Lack of content is the major issue if your site is not getting good search engine rankings.
To define meta tags for a Category, go to the Admin -> Catalog -> Categories/Products once you're there..click on the meta tag icon (the last one to the right for any given category) and set your content.
Note: A meta tag entry on this screen must contain something in the keywords and description fields or it is not considered complete, and will be ignored.
If you want to define meta tags for individual Products, you will navigate to that product and click on the meta tag icon to define it.
Note: there are custom settings in Product Types so if you don't want, for example, products_price in the title ... you can globably set the defaults for 1 or all product types.
To define site-wide tags such as charset, keywords and description, go to /includes/languages/english/YOUR_TEMPLATE_NAME/meta_tags.php and edit that file for keywords, site title, site tagline and site description.
*NOTE:* The references to "YOUR_TEMPLATE_NAME" mean that you should use the name of the folder of your custom template that you've built for your site.
For meta tags not covered by the previous paragraph, copy the includes/templates/template_default/common/html_header.php file to your includes/templates/YOUR_TEMPLATE_NAME/common/ folder. Open it up and add your own meta tag to those already there by default.
PAGE-SPECIFIC Title, Description
For pages which only display "one thing", and are not dynamic lists or product/category/etc you can edit the /includes/languages/english/YOUR_TEMPLATE_NAME/meta_tags.php file and create specific definitions for those items there.
Just follow the pattern as explained:
// Home Page Only: define('HOME_PAGE_META_DESCRIPTION', '');
// NOTE: If HOME_PAGE_TITLE is left blank (default) then TITLE and SITE_TAGLINE will be used instead.
define('HOME_PAGE_TITLE', ''); // usually best left blank
// EZ-Pages meta-tags. Follow this pattern for all ez-pages for which you desire custom metatags. Replace the # with ezpage id.
// If you wish to use defaults for any of the 3 items for a given page, simply do not define it.
// (ie: the Title tag is best not set, so that site-wide defaults can be used.)
// repeat pattern as necessary
// Per-Page meta-tags. Follow this pattern for individual pages you wish to override. This is useful mainly for additional pages.
// replace "page_name" with the UPPERCASE name of your main_page= value, such as ABOUT_US or SHIPPINGINFO etc.
// repeat pattern as necessary