Problems, tips and tricks about Magento
I am new to Magento. I find many configurations that has to be done before you make your Magento site live. So I thought I should list out all important configurations at one place so that this list can also be used as checklist as well as tips and tricks for new Magento developers.
- Install Magento on XAMPP
Magento requires itself to be installed on a host name with at least one period ‘.’ in it, therefore installing to http://localhost doesn’t work. So, before you install it on your local machine, you should update your host file and add some domain name. For e.g. magento.local. In windows normally host file is located at C:/Windows/System32/drivers/etc/hosts location. In Linux it may be in /etc/hosts. Please refer this wiki page for more about Magento on XAMPP and WAMP. The only important section is note in that wiki page.
- Linux/Ubuntu installation error: curl not enabled
Please install php5-curl module. e.g. For Ubuntu "sudo apt-get install php5-curl"
- Linux/Ubuntu installation warning: "Your web server is configured incorrectly. As a result, configuration files with sensitive information are accessible from the outside. Please contact your hosting provider."
To solve this issue, modify Apache site configuration from "AllowOverride None" to "AllowOverride All"
- Installation warning: The URL "http://yourdomainname.com.local" is invalid.Response from server isn't valid
Domain name probably not pointing to your installation directory, try to update server host file and add your domain name to point to localhost IP.
- Select correct time zone while you install Magento
Please refer to this forum.
- Use a better way to customize your site
There are some good tips from community to turn off some Magento blocks here. Please go through that. I'd also like to refer this blog post. This will help you a lot.
- Changing default logo and other important settings
There is another nice wiki page here, that will some good points while you customize your Magento site.
- Fix about Magento Admin notification issue
It has been solved in Latest Magento version 1.7, but if you have previous versions you'll notice an issue described in this forum.
- Setting up cron
To set up cron please refer this Magento wiki page. Ideally you should set cron to run every 5 minutes.
- Make sure SEO is enabled
To check it, go to System -> Configuration -> General -> web -> Search Engine Optimization
- Make cron settings for currency conversion rate
I was having a case where currency was listed in Magento but I was not able to get the conversion rate. Please refer this wiki page.
- Setting up log cleaning
By default log cleaning is not enabled, so you must need to configure it, otherwise your database will grow surprisingly.
To configure it, go to System -> Configuration -> Advanced -> System -> Open Log cleaning section. Please note that, this will be triggered by Magento cron job, so you must have to configure cron job for Magento. Please read more about log cleaning in this blog post.
- Upgrading Magento to higher version
Go to System -> Magento connect -> Magento connect manager. login with admin credentials. Then, go to section with name "Manage Existing Extensions" and click the button that says "Check for Upgrades". To upgrade all Magento core extensions, just select "Mage_All_Latest" and select the upgrade action (only available if new version is available) and then click on commit changes button. Similarly your can also upgrade any other extension that you installed on your website.
- Add CMS page links to top navigation
Please refer to my previous post.
- Moving Magento from One server to another
This wiki page covers two methods to migrate Magento site from one server to another. From my point of view second method is more appropriate. Here are the steps that you can perform.
- Take back up of database and website files.
- Export data from old MySQL server
- Create new database on new server and import data that we've downloaded from old server.
- Table core_config_data has rows that need to be changed and updated with the new url.
path: value: web/unsecure/base_url http://[you_domain_here]/ web/secure/base_url https://[your_secure_domain_here]/
- Download all files from old server and upload it to new server
- Delete /var/cache and /var/session directory
- Modify /app/etc/local.xml file to update new database information
- Make sure that /var and /media should have read/write permission with recursive
- All is done! Now browse the new server
- Add currency dropdown on top of the page
Modify your local.xml file and add following code between the default tag:
<reference name="header"> <block type="directory/currency" name="store_currency_selector" as="store_currency_selector" before="top.menu" template="directory/currency.phtml"/> </reference>
- Change three column layout to two column layout and update grid column count
Modify your local.xml file and it should contains tags shown as bellow:
<?xml version="1.0"?> <layout version="0.1.0"> <default> <reference name="root"> <action method="setTemplate"><template>page/2columns-left.phtml</template></action> </reference> </default> <catalog_category_default> <reference name="product_list"> <action method="setColumnCount"> <count>4</count> </action> </reference> </catalog_category_default> <catalog_category_layered> <reference name="product_list"> <action method="setColumnCount"> <count>4</count> </action> </reference> </catalog_category_layered> <catalogsearch_result_index> <reference name="root"> <action method="setTemplate"><template>page/2columns-left.phtml</template></action> </reference> <reference name="search_result_list"> <action method="setColumnCount"> <count>4</count> </action> </reference> </catalogsearch_result_index> </layout>
- Add Facebook, twitter, Google plus buttons
AddThis simplifies social sharing. You can get the Magento extension for AddThis from here.
- Remove Email to friend link
Go to System -> Configuration -> Catalog -> Email to a Friend -> Email templates -> Change Enabled to No
- Add Banner slider
Banner slider is a well known tool that you can use. To solve the issue of adding new slider image, please refer to this forum post.
- User your SMTP server to send emails
This extension will help you if your localhost is not allowed to send emails and even if you want different SMTP server.
- 404 Page not found error when using newly installed extension
logoff and login will solve that issue.
- Email sending issue
If you get an error like "Warning: Illegal offset type in /lib/Zend/Mail.php on line 574", Please refer to this and this post.
- Solve issue of Service Temporarily Unavailable Magento
Refer to this page.