




Magento is an open source eCommerce solution. It comes with a variety of tools, necessarily for building a successful online shop. Magento offers a lot of built-in capabilities, such as promo pricing and coupon codes, detailed statistics, and SEO options. You can also find great free Magento themes.
This Magento tutorial will provide you with comprehensive installation instructions for Magento shopping cart and will also show you how to create and manage a web site using Magento.
How to install Magento shopping cart on your hosting account and how to use Magento encryption key to secure data
Which are the main Magento features
Learn how to start creating your Magento web store - how to manage Magento categories, how to set a href="magento_price.htm">special prices and promotions in Magento and how to process Magento orders
How to add new products in Magento - how to add images, how to manage product promotions and how to import products in Magento, how to add quantity to Magento products
How to change Magento themes - where to find Magento themes and how to upload the new theme to your store
How to use Magento CMS options to manage your shop pages
How to set SSL certificate in Magento
How to use Magento customer manager
How to add Magento modules with Magento Connect. How to configure Magento shipping modules and Magento payment modules
10 most common issues and problems with Magento
How to send newsletters with Magent
How to use Magento widgets
How to optimize your shop for the Search engines (SEO)
How to configure Google Analytics for Magento
How to transfer Magento to another location
To create an online store with Magento you need reliable web hosting services. Our Magento hosting package is an excellent choice for this purpose. Here you get a free domain name, free Magento installation, Magento-optimized servers, expert technical assistance, free shared SSL, and more. If you already have a Magento site and need to change your host, SiteGround offers free website and database transfer.
Get Magento installed for free with Magento hosting pack!
There are two ways to install Magento. The first one is through your cPanel -> Site Software and the second is the manual installation.
Magento installation is easy and fast through the special Site Software tool from cPanel. If your web host doesn't offer such an installation, consider Siteground exclusive Magento hosting or go below to the Magento manual installation.
First go to cPanel find the Site Software icon.

Find Magento in the Ecommerce section and open it.

Enter the admin user name and the corresponding password.
You can also define the folder for your Magento installation. Leaving it blank will install the script directly in the web root directory for your account.
Click on the Install button to complete the script installation.
At the end you will get a confirmation screen with the URLs of your installation's front and back ends, the Magento admin login details and the link to the SiteGround Magento tutorial. The Magento encryption key will also be visualised.

The steps which you must follow in order to complete the Magento manual installation are:
Step 1: Download the latest stable Magento package from:
http://www.magentocommerce.com/download.
Step 2: Upload the package on your hosting account through your cPanel -> File Manager or using an FTP client.
You can learn more about cPanel from our cPanel Tutorial.
There are 2 options where you can place the Magento download file:
Once you upload the package, you can extract it through your cPanel -> File Manager. Using the same tool, please change the file permissions for the Magento files to 755.
Step 3: Create a MySQL database and assign a user to it through cPanel -> MySQL Databases. Remember the database details, since you will need them during the script installation.
The MySQL database is created with your username as prefix - username_databasename, and this is the name you have to use for your application.
Step 4: In our example we will install Magento in the public_html/magento folder. Once the package is uploaded and extracted and you have a MySQL database, navigate to http://yourdomainname.com/magento:

Click on the check box next to "I agree to the above terms and conditions" and click on the Continue button.
Step 5: Choose the preferred Time Zone, Locale and Currency:

Click on the Continue button.
Step 6: Enter the database details: Database Name, User Name and User Password. You can leave the other options intact.
Click on the check box next to "Skip Base URL validation before next step".

Click on the Continue button.
Step 7: At this point you should enter the personal information and the admin login details which you want to use. You can leave the Encryption Key field empty and the script will generate one for you.

Click on the Continue button.
Step 8: Write down your encryption key; it will be used by Magento to encrypt passwords, credit cards and other confidential information.

Well done! Your Magento installation was successfully completed. Now you can navigate to its Frontend or Backend.
The Magento Encryption Key is generated during the Magento Installation. It is used for the encryption and the security storage of the sensitive data in the script's database.

The Magento Encryption Key is kept in the app/etc/local.xml file. You can open it through cPanel->File Manager. You can find more details on how to view the file content in our cPanel tutorial.
The code which you should look for is:
<crypt>
<key><![CDATA[ENCRYPTION_KEY]]></key>
</crypt>
The ENCRYPTION_KEY string is replaced by the actual encryption key.
You need it if want to move your store data to a new Magento site. The Encryption key is used to recover the encrypted data.
When you migrate your database content to a new Magento installation, make sure that the encryption key from the existing installation is written in the new web site's local.xml file. Otherwise the encrypted data, stored in the new database will not work.
The large array of the Magento features is one of the main benefits of Magento. Through them you can easily develop and manage a successful online store. Magento features like different payment engines and shipping options along with the international support and high security using a private SSL certificate will make your shop an attractive place for e-commerce.
All the SiteGround servers are optimized in order to support the best Magento features hosting.
Once you have completed the Magento installation, you can proceed with the configuration of your web site. In this article we have briefed the basic options in Magento, which will help you set up your web store. Below you can find the following topics:
By default the main page looks as follows:

In order to start populating your web site with content, you need to navigate to the Magento's admin area:

Log in with the details entered during the script installation and navigate to System -> Configuration. Here you can configure the script options per your personal needs. Most options are self-explanatory:

From the Catalog category you can also manage the attributes, rewrite URLs for the products, perform searches, edit tags, generate a GoogleMap and manage reviews and ratings:

From the Promotions section you can set promotions, define the rules for them and the customers' groups for which the promotions are valid:

Multiple comprehensive statistics and reports can be obtained at the Magento admin area -> Reports.

If you want to configure Magento to work with another domain, you can do this by changing the Magento Base URL option in the admin area. To do this, go to your Magento admin area > System > Configuration and click Web on the left menu. Click the Unsecure option and then edit the Base URL field to configure the URL that will be used for normal (HTTP) connections.
To configure the URL for secure (HTTPS) connections, click the Secure option and then edit the Base URL field. Note that in order to use HTTPS connections for your domain without receiving a warning about the SSL, you need to buy a private SSL certificate.

In this tutorial we'll cover one of the most important aspects of managing an online shop - products. The tutorial includes the following topics:
You can add products from the Magento admin area > Catalog > Manage Products > Add Product (located at the top right of the page).

You need to select the product's settings (Attribute Set and Product Type) and click Continue.

On the next page you will have to fill in the product options (Name, SKU (Stock Keeping Unit), Weight, Status (Enabled/Disabled), Tax Class, etc). You can also add custom attributes to the product using the Create New Attribute button.

When ready, click Save and Continue Edit to go to the next step. Here you will have to fill in the price for your product. You can also add additional price options such as Tier Price and Special Price.

Click Save and Continue Edit to go to the next screen where you will be asked to enter some description for your product.

Click Save and Continue Edit and the product will be saved. You can further customize the product from the Product Information menu on the left. In order for the product to show up on your front page, make sure you set it as In Stock from the Inventory option in the left menu.
Adding an image to a product in Magento is simple. All you need to do is select the product which you want to add an image to from the product list available in the Magento admin area > Catalog > Manage Products.
Once the product is selected, click the Images option available in the Product Information menu on the left.
Click Browse Files and locate the file on your computer which you want to use as a product image. Then click Upload Files to upload the image to your shop. Finally, label your image and choose where it should appear using the radio buttons on the right. Click Save to save your product's image.

Clicking on the [Create New Attribute] button will allow you to add attributes to your products:

Once you are ready with the attribute, click on the [Save Attribute] button. Then you can click on the [Save] button in order to store your product information.
At this point you will be prompted for the price of the product. You can enter the default price, a special price and its validity, the cost and whether it is taxable:

Click on the [Save] button to continue. You need to assign the new product to a chosen category:

By default Magento includes the option to allow customers to tag your products. When a customer tags a certain product, the tag appears as pending and must be approved before it can show up on the product page.
Let's add a tag to our product, approve it and see how it then shows up on the product page. To add a tag to a product, simply write the tag word in the Add Your Tags: field available on the product page and click Add Tags. We'll add "Great" as a tag. A confirmation message will show up saying that the tag has been accepted for moderation:

Now go to your Magento admin area > Catalog > Tags > Pending Tags to view all your pending tags. In our case, there will be only one pending tag for the word "Great":

Click it and you will be taken to a page where you can change the status of the tag. It will appear as "Pending", so le't change it to "Approved" and click Save Tag.

Now that the tag has been approved, all other customers will see it on the product page.
You can also manage tags on a per-product basis. Go to your Magento admin area > Catalog > Manage Products and click the product the tags of which you want to check. Then from the left menu click Product Tags and you will see all the tags for that product.
It is rather inconvenient to manually add a large number of products at once to a Magento installation. Inserting products one by one will take a long time especially when speaking about hundreds or thousands of products.
In such cases you need an automatic way to add all those products to your Magento online store. We will address all steps you need to take in order to achieve a successful import.
First of all access your Magento administrator backend then go to Catalog -> Manage Categories.

Create all product categories you will need. You can do so by filling the form displayed below:

When you fill the form with all the information you like click the Save Category button.

Bear in mind that at this point you should make note of the newly created category ids. It would be best to save them in a simple text file as you will need them for the import. The category ID will be displayed upon saving the category. It is recommended to make notes as shown below

If you plan to have additional attributes for the products you are importing you will need to create those via Catalog ->Attributes ->Manage Attributes -> Add new Attribute. You can use this functionality to add all custom attributes that are not present by default in a standard Magento installation. Note also that you can add additional attributes later at the moment you are creating a sample product. It is up to you whether to craete the attributes before that or at the point you are creating the first product.
The next step is to manually add a product to your Magento installation. You will later export this product and use it as a template for importing the large batch. Make sure you include all attributes you will use for the products you are gonna import in the sample product. You might want to delete all default products that might be present as you will not need them then create the new product you will use as a template for the import.
Once you create the new product and save it it will appear in the products list for your Magento store.

You are now ready to make the sample export that you will use as a template. In the Magento administrator area go to System -> Import/Export -> Profiles -> Export All Products. Under Profile Information -> Store choose the desired store where you will be importing the products. This should also match the store where you have previously created a sample product. Under Data Transfer drop down menu choose Local/Remote Server. Under Data Format make sure CSV / Tab Separated is selected for type and click Save Profile. Then click export all products again and Run Profile in Popup.

This will save a file named “export_all_products.csv” under the var/export/ directory for your Magento installation. The export success screen will look like this and will specify the file name where the products were exported.

Using an FTP client download this file to your local computer. You can find the saved The file will include columns for each of the attributes you have defined for your products. Open it in a spreadsheet program (MS Excel, Open Office Spreadsheet) and add the products you would like to import. Make sure you are copy/pasting the corresponding attributes in the correct columns. Also here is when you will have to add the category ids. Use the ids from the text file you have saved earlier and put the corresponding category id for the products you are adding.
Once you have accomplished the above go back to the Magento administrator area and choose System -> Import/Export -> Profiles -> Import all products. Then choose Upload file and browse for the .csv file that you have updated with the products that needs to be imported. Once you have uploaded it click Import all products again, then Run Profile, select the .csv file you have just uploaded from the drop down menu and click Run Profile in Popup. A status scree will open and the products will start importing

When the export completes you will get an export success message.

You can now go to the products tab of the Magento administrator backend and check the imported products. They will be present there and assigned to the corresponding categories with the attributes you have added for them.
All you need to do to change the quantity of a given product is go to your Magento admin area > Catalog > Manage Products and click on the product the quantity of which you want to modify. Then from the Product Information menu on the left click Inventory and fill in the product quantity in the Qty* field.

Click Save to save the new quantity for that product.
In this tutorial we will show you how to create and manage Magento categories. The tutorial includes these topics:
In order to create a new category for your products, go to your Magento admin area > Catalog > Manage Categories. On the left you will see the available categories (if any) and above them you will see two options - Add Root Category and Add Subcategory. Since we have the Magento data installed, we have several categories. Let's create a new subcategory of the root category by clicking Root Catalog and then Add Subcategory.
You should fill in its Name and Description, add an image, fill in some Meta data for search engines, set it as Active so that it appears on your front page and include it in the Navigation Menu.
The last option is URL key, which, if set, will be used in the links to this category. This is useful for SEO purposes - when sites are indexed, it is considered a plus to have as many relative keywords as possible in the URL. If the category is called “PC”, you may want to set this field to “personal-computers” to include two additional keywords in the link.

These are the General Information settings for the category. From the 3 other tabs available you can also manage:
When you are done with your new category, click Save to create it.
Adding a Magento category image is simple. From the Magento admin area > Catalog > Manage Categories select the category which you want to add an image to. Then click the General Information tab and click Browse next to the Image field.
Locate the image you want to set for this category on your computer and then click Save Category to save it. The image will appear as a small thumbnail next to the Image field.

If you want to get a list of all available Magento categories, go to your Magento admin area > Catalog > Manage Categories. From the Categories menu on the left click Expand All and your whole category tree will be displayed.

To change the price of a product, go to your Magento admin area > Catalog > Manage Products. Click on the product the price of which you want to modify and then click the Prices option available in the left menu.

And here is an explanation for the most important options above:
In this tutorial we will explain how the Magento orders process works and how to manage your Magento orders.
To modify your Magento order options (checkout settings, shipping settings, payment methods, etc) you need to go to your Magento admin area > System > Configuration. The options we need are located in the Sales section in the left menu. Let's take a brief look at each of them:
As we mentioned in the Magento order options section, Magento has a very nice built-in email functionality called Sales Emails which allows you to manage the emails you send to your customers when an order is processed. Before you configure your emails, you might want to add new email templates. You can do this from the admin area > System > Transactional Emails.
Now let's take a closer look at each of the options in Sales Emails:
The order process consists of several simple steps. You start by adding an item to the cart, then proceed to checkout, select a checkout method, fill in some billing and shipping information, select a payment method and then place the order. The whole order process can be represented as:
Add to Cart -> Process Checkout (Billing/Shipping/Payment) -> Place Order
Once the order is placed, it will show up as pending in the Magento admin area > Sales > Orders. In the next section we'll explain how to manage these orders.
When a customer successfully completes the order process, you will receive a mail notification about the new order. You can review all your orders from the Magento admin area > Sales > Orders. In the previous section we placed an order, so let's click on it to see how it looks like.

You will notice several orange buttons at the top right of the screen. These are the actions you can take on the order:
In order to change your Magento theme, you need to find a new theme and download it. You can download new themes from:
Once you pick a theme and open its details page click on the Get Extension Key button, agree to the extension license agreement and click again on the same button.

The extension key will be visualised. For the current example the extension key is:
magento-core/Interface_Frontend_Default_Modern
Select and copy it.
Open the Magento Admin Area->System->Magento Connect->Magento Connect Manager. Enter again the admin login details and paste the extension key in the Paste extension key to install field. Click on the Install button.

Once the installation is completed return to the Magento Admin Area and open System->Configuration->Design->Themes.
Enter the theme name in the Default field and click on the Save Config button.

The front page might not load correctly. The reason could be the number of the columns in the new theme's home page layout.
You can fix this through the Magento Admin Area->CMS->Manage Pages. You will find two home pages. One is with 2 columns layout and the other is with one. Disable the first one and enable the second by clicking on their status links.

Now the front page will appear correctly with the new theme.

In order to manage your web site pages you need to navigate to the CMS section under the Magento admin area.
Click on the Manage Pages link in order to proceed with the pages' modification:

You can select the page you want to edit

and modify it to your preference.
Static blocks is another useful option. For example, you can edit the footer block which contains the links located at the bottom of your main page:

The Poll Manager allows you to create and edit your polls:

The private SSL certificate is an important upgrade to your website. The basic function of an SSL is to encrypt all communication between the browser and the server, ensuring that all data goes through a secure (HTTPS) connection. An SSL certificate is a necessity when you want to operate an online shop and process the sensitive customers data through your software. It helps you gain your clients' trust and increase your web site's search engines rank. You can purchase a private SSL from the SiteGround SSL Certificate page.
The certificate could be easily enabled through the Magento Admin area -> System -> Configuration -> Web. There you can define the insecure (non-SSL) and secure (SSL) URLs:

In the Base URL fields you should enter the unsecure (regular) web site URL and the web site URL for the SSL connections. You can leave the other values unchanged, as they will be set automatically by the script after you enter the Base URL. Basically the other fields define the URLs of the main Magento store page and the URLs of the skin, media and JavaScript folders. The drop-down menus allow you to enable and disable the SSL support for the web site's frontend and backend.
Bear in mind that the SSL connection over HTTPS is slower than the HTTP, thus secured connection should be applied only to the pages that contain and process sensitive information. Also, it is recommended to run the admin interface through an SSL. In this way you will increase the security of the script's backend.
New customers can sign up for your online store through the main page->My account section. They should click on the [Create an Account] button and fill in the details:

You can add new customers or manage the existing ones through the Customers section in the Magento admin area:

In order to change the customer details, click on the [[Edit]] button.
There you can alter all customer details, including the username and the password, the address, monitor the orders, the shopping cart, the wishlist items, the reviews and the tags and manage the newsletter:

You can add and manage the customers' groups through the Customers section -> Customer Groups:

You can monitor the online users from the Customers section -> Online Customers.
The newsletters which you will send to your customers can be composed and managed through the Newsletter section in the Magento admin area:

You can create templates, manage the newsletters' outgoing e-mail queue, include subscribers for the newsletter and check the problem reports.
SiteGround is the best Magento host because:
If you don't have a Magento site yet, you can sign-up for our Professional Magento Hosting and get a FREE Magento installation!
Magento has the built in functionality to automatically install additional modules for your online store. Basically all you need is the extension code and the script will install it for you in just a few clicks. In this tutorial we will explain in details how to install additional modules/extensions for Magento via Magento Connect. Also we will provide instructions how to upgrade existing modules/extensions for Mangeto.
First of all you need to log in to the Magento administrator area. Then go to System -> Magento Connect -> Magento Connect Manager.

A new page will open for the Magento Connect Manager and you will be asked to login with your administrative login again. You should use the same login credentials as for your Magento administrator area.

Once logged in you will see 2 sections: Extensions and Settings. It is recommended to verify the options chosen in the Settings section first.

In the Settings section there are 2 options you can choose from a drop down menu: Beta and Stable. For standard usage the Stable option is recommended.

Setting it to Beta gives you the possibility to check on Beta extensions. This is generally not recommended as Beta extensions might have bugs and could disrupt the functionality of your online store.
It is of utter importance to create a backup before downloading extensions or extension upgrades. You can check this part of the tutorial for more information how to create a backup. Thus if an issue occurs after downloading and installing an extension you can revert the changes by restoring a working backup.
Once you have performed the backup you can access Magento Connect Manager -> Extensions tab. Click the link to Magento Connect.

This will open a new window for Magento Connect and let you browse the available extensions. There is a search functionality included and modules are separated in different categories.

There are various extensions. Some are free and others are paid. In each case the download from Magento Connect requires registration in order to get the extension key. Instructions may vary depending on the specific extension, but you will always be prompted to do the needful for the download.
Once you have chosen an extension click the Get extension key button.

A prompt will pop up asking you to agree to the licence agreement, then click again the Get Extension Key button.

At this point you will be provided with the Extension key:

This is the key that you need to copy and paste in your Magento Connect area. Then click install.

The new extension will be automatically downloaded and installed for your Magento online store. Note that any errors will be marked in blue. Generally if this occurs there will be information about the problem and instructions how to rectify it. After the extension is properly installed a screen for a successful install will appear:

Once the extension is installed it is important to go back to Magento admin and adjust its options according to your needs. Also make sure that your online store is properly functioning and there are no errors.
In order to check for upgrades for the Magento extensions you use follow the instructions below.
Login to the Magento admin area -> System -> Magento Connect -> Magento Connect Manager. On the Extensions Tab click on Check for Upgrades.

The Magento Connect manager will automatically connect to the server and check for available upgrades. If you have an extension that has a published upgrade they will be colored in yellow and you will be able to apply the upgrade to your Magento module. Note that it is again extremely important to backup your Magento online store before applying the upgrade. From the drop down menu you will be able to select the desired upgrade. Then click Commit Changes. The chosen upgrade will be automatically downloaded and applied.
Once the extension is upgraded you can refresh the page via the Refresh button. Then check the current status of your extension. You will find the yellow colour is removed for your Upgraded Extension and the Installed column will be changed to the version number you just installed.

You can now click Return to Admin and check if any new Configuration Settings for your Extension are available. Also make sure that your online store is properly functioning and there are no errors.
You can configure the Magento shipping methods through the Magento admin area -> System -> Configuration -> Sales ->Shipping Methods:

Before enabling the shipping method you should configure the shipping settings from the Magento admin area -> System -> Configuration -> Sales -> Shipping Settings:

Expand the Origin section. Enter the address from which the shipping will be initiated. Usually this is the address of the warehouse where the products are stored.
Then expand the Options section. If enabled, the option Allow Shipping to multiple addresses allows goods from a single order to be shipped to different addresses. It is useful when a customer orders many products of a single kind, like post cards or pens for example and wants they to be delivered to more than a single address. You can define the maximum number of allowed shipping addresses in the Maximum qty allowed for Shipping to multiple addresses field.
In this tutorial we will illustrate how to enable the USPS shipping method.
Open the Magento admin area -> System -> Configuration -> Sales ->Shipping Methods and navigate to the USPS section:

Enable the shipping method, enter the Gateway URL and the UserID. The next options allow you to describe the packages which you need to be delivered (size, weight and more).
Then you can define the handling fee. It can be fixed or calculated on the percent basis. After this you can pick the allowed delivery methods. Also, you can configure a free shipping method and define whether there is a minimum purchase sum for it.
At the end you can define the countries for which the shipping is supported and the default error message in case the service is refused. In the Sort order field you should enter the position of this shipping method compared to the other shipping methods offered to the customers.
Magento provides different payment methods in order to allow you to accept payments using different payment processors like Paypal, Authorize.net and many more. The clients can also pay through regular credit cards like Visa, Master Card, American Express, Discover, Switch/Solo, check/money orders and other payment solutions.
You can configure the Magento payment methods through the Magento Admin Area -> System -> Configuration -> Sales -> Payment Methods:

In this tutorial we will illustrate how to enable the credit card payment method.
The credit card payment method can be configured through the Saved CC section:

Enable the method, enter its title, set the new order status, pick the supported credit cards, decide whether the credit card verification is required, define from which countries to accept payments and the range of the accepted payments.
In the Sort order field you should enter the position of this payment method compared to the other payment methods offered to the customers.
This tutorial will show you solutions to some of the most common Magento issues that users face when managing their online shops. It covers the following topics on the top 10 most common Magento issues:
There are two things you should do in order to configure Magento to work with a new domain:
Go to your cPanel > phpMyAdmin. Select your Magento database from the left menu, find the table called core_config_data and click on it.
Click the Browse tab and edit the first two fields:
web/unsecure/base_url
web/secure/base_url
by clicking the pen icon in front of each of them. Replace your old domain name with your new one and click the Go button to save the change.
The Magento cache folder is located in your Magento installation directory > /var/cache. To clear the cache, simply delete the folder.
Many Magento issues can be fixed just by deleting the cache.
To change your Magento admin password, go to your cPanel > phpMyAdmin, select your Magento database, click the SQL tab and paste this query:
UPDATE admin_user SET password=CONCAT(MD5('sGnewpass'), ':sG') WHERE username='AdminUsername';
Note: You have to change newpass in the MD5('sGnewpass') with your new password, and change *AdminUsername* to your Magento admin username.
Execute the query by clicking the Go buttong and your password will be changed.
To enable Search Engine Friendly URLs in Magento, you have to log in to the Magento's administration area and click on the Configuration button. Under the System navigation menu, switch to Web page from the sub-navigation panel on the left.
When the page loads, you will see blue lines which represent closed options tablets. Click on the Search Engines Optimization tab and turn on the Use Web Server Rewrites (mark as Yes). Click on the Save Config button and your Magento SEF URLs will be enabled.
Many Magento issues are caused by slow performance. The recommended way to speed up Magento's performance is to enable its Compilation function. The performance increase is between 25%-50% on page loads.
You can enable Magento Compilation from your Magento admin panel > System > Tools > Compilation.
For SEO and usability purposes you may want to redirect your visitors to open your site only through www (http://www.yourdomain.com).
To do this in Magento, you should open the .htaccess file in the folder where your Magento is installed. In it locate the RewriteEngine on line and right after it add the following lines:
RewriteCond %{HTTP_HOST} ^yourdomain.com$ [NC]
RewriteRule ^(.*)$ http://www.yourdomain.com/$1 [R=301,L]
Once you do this, save the .htaccess file and log in to the Magento admin area > System > Configuration menu and from the left panel click the Web button.
Unfold the Unsecured set of options and change the Base URL option from http://yourdomain.com to http://www.yourdomain.com.
Save the changes and your Magento will start working through www.yourdomain.com only!
You can disable the Compare products functionality in Magento by following these steps:
public function getAddUrl($product)
{
return $this->_getUrl(’catalog/product_compare/add’, $this->_getUrlParams($product));
}
to
public function getAddUrl($product)
{
//return $this->_getUrl(’catalog/product_compare/add’, $this->_getUrlParams($product)); return false;
}
<block type="catalog/product_compare_sidebar" before="cart_sidebar" name="catalog.compare.sidebar" template="catalog/product/compare/sidebar.phtml"/>
to
<!-- <block type="catalog/product_compare_sidebar" before="cart_sidebar" name="catalog.compare.sidebar" template="catalog/product/compare/sidebar.phtml"/> -->
It is not difficult to set up a blog in Magento. However, note that functionality is not included by default and you will have to use a custom extension to add it.
You can search Magento Connect for an extension that will fully suit your needs. One of the popular free extensions that you can use is the Magento Blog – Community Edition.
All Magento extensions are installed in a similar way that is thoroughly explained in our Magento Connect Tutorial.
Once the extensions is installed, you will have one additional section in the top menu of your Magento admin area called Blog. From there you can adjust the newly-installed Blog settings, add posts etc.
Magento includes contact form functionality by default. A link to a contact form can usually be found in the footer of your Magento installation.
Of course, you can add a contact form on any page. All you need to do is:
Paste the following code using the HTML option of the WYSIWYG editor:
<!– CONTACT FORM CODE BEGIN–>
{{block type='core/template' name='contactForm' template='contacts/form.phtml'}}
<!– CONTACT FORM CODE END–>
Save the changes and the contact form will appear on the desired page.
As a solution to the “Access denied” issue, you should log out from the Magento admin area and then log in again.
If the above does not help, you should reset the admin privileges. This can be done through the Magento admin area > System > Permissions > Roles > Administrators.
Click on the Role Resources option from the left menu and make sure that Resource Access is set to All.
Click on the Save Role button and the permissions will be reset.
You can add a new group from the Magento admin area > Customers > Customer Groups > Add New Customer Group.
Once a customer registers, you can change the group he/she belongs to from the Magento admin area > Customers > Manage Customers. Click on the Edit link next to the customer and change the group from the Account Information > Customer Group. Click Save Customer.
Set the discount from Promotions > Catalog Price Rules > Add New Rule.
In the Customer Groups select the customers' groups for which the promotion is valid. Enter the other details, set the rule actions and conditions. Finally, click Save Rule.
The above ten tips will hopefully help you resolve at least some of the Magento issues you have faced or are about to face.
It is important to inform your customers about new promotions and discounts. The Magento Newsletter functionality allows the store administrators to send newsletters to clients who are registered for them.
First you should enable the option for the customers to confirm that they agree to receive the newsletter. This feature can be turned on from the Magento Admin Area-> System-> Configuration-> Customers-> Newsletter. Expand the Subscription Options area and change the Need to Confirm field value to Yes.

The clients can unsubscribe for the newsletter. The administrator can define the Unsubscription Email Sender and the Unsubscription Email Template through the corresponding drop-down menus. The same is valid for the newsletter's success and the confirmation e-mail senders and templates. You can use one and the same or you can customize them per your needs.
Click on Save Config to confirm the modification.
Then you should set the newsletter template through the Magento Admin Area-> Newsletter-> Newsletter Templates-> Add New Template.

Enter the template name, the subject of the newsletter which will be sent, the sender's name and e-mail and the newsletter template's HTML code.
Once you are ready, preview the template using the Preview Template button and save it by clicking on the Save Template button.
The template will be added to the corresponding list and you will be able to edit it.
If you plan to send the message to a large list of recipients, you should divide the list in small parts. You can configure such a functionality through the Magento Admin Area-> Newsletter-> Newsletter Templates-> Action-> Queue Newsletter.

In the Queue Date Start field define when the newsletter will be sent. The messages will leave the e-mail server in small batches. Check the other options and click on the Save Newsletter button when you are ready.

You can find different newsletter reports. From the Magento Admin Area-> Newsletter-> Newsletter Queue you can monitor the newsletter queues' progress.
You can see the list of the customers, subscribed for the newsletter in the Magento Admin Area-> Newsletter-> Newsletter Subscribers. You can manually unsubscribe them.
The Magento Admin Area-> Newsletter-> Newsletter Problem Reports section shows errors which have occurred during the newsletter sending and you can take the necessarily steps to resolve them.
Magento Widgets are Magento extensions with a predefined set of configuration options. Through them the store administrators can enrich the front-end blocks functionality. They provide great control and flexibility in creating informational and marketing content through the Magento administrator panel. Once installed, the widgets options can be tuned by the Magento store administrators.
The Magento widgets can be used after script version 1.4.
They can be installed in the same way as the other Magento extensions.
Some of the possible implementations of the Magento widgets are:
In this tutorial we will show you how to install a sample widget #1. First you need to get the extension key from the corresponding Magento page. Click on the Get Extension Key button, agree to the extension license agreement and click again on the same button.

The extension key will be visualised. For the current example the extension key is:
magento-core/Sample_WidgetOne
Select and copy it.
Open the Magento Admin Area->System->Magento Connect->Magento Connect Manager. Enter again the admin login details and paste the extension key in the Paste extension key to install field. Click on the Install button.

Once the installation is completed enable the widget for your Home Page. Return to the Magento Admin Area and navigate to CMS->Pages.
Click on the Home Page link.

Open the Content section and click on the Insert Widget icon.

A new window will be opened. You can pick the Widget Type from the drop-down menu. Then click the Insert Widget button.

The widget will be inserted. Click on the Save Page button in the Magento administrator area. After this you can check your Home Page.

The chosen widget is successfully inserted.
Magento is one of the most search engine friendly e-commerce applications.
The Search Engine Optimization for Magento can be enabled through the script admin area -> System -> Configuration -> Web -> Search Engines Optimization:

In the URL Options it is recommended to turn off the Add Store Code to Urls function.
Additionally, the Magento installation set the default page title to Magento Commerce. Pick a more descriptive one and change it from the script admin area ->System -> Configuration -> Design -> HTML Head. Enter the new one in the Default Title field. It will be used for non-content pages without custom title. If you want your store name to appear in all pages' titles put it in the Title Suffix field.
SiteGround is the best Magento host because:
If you don't have a Magento yet, you can sign-up for our Professional Magento Hosting and get a FREE Magento installation!
Google Analytics is a free Google service which allows the webmasters and web site administrators to monitor their web sites' traffic and conversion ratio.
Magento supports two types of tracking:
First you need to sign up at http://www.google.com/analytics/sign_up.html. You will receive a Google Analytics account number. Write it down since you will need it for the Magento configuration.
Then configure the Google Analytics tracking in Magento. Open the Magento Admin area and navigate to System->Configuration->Sales->Google API.
Expand the Google Analytics section.

Pick the Yes option from the Enable drop-down menu. Enter the Google Analytics account number in the Account number field. Click on the Save Config button.
This tutorial provides detailed information how to move a Magento store from one host to another (or to a different hosting account).
On SiteGround servers you have phpMyAdmin included by default in cPanel for your account. In other cases you will have to use the same tool or a similar one that is capable of exporting your MySQL database. Detailed information how to perform a MySQL backup you can find in our MySQL Tutorial.
Alternatively if you don’t have phpMyAdmin installed but you have shell access you can use mysqldump tool. The syntax is as follow
mysqldump -h HOST -u USER -p DATABASENAME > FILENAME.sql
Where:
HOST is the database server hostname or it can be omitted if you are running the MySQL server locally.
USER - a user with full privileges to the Magento database.
DATABASENAME - is the full name of the database which Magento is running.
FILENAME - can be anything you find suitable for the backup file.
Also if you have Plesk, DirectAdmin or any other web hosting management tool- you can look at the available options. Many panels allow you to dump the database with just a few clicks. For example cPanel does have an option for this.
You will need to download all files from your current store and upload them at the new location. This can be a time consuming task considering that a standard Magento installation consists of many files. A good alternative is to archive the files prior to downloading/uploading them if possible.
If you have SSH access you can log on your server -> magento installation directory and archive all the files using the following command:
tar -czif ARCHIVENAME.tar.gz
This will create a tarball archive of all the files in the directory.
You can now download the archive and easily upload it to the new location. To extract it at the new location use the following command in the desired destination folder for the Magento installation:
tar -xzif ARCHIVENAME.tar.gz
After the files are restored you should alter the configuration file in order to match the new settings. All you need to change here is the database details at the new location. Those are stored in the app/etc/local.xml file. The lines you need to alter are:
<host><![CDATA[HOSTNAME]]></host>
<username><![CDATA[USER]]></username>
<password><![CDATA[PASSWORD]]></password>
<dbname><![CDATA[DATABASENAME]]></dbname>
HOSTNAME should be the database hostname, most commonly - localhost
USER is a user that has full privileges to the database
PASSWORD is the password for the database user
DATABASENAME is the complete database name for the database you are gonna use with the transferred Magento
Once you have adjusted the options above you should restore the database at the new location.
A good practice is to add several options in the MySQL backup file prior to uploading it. The following should be added in the beginning of the SQL file:
SET SQL_MODE=”NO_AUTO_VALUE_ON_ZERO”;
SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT;
SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS;
SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION;
SET NAMES utf8;
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE=’NO_AUTO_VALUE_ON_ZERO’;
SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0;
The next option should be added at the end of the file after all other queries:
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT;
SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS;
SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION;
SET SQL_NOTES=@OLD_SQL_NOTES;
You can now import the database using phpMyadmin -> Import or another MySQL tool depending what kind of access you have to the website.
In case you would like to restore the database via shell command you can use the following:
mysqldump -h HOST -u USER -p DATABASENAME < FILENAME.sql
and enter the password for the database user when asked.
Note that if the Magento online store is supposed to work with a different domain name at the new location you should alter the entries for it in the MySQL database.
The table you should edit is core_config_data and the values you need to change are in the path column. Change the web/unsecure/base_url and web/secure/base_url to match the new domain name by altering the value column for both records.

That is all. Your Magento should now be properly functioning at the new location.
You can configure the shipping and the payment methods for your script through the admin area -> System -> Configuration -> Sales:


In this tutorial we will illustrate how to enable the USPS shipping method and the credit card payment method.
Before enabling the shipping method you should configure the shipping settings:

The fields there are self-explanatory.
Once you are ready, click on the Shipping Methods -> USPS link:

Enable the shipping method, enter the Gateway URL and the UserID. The next options allow you to describe the packages which you need to be delivered.
Then you can define the handling fee. It can be fixed or calculated on the percent basis. After this you can pick the allowed delivery methods. You can configure a free shipping method and define whether there is a minimum purchase sum for it.
At the end you can define the countries for which the shipping is supported and the default error message in case the service is refused.
The credit card payment method can be configured through the Payment Methods -> Saved CC section:

Enable the method, enter its name, set the new order status, pick the supported credit cards, decide whether the credit card verification is required, define from which countries to accept payments and the range of the accepted payments.
SiteGround is the best Magento host because:
If you don't have a Magento yet, you can sign-up for our Professional Magento Hosting and get a FREE Magento installation!
You can learn how to import your products in Magento by following the corresponding part of our tutorial:
How to Import Products in Magento
However, during the import and the export procedures different issues can occur.
The most common ones are as follows:
• Incorrect CSV file formatting - A bad formatting of a CSV file can cause a failed data import or missing rows after the import. The issue occurs more often with CSV files that with MS Excel since CSV is more prone to data failures due to a bad formatting.
• Issues with short descriptions - Although we can use a custom size for short descriptions in Magento, it is recommend to limit them to 255 characters.
• Issues with import/export paths - The import/export paths should be writable. Otherwise the corresponding procedures will fail. More details on how to set the files and folders permissions can be found in our cPanel tutorial.
• Problems with images locations - If we import images with the products, they should be stored in the /media/import folder. Otherwise error messages will be displayed and the images will not be imported. For example if the value of the image collumn is /image_subfolder/image.jpg then the correct path will be /media/import/image_subfolder/image.jpg.
• Problems with multiple images import - The import of multiple images through CSV and MS Excel image, small image and thumbnail image columns is causing problems.
This part of the Magento tutorial will provide detailed information regarding the Magento's default files and folders structure.
You will learn more about the functions of main files and folders included in the Magento package.
The files and folders included in the main directory are as follows:
• .htaccess - contains mod_rewrite rules, which are essential for the Search Engine Friendly URLs. There you can also find standard web server and php directives that can improve your web site performance.
• .htaccess.sample - this is a backup of the .htaccess file. If you modify .htaccess it can be used in order to get the default settings.
• 404 (directory) - The folder stores the default 404 template and skin for Magento.
• app (directory) - This folder contains the modules, themes, configuration and translation files. Also there are the template files for the default administration
theme and the installation.
• cron.php - a Cron Job should be set for this file. Executing of the file on a defined time period will ensure that the complicated Magento caching system will not affect the web site performance.
• downloader (directory) - This is the storage of the web downloader files. They are used for the installation and upgrade of Magento through your browser.
• favicon.ico - the default favicon for Magento. A small icon that is shown in the browser's tool bar once your web site is loaded.
• index.php - the main index file for Magento.
• index.php.sample - A backup of the default index file. It can be used to revert the changes in a case of a index.php modification.
• js (directory) - Contains the pre-compiled libraries of the JavaScript code included in Magento.
• lib (directory) - The Magento core code is located in this folder. It contains the software's PHP libraries.
• LICENSE_AFL.txt - The Academic Free License under which the Magento software is distributed.
• LICENSE.txt - The Open Software License under which the Magento software is distributed.
• media (directory) - This is the storage of the Magento media files - images out of the box, generated thumbnails, uploaded products images. It is also used as a container for importing images through the mass import/export tools.
• pear - The file controls the automatic update through the downloader script and SSH. It handles the update of each individual Magento module.
• php.ini.sample - This file contains sample php directives that can be used in order to modify your PHP setup. If you want to alter the default setup edit the file and then rename it to php.ini.
• pkginfo (directory) - Contains files with information regarding the modules upgrades' changes.
• report (directory) - This folder contains the skin of the Magento errors reports.
• skin (directory) - There are located the themes files - images, JavaScript files, CSS files, Flash files. Also there can be found the skin files for the installation of skins and administration templates.
• var (directory) - Cache, sessions, database backups, data exports and cached error reports can be found in this directory.
If you want to modify an existing template or set a new one you should know that the template files are separated in 3 folders:
• /app/design/frontend/default/YOUR_TEMPLATE_NAME/layout/ - Contains the .xml files that define which modules should be called by the template files and loaded in defined areas on the site.
• /app/design/frontend/default/YOUR_TEMPLATE_NAME/template/ - Contains files and subfolders that structure the final output for the users using the functions located in the layout/ folder.
• /skin/frontend/default/YOUR_TEMPLATE_NAME/ - Contains the CSS, images, JavaScript and Flash files related to the template.