markoshust's blog

The Golden Master List of Magento Performance Enhancements

There are lots of tips, tricks and hacks on how to enhance Magento. A lot of them are good. Some are entirely wrong! And most do not have each and every update you must make to every single one of your sites in order to get it to achieve the fastest possible load times. This is a list to remedy that situation.

Remember, all of these updates only apply to production environments. Feel free to post comments, updates and suggestions and I will keep this list up to date as much as I possible can. Hopefully, in time we can achieve a golden master list of performance enhancements!

There is absolutely no difference in Magento Community and Enterprise extensions / modules

Let me start off my saying that I am a Magento Enterprise Developer, and that I work with both Magento Community and Enterprise editions every day. I also sell customized Magento Extensions through this website.

Removing htaccess files from Magento and moving contents into Apache configuration

Performance is the one area of your site that you can make you or break you on the web. Testing out a lot of strategies and hearing about how removing .htaccess files would drastically increase your page speed, I had to put it to the test. The theory behind this tweak is that when AllowOverrides are turned on, Apache checks every single directory to see if an .htaccess file exists, and that this lookup costs valuable web server time in projects that have lots of files (such as Magento and Zend Framework) and could cause latency in page requests.

Creating custom layout files and variables in Magento blocks and templates

Sometimes it is necessary to create a custom layout file. Other times, you may need to define and set custom variables for use in your template file. This article demonstrates the ability to do both, in hopes to clarify the "Magento XML Magic" that is going on behind the scenes.

It is important to follow the MVC pattern, and keep data in models, logic in controllers, and use the view strictly to echo out data.

This example also shows you how to define a custom layout XML file in your module config, so you can update the layout XML from within your own module.

Useful script for working with remote branches in git

Working with git using remote branches is a great tool to manage workflow and coordinating code with other developers. However, the commands you need to remember could be quite daunting and even hard to remember for the experienced programmer.

How to implement LESS CSS into Magento

A while ago, I stumbled across LESS CSS, a dynamic CSS processor which can greatly cleanse the amount of CSS in your website, and lead to generally more accessible cross-browser stylesheet conventions. LESS allows you to reuse your CSS snippets programmatically, and once you use it, you will never go back!

The correct way to give clients permission and access to Jira projects

Jira is a totally wonderful piece of project management software, especially when coupled with the GreenHopper extension which greatly assists in Agile Development. That said, it's totally meant for programmers - so much so, that it requires a programmer to setup client access to specific projects. Jira's own documentation is pretty weak when it comes to setting up clients with access to one (or more) project.

Syncing a Magento instance from production to development

Often times, you need to pull down an up-to-date version of Magento from your production server to your development or staging servers. This involves:

Controlling how static blocks are displayed in Magento

To disable a static block globally, go to CMS > Static Blocks > Select One > set Status = Disabled > Save

To control the disable of static blocks on various pages, to go CMS > Widgets > Select One > Reference 'Layout Updates' section

Adding trailing slashes to Magento for SEO purposes

By default, Magento does not automatically add on trailing url's to the end of every URL. In a database-driven cms system, you will be penalized for this by having two urls' with duplicate content:

http://yourinstall.com/home
http://yourinstall.com/home/

Pages

Subscribe to RSS - markoshust's blog