Blog

Pagination with rel=”next” and rel=”prev” in Magento 2

Pagination with rel=”next” and rel=”prev” in Magento 2

Out of the box, Magento 2 offers fair amount of search engine optimization options but when it comes to category pages, we only have option to add canonical meta tags. In today’s blog post, we will try to spice that up a bit by implementing our own variation of canonical tag and by adding rel=”next” and rel=”prev” tags to help bots with paginated content.

Read more

This is why our clients never get penalized by Google

This is why our clients never get penalized by Google

Often, during an SEO audit, we figure out that the store that came to us for the audit suffered a manual or an algorithmical penalty from Google which resulted in a significant loss of organic traffic.

During the years we got pretty experienced in removing such penalties and getting the website back on the right track for clients that listened to our advice.

But, did you know our own clients who have a consulting retainer with us never got penalized by Google?

Here’s why…

Read more

External database connection in Magento

magento external database connection

Most of the time working with Magento, a single database connection is just enough. Magento has excellent system of adding new tables in database or extending existing ones. So, why would there be a need for an external database connection outside the Magento system? Well, one of the examples is data migration from another ecommerce system. In this article, a simple connection to external database is explained with CRUD (create, read, update, delete) examples.

Read more

Javascript Bundling in Magento 2

Javascript Bundling in Magento 2

Javascript bundling is a technique that groups separate files in order to reduce the number of HTTP requests that are required to load a page. Bundling is commonly used in today’s “module-based” development where some functionalities are basically split into Modules (roughly explained). For loading modules, we usually use some of popular module loaders such as rollup.js or RequireJS (which is Magento’s weapon of choice).

Read more

Making FedEx api show shipping estimate

Making FedEx api show shipping estimate

There always comes the time when shopkeeper decides that he want’s to inform his customer of shipping estimate on checkout, so they could know approximately when they will get their goods. And for that, many shops today rely on API-s like ones from USPS or FedEx. Both of which are available for Magento.

In this article I will be showing you how to override FedEx carrier to return shipping estimate for given rates.

Read more

Wireframing a successful design for your online store

Wireframing a successful design for your online store

As designers, we’re often faced with a lot of questions about our process. We never just dive into design and bask in the glory of amazing typography and brilliant color schemes because without the phases that precede it – it just wouldn’t even begin to be possible.

Read more

Don’t Mess with the Magento 2 Checkout

Don’t Mess with the Magento 2 Checkout

Hello! Do you hate editing Magento Checkout? I know how you feel… 😀

The checkout in Magento 2 is built up from a series of Knockout JS components which are then rendered using the Knockout JS templating system. Magneto 2 defines each one of these components and their parent/child relationship in a large XML file which can be extended or overridden in your own theme or module.

Read more

Create Admin Menu Item in Magento 2

Create Admin Menu Item in Magento 2

When it comes to Magento customization, every now and then, there’s a need for a custom configuration option that needs to be placed somewhere in the administration menu. Magento 2 comes with well organized admin menu, but what if newly created configuration option doesn’t fit anywhere?

Read more

Magento Enablement training in Paris – overview by Inchoo

Magento Enablement training in Paris – overview by Inchoo

Magento often organizes Partner Enablement Events, such as live demos, webinars and quick start trainings. While we participated in a number of such demos and webinars, we’ve never been a part of an on-site training for sales and business development staff aimed at solution and technology partners. This changed last week in France, and here’s our overview of what happened in Paris.

Read more

Build your 2017 Magento SEO strategy with these tips

Build your 2017 Magento SEO strategy with these tips

As we determinedly move through 2017, we decided to look into things which we’re building upon. The old saying goes “If you don’t know history, you are doomed to repeat it.” so we’d like to avoid any mistakes possible by learning from the previous happenings. Here’s what happened in the SEO world in 2016. and what you can do to make those trends work in your favour.

Read more

Sass Output Styles

Sass Output Styles

Sass has four different CSS output style. By changing setting for :style option or using the --style command-line flag.

I will show you how Sass outputs this piece of SCSS code in all style options with style option explanation.

Read more

Here’s why we loved 2016 and why we’ll grind even harder in 2017

Here’s why we loved 2016 and why we’ll grind even harder in 2017

2016 has been a great year. It brought us many challenging and even more rewarding and amazing moments. It turned 365 days into another winning streak we couldn’t be more proud of. After all, that’s a signal all that hard work pays off. 😉  Check out what we’ve been through and what are some of the things which will keep us motivated in the upcoming year. We can’t wait to push even harder – c’mon 2017, let’s see what you have in store!

Read more

Custom data components in Pimcore

Custom data components in Pimcore

Today I will show you how to create custom data component in Pimcore 4.4.. If you are using Pimcore, sooner or later you will end up with requirement for new form element (complex type). Data components in Pimcore are object types used for complex data modeling on object. Data component consists from data, tag Extjs scripts and one Model which is responsible for saving/loading configuration. Currently Pimcore has 19 complex data components (you can read more on https://www.pimcore.org/docs/latest/Objects/Object_Classes/Data_Types/index.html), and they will cover most requirements you will ever need. However, if (when) you’ll need a custom data component, here’s how you can create it.

Read more

Overriding classes in Magento 2

Overriding classes in Magento 2

Compared to its previous version, Magento 2 came out with a new concept of dependency injection where classes inject dependencies (different objects) for an object instead of that object manually creating them internally. That way overriding and manipulating with classes is much easier and allows us more ways of extending the native functionalities.

Read more

Add Pagination to Custom Collection in Magento

Add Pagination to Custom Collection in Magento

If you are starting with Magento, just like I am, you might run into the issue of adding pagination to your table, list of products or anything else you want to list on frontend. Magento allows you to create your own pagination with adjustable built-in options. This tutorial will show you how to create pagination for a custom collection in Magento.

Read more

Getting a job at Inchoo – and what are we looking for

Getting a job at Inchoo – and what are we looking for

One of the famous mysteries that troubles many people is how to get a job. There are plenty of articles on how to write a successful CV, cover letter or how to present yourself to employers. But, are these tips always applicable and universal – no matter the job you’re applying to? As a part of the human resources team, I am writing about the tips that might be useful when applying for a job at Inchoo.

Read more

Minify your CSS and JavaScript code!

Minify your CSS and JavaScript code!

If you are reading this article, you are probably somehow involved with web development. It is also most likely that you already know how search engines use page speed as one of the parameters for evaluating your site. We have couple of options on our disposal when it comes to increasing site speed. Today we will cover one of them.

Read more

Magento 2 custom widget

Magento 2 custom widget

In one of our previous articles we learned how to create a widget. Now we will see how we can create a custom one, or even better, how to extend the core one. For this example I picked default catalog product listing widget that I will extend with sorting fields for better customization of this widget.

Read more