Blog: A Magento Developer's Life
In meinem Blog-Beiträgen beschreibe ich häufig Dinge, die ich in meinem Alltag als Magento Freelancer beobachte oder kleine Hacks, die mir gut gefallen.
If you plan to open an eCommerce store
choosing a suitable eCommerce platform might be a tough challenge.
This article will uncover the details of the Magento website
cost for you to have a better financial preparation.
FrankenPHP is the new star in webserver heaven and as Magento developer of course I wanted to try this out with Magento 1 / OpenMage.
It turned out that it was very easy to setup and the results were really promising in local development environment. I have never seen a faster Magento on localhost!
In this blog post I will show that it is totally possible to run a tiny Magento 1 or OpenMage shop for less than 10€ per month - and even with all used services from Europe. Should you do this for your production store? Well that's on another page, but first let's move on.
Magento/OpenMage has a default feature to merge all CSS files into one which was implemented back in the old days to reduce HTTP requests and therewith improve the performance for the client. Nowadays with
HTTP/2 (or even HTTP/3) the number of requests is not that important anymore (and on the contrary a certain number of parallel asset downloads should be preferred), but there are many other ways the CSS asset delivery can be improved in Magento. Let's see how!
In diesem Blog-Beitrag geht es um das Testen von Legacy-Anwendungen wie beispielsweise Magento 1 Shops. Als
Magento Freelancer liegt mein Fokus insbesondere auf Testing-Strategien, die sehr einfach und kosteneffizient für meine Kunden umzusetzen sind.
Over the years I have collected several useful layout XML code snippets that you can e.g. insert into individual Magento CMS pages or into your layout xml code in the local.xml
file. This offers several chances to improve your search engine optimization (SEO) for your Magento store like noindex or canonicals.
Im folgenden Blog-Post möchte ich die aus meiner Sicht wichtigsten Aspekte erläutern, warum für mich Magento 1 bzw. der Community-Nachfolger OpenMage nach wie vor eine absolut sinnvolle Lösung für Kunden sein kann. Außerdem zeige ich anhand meiner eigenen Website konkrete Implementierungsmöglichkeiten auf.
In my daily work I regularly take over legacy projects from customers that have a relatively old code base and shall be upgraded in order to be compatible with latest software versions, PHP versions and so on. Within those projects I always use several techniques to quickly get to work but at the same time carefully try to not introduce new defects.
If you are maintaining several Magento instances or use features like AWS autoscaling, you have many different places to look for your Magento application logs. In these cases a central logging application is very helpful.
In this post we will examine how to use the ELK stack with Magento logs.
While
tweaking your Magento 1 online shop for performance you might have come into try to remove the default
Mage_GiftMessage
extension.
Unfortunately like many other default extensions, this module cannot be removed so easily because of some errorneous, hidden dependencies in other modules.
As we all know Magento 1 was using latest technologies at the time it has been published more than 10 years ago in 2008. In the meantime, of course, used libraries and development patterns have been outdated, so is the case with Prototype. This post is about how to start to remove the Prototype library from Magento 1 or OpenMage.
I am a big fan of the possibilities that CI pipelines like Bitbucket Pipelines offer and I have already wrote
an article about integrating Hugo with Bitbucket Pipelines.
In this post today I will create a Bitbucket Pipeline for Google Lighthouse checks to continuously monitor the
important Google Lighthouse Score to improve performance and search results.
Especially for Magento 1 after its
end of life but also for Magento 2 it is important that you secure the Magento instance as best as possible.
Recently I was very impressed by the reported numbers of millions of people switching from WhatsApp to Signal
in response to the latest privacy policy changes of WhatsApp in Februar 2021 (which has now been postponed to May because WhatsApp fears to miss so many users).
In the field of search engine optimization (SEO) everyone tries to write the content in best quality from a customer perspective and ultimately also for the search engine. One important aspect therein is to avoid duplicate content as this is a major problem for search engines.
In this post I will clarify what duplicate content is and show a common source of duplicate content in Magento.
After the official end of life of Magento in last June, I recommended two ways of continuing with Magento 1 to my clients: either use
MageOne to take care of providing security patches and updates for the latest Magento Open Source version 1.9.4.5. Or use the community-driven
OpenMage fork of Magento.
In this post we will see how I did the migration of my own website from Magento 1.9.4.5 to OpenMage.
In my freelance work I have established
certain principles that always guide me through - whether to take on a new client or project, developing a new software, learning new things or choosing new software internally.
Back in time I have published an article about the
dropshipping possibilities in Magento. As a lot of my customers are interested in this topic, let’s continue this series and explore how to use dropshipping functionality in Shopify with the help of some Shopify apps.
Recently I discovered a bug in the core Magento 1 PayPal Express extension that leads to the user being redirected to the home page after PayPal checkout with no error message.
As the investigation was a rather lengthy process, I’ll tell you the details and of course the easy fix in this post here.
In my previous post I introduced Joplin as my new note-taking app. After using it for some time now, there are several things that are a bit difficult to grasp so in this post I present some useful tipps for Joplin.
As a
privacy-concerned user it can sometimes be very tricky to find alternatives to the most-used applications. Looking for the best alternative to the widely established note-taking application Evernote was one of those hard evaluations and it took me a while, but here is the result: Joplin. Read why.
In my recent blog post for our
Recolize Recommendation Blog I highlight some of changes that browser vendors are implementing regarding the handling of cookies in 2020.
For a long time Apache has been the defacto standard for hosting PHP web applications like Magento 1 or WordPress. Then with the rise of the need for high-scaling applications hosted in the cloud webservers like nginx or full page caches like Varnish became popular in order to handle the enormous amounts of traffic pouring in. The LiteSpeed webserver for Magento 1 is the new cool kind in the block now.
Bitbucket has a great feature called
Bitbucket Pipelines with that you are able to do tasks automatically after code has been pushed to the repository. This workflow can also be used for Hugo deployments with Bitbucket Pipelines.
One of the basic things that you
as a developer must know is how to handle a version control system like git, subversion, Mercurial, you name it..
My this year’s Christmas blog post is about some simple privacy tools and actions you can take to easily improve your privacy.
This post is not dedicated to shop owners or developers but to any people in general that take their privacy seriously (which should be anyone to be honest).
Sometimes it is necessary to calculate the offset for the current timezone. Therefore you can use this helpful snippet:
Although there are not that many blog posts here, I regularly re-acknowledge all the work that has been spent to create the articles that are currently there. That’s why I decided to give some love to my blog and move all the content from WordPress to Hugo.
So this blog post will be the starting point for a series of health-related articles targeted for developers. As I know personally life as a developer can be tough: we live in an ever-changing world and the speed in the IT sector is even faster than anything else. And human brain has its difficulties with exponential growth. That’s why I want to get into the details about how to establish developer health.
Approximately in every third
Magento project that I am doing I get the request to implement some kind of Dropshipping. That’s why I want to give a short overview of how to handle that with Magento.
Die Datenschutzgrundverordnung darf natürlich in keinem Blog heutzutage fehlen :-D.
Hierzu habe ich folgende gute Infografik von
webvision gefunden:
Yesterday I watched the
AlphaGo documentation on Netflix and for everyone interested in AI I definitely recommend watching this.
Zur Zeit lese ich das Buch
Die 4 Stunden Woche von Timothy Ferriss. Prinzipiell gefällt mir sein vorgeschlagener Ansatz, Arbeitszeit im Hinblick auf unsere Lebenszeit zu optimieren.
Mistakes in the conception phase of a project often pay off in a far far later point in time. This also applies for the setting innodb_file_per_table
in MySQL.
Today I want to raise some pro and contra arguments for upgrading to
Magento 2 or starting a new project with the new release of Magento E-Commerce. This is by no means a complete list but just some of my thoughts on this topic.
I just listened to the
latest ShopTechBlog Podcast Episode (in German) which was very interesting as it’s all about the technical architecture of the new Galeria Kaufhof shop.
Today I was asked by a client if he should upgrade his Magento 1.5.1.0 store to the latest Magento Community Edition 1.9.1.1.
Basically I recommend following the PSR-2 standard for Coding Style Guidelines in Magento projects. Verifying your coding styles makes sense in any case – whether you are working in a large team of developers or as a freelancer for several clients. Agreeing to one common coding standard and following the rules improves readability and comparability.
In this blog post I want to share with you a short list of my daily RSS feeds that I find very useful to stay up-to-date in different categories:
Yesterday I had an interesting problem in a Magento community installation of one of my clients:
A lot of
my clients complain about the fact that they receive tons of spam messages via the Magento contact and review forms.
In Magento 1.9 there is a JavaScript error on the product page in the backend that prohibits adding links to downloadable products when using the default German localization that ships with this Magento version.
Today I got a really nice present from one of my Magento Extension customers:
I am often asked by my clients which Magento Extensions I can recommend for their shop. Thats why I created a (probably incomplete) list of Magento 1 extensions that I regularly use in
my Magento projects.
Below I will list some tipps to improve the overall Magento performance of your shop.
A few weeks ago we released the first version of our new
Recolize Recommendation Engine extension for Magento.
If you are currently developing a Magento extension with a custom menu for the Magento backend and you are having the problem that the menu is not showing up, this tiny little hint is for you.
Sellvana is promised to be new star in the ecommerce sky. Yesterday I had the chance to access the BitBucket repository within the closed beta access and take a more detailed look into the current status of the codebase.
A very funny demonstration of common checkout issues in real life..
Some of you may already have
noticed that PHPUnit > 3.5 does not run very well with Zend Framework 1 applications because of incompatible interface declarations and there seem to be no efforts to make this happen in the future (because ZF 2 should be used instead).
Für den bekannten Webguys-Adventskalender habe ich einen Artikel geschrieben, in dem es um die Magento Order Status/State-Logiken geht und in dem ich erkläre, wie man ungewollte und falsche Status/State-Kombinationen (z.B. hervorgerufen durch Extensions) verhindert:
With the following code you can retrieve the current page url in your Magento CMS block or page:
Perhaps somebody might be interested in an overview of the different Zend Framework versions that are used in each Magento CE release, e.g. if you are developing Magento modules and want to use some kind of Zend Framework methods that are only available after a certain ZF version.
It has been really quiet about the official Magento Mobile App so I have done a research for one of my customers that is in need of a solid, cost-efficient mobile solution that does not require building up a new site from ground (i.e. the mobile site should exist in addition to the current webpage – not replace it).
When you’re creating custom Magento models, it’s common to to add and remove fields to and from a database table during development before finalizing a set of columns for the setup resource/migration file. One thing to keep in mind while you’re doing this is that Magento will cache the list of table columns each model knows about, which means a cache clearing will be needed after adding a column.
Though unfortunately I didn’t manage to go to the Magento Developers Paradise this year let’s sum up the various helpful links posted on twitter with valuable Magento know how:
It is my honor and privilege today to introduce the brand new version of The Web Developer’s SEO Cheat Sheet. This free and downloadable cheat sheet covers all of the important SEO code and best practices that are needed by online marketers and developers.
Time is money and therefore every developer should strive for an optimal setup in which he can operate the fastest. Since I began with Magento in 2008 a lot has changed tool-wise and I am constantly improving to find the optimum Magento local development setup.
In den sieben Jahren, die ich mittlerweile als selbstständiger Software-Ingenieur tätig bin, habe ich natürlich – wie jeder Selbstständige sicherlich weiß – viel Neues über mich selbst, über die deutsche Bürokratie, über zuverlässige und unzuverlässige Kunden, Mitarbeiter und Geschäftspartner und natürlich auch fachlich gelernt.