troubleshooting
Shopify Blog App from Magefan offers you extensive URL settings for all blog pages. In Standard and Pro plan you can change blog page paths flexibly. However, the question that troubles our customers the most is — what is the /a/ doing in the blog URLs and how to remove it?
So, today we'll tackle this subject and explain how you can manage the /a/ in Magefan blog URLs.
Why is There an /a/ in Blog URLs?
The /a/ in Magefan blog URLs comes from the app proxy. According to Shopify requirements, it is obligatory for all pages that come from an app. That's why you have /a/ in your blog URLs, like in the following example:
e.g. https://myshopify.com/a/blog/category/travel
How to Remove /a/ from Blog URLs?
Since the /a/ proxy is obligatory for all URLs that come from the third-party Shopify app, you can't remove it. However, you can change it to the values offered by Shopify.
How to Change /a/ in Blog URLs?
To change /a/ in Shopify blog URLs, navigate to Apps > Magefan Blog > Configuration >
Once you install the Shopify Blog App from Magefan or import your posts to it, you might notice that titles are too big on the blog homepage or categories. It happens because of the size of the root element in your theme. The bigger it is, the bigger the titles in your blog.
But no need to worry. You can fix that in just a few clicks.
To fix big titles in the Magefan blog:
1. Navigate to Apps > Magefan Blog > Configuration and scroll down to the Design section.
2. Open the Use Blog App Font Size section and set it to Yes.
3. Don't forget to Save the settings and check your blog on the frontend. Big titles should be gone.
However, if you want to set some custom sizes for your blog titles, you need custom CSS.
4. Find the Custom CSS section in the same Design area and enable it. Then paste the following code there and tweak the 20 number to define the font size:
.shopify-section.shopify-section__blog .article-post__title {
font-size: 20px;
}
Again, save the settings and view
Making informed business decisions is only possible with accurate data about transactions and orders. Agree? Then, you probably need help with the problem of missing transactions in Google Analytics 4 (GA4).
You're not alone in your struggle since missing transactions and orders in GA4 are more common than one would think. There are plenty of reasons why it appears, but only a few solutions.
In this guide, we'll cover the most common reasons why transactions are missing in GA4 and what you can do to improve the data accuracy.
Those of you who use Magento, stay tuned to learn about the Magento 2 Google Tag Manager solution to this issue.
Reasons Why Transactions Are Missing in Google Analytics 4
There is no one-size-fits-all answer regarding missing transactions and orders in Google Analytics 4. There could be multiple reasons why it happens or just one. However, identifying it helps you to eliminate the issue and improve the data tracking in your store.
Let's review why some data might
Very often Magento 2 themes override our original blog templates. As a result, you can't see posts on the post list or certain blocks in the blog pages. It could also be that posts are displayed, but when you go to a post view page, it is broken or shows an error.
It happens because vendors don't always make their theme compatible with the latest version of the Magento 2 Blog. Thus, the theme keeps using the blocks or functions that are changed in the latest version of the Blog extension.
So, if you've installed or updated the Magefan Blog Extension and some content is missing or not displayed properly on your blog, you've landed on the right page. Today you'll learn how to fix that.
Check If Your Theme Overrides Blog Template
Go to the app/design/frontend/Theme_Vendor/Theme_Name/ directory and check if there is the Magefan_Blog folder in this directory. If you have this folder, it means you have a customization for blog.
Remove Customization Completely
Sometimes you need to remove the
Logging in to the customer account in Shopify without the login data saves you the time and resources required for solving customers' requests. You can help customers place orders or timely assist in fixing any issues related to the customer account with the Shopify Login as Customer App.
However, sometimes you might face the "Incorrect email or password" issue after being redirected to the login page instead of a customer account.
It happens when you don't use Multipass and customers haven't requested your assistance, but you still try to login as customer.
What you can do to finally login to customer account in Shopify?
There are 2 options you have here:
- Ask the customer for assistance
- Change customer password and login
If you ask customers for assistance, they can do it in their accounts.
After the account assistance is granted, you can log in to the customer account once again with no issues.
In the second case, you'll change the customer login and password which they will
The first thing you face once managing Magento 2 multi-language store, is translating all of your content and landing pages. It helps to make your website convenient for each of your targeted customers.
The content you create and publish on the frontend is not the only content you need to translate. That's why you have to generate a translation dictionary to form a list of texts to translate in email templates, third-party extensions, JS files, and so on.
Although our Magento 2 Translation Plus module helps you to manage and generate that translation dictionary, you may still face the Magento "Missed phrase" error.
It mainly appears when you try to generate a translation dictionary when running the following command:
bin/magento i18n:collect-phrases --magento
Most often, the "Missed phrase" error is caused by the third-party extensions when the system tries to translate an empty string like __('')
.
Correspondingly to learn what module is causing the issues you have to run the following
It's not a secret website speed is one of the most important SEO ranking factors not only because of the loading itself, but its influence on customer experience. That's why you have to constantly test website speed with different tools to determine the issues slowing down your Magento 2 store.
The most common tool everyone is familiar with is Google PageSpeed Insights or PSI. It runs your URL through Google's servers and provides a report on how your website is doing.
Today we want to turn your attention to the "Defer Offscreen Images" that often holds your website from getting into the PSI green zone. We'll discuss what it means and how you can fix it to speed up Magento.
What is "Defer Offscreen Images" Message?
"Defer Offscreen Images" is the message displayed in Google PageSpeed Insights that lists all images that should be lazy loaded on the requested URL. It also shows the potential size savings you'll get from lazy loading these images. The complete description from Google looks
Sometimes when you use Magento 2 you can get the Magento catalog_product_super_link table doesn`t exists error. It appears because some module tries to make an SQL request with SQL query that includes "catalog_product_super_link" table and the table does not exist. So actually, the error is self-explaining.
Why catalog_product_super_link table might not exist?
This table is defined in Magento 2 module Magento_ConfigurableProduct. So please make sure it is enabled in app/etc/config.php. If not, enable it by changing 0 to 1 in the right part, e.g:
'Magento_ConfigurableProduct' => 1,
Solved: Package exists in composer repo 1 and composer repo 2 which has a higher repository priority
When you install some new extension package in Magento 2 via the composer you can get an error:
[InvalidArgumentException]
Package vendor/module-name exists in composer repo (https://repo.packagist.org) and composer repo (https://repo.magento.com) which has a higher repository priority. The packages with higher priority do not match your constraint and are therefore not installable. See https://getcomposer.org/repoprio for details and assistance.
This error message is self-explaining and contains a link to the composer documentation.
The problem is that a module you try to install has an old version in the Magento composer repository and a new version in the free public packagist.org repository. However, the Magento repository has a higher priority and that is why composer cannot install the latest version and throws this error.
What you need to do to solve the issue is to:
If you use Magento 2 WebP Images extension and have the MGS_ClaueTheme you can face the issue with the product gallery on the configurable product page, the main product image can be missing/brocken.
To fix this issue add the following code:
item['zoom'] = $(this).attr('data-zoom'); if ($(this).find('[srcset].img-responsive').length) { item['full'] = $(this).find('[srcset].img-responsive').attr('srcset'); item['thumb'] = $(this).find('[srcset].img-responsive').attr('srcset'); item['caption'] = $(this).find('[srcset].img-responsive').attr('alt'); } else { item['full'] = $(this).find('.img-responsive').attr('src'); item['thumb'] = $(this).find('.img-responsive').attr('src'); item['caption'] = $(this).find('.img-responsive').attr('alt'); }
to the file:
app/code/MGS/ClaueTheme/view/frontend/web/js/configurable.js
The result should be the following (before -> after):
Once you save the changes don't forget to redeploy static content and flush Magento cache, run the commands:
bin/magento setup:static-content:deploy
As you may know Magento 2 Login as Customer extension by Magefan was integrated into the Magento 2.4.0 core, and we transferred the copyright for "Login as Customer" extension to Adobe. More about it you can read in the article about Login as Customer & Magento Integration.
So if you use Magento 2.4.x or greater you have 2 options:
1. Remove Magefan Login as Customer extension and use core Magento Login As Customer
2. Disable core Login As Customer and continue using original Magefan Login as Customer.
To disable core modules you can run these commands:
bin/magento module:disable Magento_LoginAsCustomer
bin/magento module:disable Magento_LoginAsCustomerAdminUi
bin/magento module:disable Magento_LoginAsCustomerApi
bin/magento module:disable Magento_LoginAsCustomerAssistance
bin/magento module:disable Magento_LoginAsCustomerFrontendUi
bin/magento module:disable Magento_LoginAsCustomerLog
bin/magento module:disable Magento_LoginAsCustomerPageCache
bin/magento module:disable
If you use Magento 2 WebP Images Extension and the CLI conversion by the bin/magento magefan:webp:convert command is run very long, the issue may be in cwebp library on your server. WebP extension works in a way to check if the proper software is installed on the server first and then use its own binary files if there is no software installed. So if you already have the cwebp lib on the server, then the extension will use it.
Cwebp on the server can be outdated, please try to update or reinstall the cwebp.
If for some reason you are not able to update it, try to modify the following file:
/lib/internal/Magefan/Lib/WebPConvert/Convert/Converters/Cwebp.php
or
vendor/rosell-dk/webp-convert/src/Convert/Converters/Cwebp.php
Find method discoverCwebpBinaries and comment the lines like on a screenshot:
The result will look like this:
If this does not help, please contact us.
In case you use one of the Amasty extensions, e.g. Amasty Layered navigation, you may face the issue of the broken blog featured images after the upload.
We have found the issue in Amasty_Shopby extensions, that breaks some other extensions using image upload functionality, including our Magento 2 Blog Extension.
Amasty_Shopby in this file:
app/code/Amasty/Shopby/etc/adminhtml/di.xml
adds the plugin to Magento\Catalog\Model\ImageUploader model.
Judging from the code in the following file:
app/code/Amasty/Shopby/Plugin/Catalog/Model/ImageUploaderPlugin.php
it looks like some fix Amasty added for Magento 2.3.4. and the issue lies in the plugin beforeMoveFileFromTmp.
The original Magento MoveFileFromTmp declaration looks like this:
public function moveFileFromTmp($imageName, $returnRelativePath = false)
and Amasty's plugin missing the second parameter $returnRelativePath:
public function beforeMoveFileFromTmp(\Magento\Catalog\Model\ImageUploader $subject, $path)
So, basically, Amasty's
If you save a post in Magento 2 Blog, your post is not saved and you are redirected to the Magento dashboard, most likely it happens when the post has a lot of related products or posts. This issue is connected with your server PHP configurations.
The max_input_vars PHP setting parameter defines the number of requests (posts) data PHP can receive. When a blog post has many related posts or products a lot of data goes with the request to PHP and it just doesn't receive part of this data.
In order to fix the issues with post saving:
1. Change the value of the max_input_vars parameter from 1000 to 5000 in the main php.ini file on your server.
2. Restart the Apache/Nginx or PHP-FPM if it is used.
Note: you need to have the superuser server permissions to be able to change this setting.
Once you change the max_input_vars parameter value the issue should be resolved. If it still doesn't help, please feel free to contact us and we'll assist you happily.
Page Speed is taken very seriously by a lot of Magento stores since it directly influences your general website performance. That's why everyone constantly tries to improve it and looks for the best ways to do so.
In case you're checking your website speed in Google PageSpeed you can face the Serve images in next-gen formats issue. According to it, Google recommends you to save images in JPEG 2000, JREG XR and WEBP formats instead of old PNG and JPG. Best of all - WebP.
Never heard of it?
Find out more about what is WebP, why should you use it in your Magento 2 store and how is it different from PNG and JPG in this article about WebP images in Magento 2.
If you use Magento 2 Blog extension with attached featured images to a blog post but these images are not displayed on the storefront, then most likely the issue is in your theme. A lot of themes provide custom blog layouts and template files that override the original view and can miss some blog functionality like featured images. To check and fix this, please follow steps below:
1. Open this file if exists (if does not exists skip steps 2-3):
/app/design/frontend/[ThemeVendor]/[themename]/Magefan_Blog/templates/post/list/item.phtml
2. Check if the file has the code like "getFeaturedImage". You can find the original code here
https://github.com/magefan/module-blog/blob/master/view/frontend/templates/post/list/item.phtml
https://prnt.sc/tcl3sj
3. If this code is missing, add it to your custom theme file.
4. Open this file if exists (if does not exists skip steps 5-6):
/app/design/frontend/[ThemeVendor]/[themename]/Magefan_Blog/templates/post/view.phtml
In case you use Magento Blog extension and face the issues of double canonical tags on blog pages know that it most commonly happens because you use some third-party SEO extension. And that SEO extension adds the additional canonical URL for your blog pages.
If the SEO module you use is Mageworx SEO extension you need to go to Stores > Configuration > Mageworx > SEO Base > Canonical URL Settings and set the following items in the Canonical URL won't be added for those pages:
blog_index_index
blog_post_view
blog_category_view
blog_archive_view
blog_author_view
blog_tag_view
Once you add them, the second canonical URLs won't be set for blog pages and the native blog canonical URLs will be used.
In case you use SEO extension provided by some other company we recommend you to contact them and ask to provide documentation or guidance on how to remove the canonical URLs set by their extension from Magento 2 blog pages.
We also recommend you to use only native Magento 2 blog canonical
If you already use WebP images for your HTML <img> tags and want to enable WebP for the CSS background as well, the proper way is to use multiple backgrounds in the CSS styling.
For example, you have an element with .png CSS background:
.minicart-wrapper .action.showcart.desktop .fa-shopping-cart:before {
background: url(../images/icon-cart.png) no-repeat;
}
To switch it to the WebP, you need to convert PNG/JPG/GIF image to WebP image manually using one of the free tools on the Internet. Save it in the same folder and use CSS like this:
body.webp-supported
.minicart-wrapper .action.showcart.desktop .fa-shopping-cart:before {
background: url(../images/icon-cart.webp) no-repeat;
}
body.no-webp .minicart-wrapper .action.showcart.desktop .fa-shopping-cart:before {
background: url(../images/icon-cart.png) no-repeat;
}
In this case, all browsers will get WebP images, except for ones that do not support WebP. They will load the .png image.
Note: if you use Magento 2
If you have installed Magefan Auto Language Switcher Extension for Magento 2 and don't know how to test it properly, please follow these simple steps:
1. Enable all Magento 2 caches.
All live sites use enabled caches, so make sure that you have enabled all one when testing.
2. Use Developer (Simulate Geolocation).
There is an option in Magento 2 Auto Language Switcher that allows you to test the extension performance.
In Magento 2 Blog v2.9.3 we added the feature that many customers requested about, it is "use the default catalog related products template" instead of custom blog related product template. This helps to display related products on the blog post page in the theme design automatically. The commit related to this change can be found at GitHub.
Unfortunately, there are thousands of themes for Magento 2, and some of them have specific JS and CSS (e.g. Porto Theme). That is why if you use Blog extension v2.9.3 or greater and the related products block does not look good, please try to do next:
1. Create a new file in your theme directory:
app/design/frontend/ThemeVendor/themename/Magefan_Blog/layout/blog_post_view.xml
2. Add this code into it:
<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
<referenceBlock name="blog.post.relatedproducts" >
<arguments>
Social media is a powerful platform that generates tons of information throughout the world every day. That is why such networks as Facebook and Twitter are commonly used for marketing purposes by a lot of stores. It allows them to attract more attention to their content and correspondingly drive more traffic to their websites with the help of Open Graph tags.
However, sometimes it happens that Facebook OG tags aren't working as they are supposed to. Instead of a great featured image and newly written title and description, you see the outdated information or don't see anything at all.
If you're wondering what could possibly cause Facebook to pull out the wrong OG data instead of the up-to-date one the answer is pretty simple. Facebook Open Graph Cache.
So, in order to make sure Facebook shows the proper Open Graph Information you just need to clear the Facebook cache.
Follow these steps to clear Facebook Open Graph Cache:
1. Navigate to the Facebook Sharing Debugger, paste