{"id":17284,"date":"2018-11-15T14:26:06","date_gmt":"2018-11-15T12:26:06","guid":{"rendered":"https:\/\/belvg.com\/blog\/?p=17284"},"modified":"2025-02-11T10:36:14","modified_gmt":"2025-02-11T08:36:14","slug":"folder-structure-in-magento-2","status":"publish","type":"post","link":"https:\/\/belvg.com\/blog\/folder-structure-in-magento-2.html","title":{"rendered":"Folder Structure in Magento 2"},"content":{"rendered":"\n<p>This article will deal with the topic of the folder structure in Magento 2 theme. I will describe the folders and their functions and show you which folders are extremely useful for theme development and which ones are optional.<\/p>\n<p><!--more--><\/p>\n<p><a href=\"#step_1\">Which folders can a theme contain?<\/a><br>\n<a href=\"#step_2\">Which folders are folders are optional and which are required?<\/a><br>\n<a href=\"#step_3\">What is the purpose of each of the folders?<\/a><\/p>\n<h2><span style=\"color: #000000;\"><a id=\"step_1\" style=\"color: #000000;\"><\/a>Which folders can a theme contain?<\/span><\/h2>\n<p>A certain theme can contain the folders for the extension of module styles, etc folder, i18n, media and web. The web folder, in its turn, contains css, js, fonts, images, template folders. You can see the graphic structure of a theme on the picture below; I decided to use the blank theme as an example.<\/p>\n<p><a href=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2018\/11\/%D0%91%D0%B5%D0%B7-%D0%BD%D0%B0%D0%B7%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F.png\"><img decoding=\"async\" loading=\"lazy\" class=\"lazy aligncenter size-full wp-image-17285\" src=\"https:\/\/belvg.com\/wp-content\/uploads\/2019\/06\/pixel.png\" data-src=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2018\/11\/&#1041;&#1077;&#1079;-&#1085;&#1072;&#1079;&#1074;&#1072;&#1085;&#1080;&#1103;.png\" alt=\"Folder structure in Magento 2\" width=\"439\" height=\"796\" title=\"Folder Structure in Magento 2\"><\/a><\/p>\n<h2><a id=\"step_2\"><\/a><span style=\"color: #000000;\">Which folders are optional and which are required?<\/span><\/h2>\n<p>&nbsp;<\/p>\n<table>\n<tbody>\n<tr>\n<td><b> Folder<\/b><\/td>\n<td><b>Required or optional<\/b><\/td>\n<td><b>Example<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">\/<\/span><b>&lt;name_Vendor&gt;_&lt;name_Module&gt;<\/b><\/td>\n<td><span style=\"font-weight: 400;\">optional<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Magento_Theme, Magento_Catalog, Magento_Checkout and other<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">\/&lt;name_Vendor&gt;_&lt;name_Module&gt;\/<\/span><b>layout<\/b><\/td>\n<td><span style=\"font-weight: 400;\">optional<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Magento_Catalog\/<\/span><b>layout<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">\/&lt;name_Vendor&gt;_&lt;name_Module&gt;\/layout\/<\/span><b>base<\/b><\/td>\n<td><span style=\"font-weight: 400;\">optional<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Magento_Catalog\/layout<\/span><span style=\"font-weight: 400;\">\/<\/span><b>base<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">\/&lt;name_Vendor&gt;_&lt;name_Module&gt;\/<\/span><b>templates<\/b><\/td>\n<td><span style=\"font-weight: 400;\">optional<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Magento_Catalog\/<\/span><b>templates<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">\/&lt;name_Vendor&gt;_&lt;name_Module&gt;\/<\/span><b>email<\/b><\/td>\n<td><span style=\"font-weight: 400;\">optional<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Magento_Sales\/<\/span><b>email<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">\/&lt;name_Vendor&gt;_&lt;name_Module&gt;\/<\/span><b>email\/i18n<\/b><\/td>\n<td><span style=\"font-weight: 400;\">optional<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Magento_Customer\/email<\/span><b>\/i18n<\/b><span style=\"font-weight: 400;\">\/ar_SA<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">\/etc<\/span><\/td>\n<td><span style=\"font-weight: 400;\">required if there is no parent theme<\/span><\/td>\n<td><span style=\"font-weight: 400;\">\/app\/design\/frontend\/Magento<\/span><b>\/<\/b><span style=\"font-weight: 400;\">blank\/<\/span><b>etc<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">\/i18n<\/span><\/td>\n<td><span style=\"font-weight: 400;\">optional<\/span><\/td>\n<td><span style=\"font-weight: 400;\">\/app\/design\/frontend\/Magento\/blank\/<\/span><b>i18n<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">\/media<\/span><\/td>\n<td><span style=\"font-weight: 400;\">required<\/span><\/td>\n<td><span style=\"font-weight: 400;\">\/app\/design\/frontend\/BelVG\/caskers_theme\/<\/span><b>media<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">\/web<\/span><\/td>\n<td><span style=\"font-weight: 400;\">optional<\/span><\/td>\n<td><span style=\"font-weight: 400;\">This folder I&rsquo;ll describe in more detail later in the article<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class=\"content_sales_info\" style=\"background-image: url(https:\/\/belvg.com\/blog\/wp-content\/uploads\/2019\/03\/Sales_background.png\"><img width=\"65\" height=\"65\" src=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2019\/03\/Igor-Dragun1.png\" alt=\"Igor Dragun\" title=\"Folder Structure in Magento 2\"><div class=\"content_part\"><h3 class=\"title\">Partner With Us <\/h3><span class=\"sales_content_text\">Let's discuss how to grow your business. Get a Free Quote.<\/span><\/div> <a class=\"call-to-action\" href=\"https:\/\/belvg.com\/contact?utm_source=blog&amp;utm_campaign=sales_block&amp;utm_content=middle\" target=\"_blank\" rel=\"noopener\">Talk to Igor<\/a><\/div>\n<p>Let&rsquo;s take a look at the <strong>web folder<\/strong>. I decided to draw your attention &nbsp;to this very folder since it may be located in the folder that extends the module. I will explain you how everything works in <strong>Magento_Checkout<\/strong> using this module as an example. Now take a look at the table below:<\/p>\n<table>\n<tbody>\n<tr>\n<td><b> Folder<\/b><\/td>\n<td><b>Folder description<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">\/&lt;name_Vendor&gt;_&lt;name_Module&gt;\/<\/span><b>web<\/b><span style=\"font-weight: 400;\">\/<\/span><b>css<\/b><\/td>\n<td><span style=\"font-weight: 400;\">This folder as a rule contains CSS and Less files.<\/span>\n<p><span style=\"font-weight: 400;\">Example: <\/span><span style=\"font-weight: 400;\">\/Magento_Checkout\/<\/span><b>web<\/b><span style=\"font-weight: 400;\">\/<\/span><b>css<\/b><\/p><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">\/&lt;name_Vendor&gt;_&lt;name_Module&gt;\/<\/span><b>web<\/b><span style=\"font-weight: 400;\">\/<\/span><b>js<\/b><\/td>\n<td><span style=\"font-weight: 400;\">This folder as a rule contains JS files.<\/span>\n<p><span style=\"font-weight: 400;\">Example: <\/span><span style=\"font-weight: 400;\">\/Magento_Checkout\/<\/span><b>web<\/b><span style=\"font-weight: 400;\">\/<\/span><b>js<\/b><\/p><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">\/&lt;name_Vendor&gt;_&lt;name_Module&gt;\/<\/span><b>web<\/b><span style=\"font-weight: 400;\">\/<\/span><b>template<\/b><\/td>\n<td><span style=\"font-weight: 400;\">This folder as a rule contains templates for JS components and widgets. The file format is .html. <\/span>\n<p><span style=\"font-weight: 400;\">Example: <\/span><span style=\"font-weight: 400;\">\/Magento_Checkout\/<\/span><b>web<\/b><span style=\"font-weight: 400;\">\/<\/span><b>template<\/b><\/p><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">\/&lt;name_Vendor&gt;_&lt;name_Module&gt;\/<\/span><b>web<\/b><span style=\"font-weight: 400;\">\/<\/span><b>templates<\/b><\/td>\n<td><span style=\"font-weight: 400;\">This folder as a rule contains templates for JS components and widgets. The file format is .html. <\/span>\n<p><span style=\"font-weight: 400;\">Example: <\/span><span style=\"font-weight: 400;\">\/Magento_Checkout\/<\/span><b>web<\/b><span style=\"font-weight: 400;\">\/<\/span><b>template<\/b><\/p><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">\/&lt;name_Vendor&gt;_&lt;name_Module&gt;\/<\/span><b>web<\/b><span style=\"font-weight: 400;\">\/<\/span><b>i18n<\/b><\/td>\n<td><span style=\"font-weight: 400;\">This folder as a rule contains localized folders for the module, such as css\/, js\/, etc.<\/span>\n<p><span style=\"font-weight: 400;\">Example: <\/span><span style=\"font-weight: 400;\">Magento_Customer\/web\/<\/span><b>i18n\/ar_SA\/js\/<\/b><\/p><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">\/&lt;theme_dir&gt;\/<\/span><b>web<\/b><span style=\"font-weight: 400;\">\/<\/span><b>i18n<\/b><\/td>\n<td><span style=\"font-weight: 400;\">I mentioned this folder earlier, but here this folder is not for the module, but for the theme. As a rule, it contains localized folders and themes, such as css\/, js\/, etc.<\/span>\n<p><span style=\"font-weight: 400;\">Example: \/app\/design\/frontend\/Magento<\/span><b>\/<\/b><span style=\"font-weight: 400;\">blank<\/span><b>\/web\/i18n\/ar_SA\/css\/source\/_extend.less<\/b><\/p><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">\/&lt;theme_dir&gt;\/<\/span><b>web<\/b><span style=\"font-weight: 400;\">\/<\/span><b>css<\/b><\/td>\n<td><span style=\"font-weight: 400;\">I mentioned this folder earlier, but here this folder is not for the module, but for the theme. &nbsp;As a rule, it contains .less variable style files.<\/span>\n<p><span style=\"font-weight: 400;\">Example: \/app\/design\/frontend\/Magento<\/span><b>\/<\/b><span style=\"font-weight: 400;\">blank\/<\/span><b>web\/css<\/b><\/p><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">\/&lt;theme_dir&gt;\/<\/span><b>web<\/b><span style=\"font-weight: 400;\">\/<\/span><b>fonts<\/b><\/td>\n<td><span style=\"font-weight: 400;\">This folder as a rule contains font files.<\/span>\n<p><span style=\"font-weight: 400;\">Example: \/app\/design\/frontend\/Magento\/luma\/<\/span><b>web<\/b><span style=\"font-weight: 400;\">\/<\/span><b>fonts<\/b><\/p><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">\/&lt;theme_dir&gt;\/<\/span><b>web<\/b><span style=\"font-weight: 400;\">\/<\/span><b>images<\/b><\/td>\n<td><span style=\"font-weight: 400;\">This folder contains image files for the theme of various sprites, theme logo, etc. <\/span>\n<p><span style=\"font-weight: 400;\">Example: \/app\/design\/frontend\/Magento\/luma\/<\/span><b>web<\/b><span style=\"font-weight: 400;\">\/<\/span><b>images<\/b><\/p><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">\/&lt;theme_dir&gt;\/<\/span><b>web<\/b><span style=\"font-weight: 400;\">\/<\/span><b>mage<\/b><\/td>\n<td><span style=\"font-weight: 400;\">This folder contains files of Magento libraries such as jquery, jqueryui and various cms widgets. I do not recommend using this folder to replace components. Use requireJS instead.<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2><span style=\"color: #000000;\"><a id=\"step_3\" style=\"color: #000000;\"><\/a>What is each folder responsible for?<\/span><\/h2>\n<p>&nbsp;<\/p>\n<table>\n<tbody>\n<tr>\n<td><b> Folder<\/b><\/td>\n<td><b>Folder description<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">\/<\/span><b>&lt;name_Vendor&gt;_&lt;name_Module&gt;<\/b><\/td>\n<td><span style=\"font-weight: 400;\">This folder contains templates, layouts and the we folder.<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">\/&lt;name_Vendor&gt;_&lt;name_Module&gt;\/<\/span><b>layout<\/b><\/td>\n<td><span style=\"font-weight: 400;\">This folder contains layout extending files.<\/span>\n<p><span style=\"font-weight: 400;\">Examples: <\/span><b>default.xml, default_head_blocks.xml, catalog_category_view.xml<\/b><\/p><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">\/&lt;name_Vendor&gt;_&lt;name_Module&gt;\/layout\/<\/span><b>base<\/b><\/td>\n<td><span style=\"font-weight: 400;\">This folder contains layout files, which override basic layouts.<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">\/&lt;name_Vendor&gt;_&lt;name_Module&gt;\/<\/span><b>templates<\/b><\/td>\n<td><span style=\"font-weight: 400;\">This folder contains template files.<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">\/&lt;name_Vendor&gt;_&lt;name_Module&gt;\/<\/span><b>email<\/b><\/td>\n<td><span style=\"font-weight: 400;\">This folder contains email template files.<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">\/&lt;name_Vendor&gt;_&lt;name_Module&gt;\/<\/span><b>email\/18n<\/b><\/td>\n<td><span style=\"font-weight: 400;\">This folder contains localized email template files.<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">\/<\/span><b>etc<\/b><\/td>\n<td><span style=\"font-weight: 400;\">This folder contains the view.xml configuration file.<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">\/<\/span><b>i18n<\/b><\/td>\n<td><span style=\"font-weight: 400;\">This folder .csv translations.<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">\/<\/span><b>media<\/b><\/td>\n<td><span style=\"font-weight: 400;\">This folder theme preview image.<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">\/<\/span><b>web<\/b><\/td>\n<td><span style=\"font-weight: 400;\">I&rsquo;ve already mentioned this folder above.<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>As you can see, various folders are used for the theme development in &#1052;agento 2, and each one is responsible for its technology stack and its module. Besides, you can always expand any module using the layout, JS and CSS folders.<\/p>\n<div class=\"module_in_content_container\"><a href=\"https:\/\/belvg.com\/magento-custom-development\" class=\"link_to_module\" target=\"_blank\" rel=\"noopener\"><\/a><div class=\"module_content\"><img src=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2019\/01\/magento-custom-development.png\" width=\"120\" height=\"120\" alt=\"magento custom development\" class=\"module_image\" title=\"Folder Structure in Magento 2\"><div class=\"module_content_part\"><h3 class=\"title\">Magento Custom Development<\/h3><p class=\"module_content_text\">Take your online store to the next level with BelVG Magento Custom Development <\/p><a href=\"https:\/\/belvg.com\/magento-custom-development\" class=\"link_2_to_module\" target=\"_blank\" style=\"display:inline-block\" rel=\"noopener\"><span class=\"read-more\">Visit the page<\/span><\/a><\/div><\/div><\/div>\n\n","protected":false},"excerpt":{"rendered":"This article will deal with the topic of the folder structure in Magento 2 theme. &#8230;","protected":false},"author":8,"featured_media":17292,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"image","meta":{"_acf_changed":false,"footnotes":""},"categories":[35,491,389,469,473],"tags":[],"class_list":["post-17284","post","type-post","status-publish","format-image","has-post-thumbnail","hentry","category-certification","category-magento-2","category-magento2-development","category-magento2-tutorial","category-magento-front-end-developer","post_format-image"],"acf":[],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"This article is dedicated to the folder structure in Magento 2 theme. Here you will learn what folders a theme contains, which are optional and must-haves and what can you use each folder for.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Denis Guriyanov\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/belvg.com\/blog\/folder-structure-in-magento-2.html\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/folder-structure-in-magento-2.html#article\",\"name\":\"Magento 2 Folder Structure | BelVG Blog\",\"headline\":\"Folder Structure in Magento 2\",\"author\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/author\\\/denis-guriyanov#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/belvg.com\\\/blog\\\/wp-content\\\/uploads\\\/2018\\\/11\\\/Folder-Structure-in-Magento-2.png\",\"width\":1110,\"height\":590,\"caption\":\"Folder Structure in Magento 2\"},\"datePublished\":\"2018-11-15T14:26:06+02:00\",\"dateModified\":\"2025-02-11T10:36:14+02:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/folder-structure-in-magento-2.html#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/folder-structure-in-magento-2.html#webpage\"},\"articleSection\":\"Certification, Magento 2, Magento 2 Development, Magento 2 Tutorial, Magento Front End Developer, Image\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/folder-structure-in-magento-2.html#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/belvg.com\\\/blog\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/category\\\/certification#listItem\",\"name\":\"Certification\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/category\\\/certification#listItem\",\"position\":2,\"name\":\"Certification\",\"item\":\"https:\\\/\\\/belvg.com\\\/blog\\\/category\\\/certification\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/folder-structure-in-magento-2.html#listItem\",\"name\":\"Folder Structure in Magento 2\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/folder-structure-in-magento-2.html#listItem\",\"position\":3,\"name\":\"Folder Structure in Magento 2\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/category\\\/certification#listItem\",\"name\":\"Certification\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/#organization\",\"name\":\"BelVG Blog\",\"description\":\"Magento and Prestashop articles\",\"url\":\"https:\\\/\\\/belvg.com\\\/blog\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/author\\\/denis-guriyanov#author\",\"url\":\"https:\\\/\\\/belvg.com\\\/blog\\\/author\\\/denis-guriyanov\",\"name\":\"Denis Guriyanov\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/folder-structure-in-magento-2.html#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/cc371af19f9c419cb0c2033bd26757f6b08fce63e66c556d882502284fb0b8a1?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Denis Guriyanov\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/folder-structure-in-magento-2.html#webpage\",\"url\":\"https:\\\/\\\/belvg.com\\\/blog\\\/folder-structure-in-magento-2.html\",\"name\":\"Magento 2 Folder Structure | BelVG Blog\",\"description\":\"This article is dedicated to the folder structure in Magento 2 theme. Here you will learn what folders a theme contains, which are optional and must-haves and what can you use each folder for.\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/folder-structure-in-magento-2.html#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/author\\\/denis-guriyanov#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/author\\\/denis-guriyanov#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/belvg.com\\\/blog\\\/wp-content\\\/uploads\\\/2018\\\/11\\\/Folder-Structure-in-Magento-2.png\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/folder-structure-in-magento-2.html\\\/#mainImage\",\"width\":1110,\"height\":590,\"caption\":\"Folder Structure in Magento 2\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/folder-structure-in-magento-2.html#mainImage\"},\"datePublished\":\"2018-11-15T14:26:06+02:00\",\"dateModified\":\"2025-02-11T10:36:14+02:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/belvg.com\\\/blog\\\/\",\"name\":\"BelVG Blog\",\"description\":\"Magento and Prestashop articles\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Magento 2 Folder Structure | BelVG Blog","description":"This article is dedicated to the folder structure in Magento 2 theme. Here you will learn what folders a theme contains, which are optional and must-haves and what can you use each folder for.","canonical_url":"https:\/\/belvg.com\/blog\/folder-structure-in-magento-2.html","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/belvg.com\/blog\/folder-structure-in-magento-2.html#article","name":"Magento 2 Folder Structure | BelVG Blog","headline":"Folder Structure in Magento 2","author":{"@id":"https:\/\/belvg.com\/blog\/author\/denis-guriyanov#author"},"publisher":{"@id":"https:\/\/belvg.com\/blog\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2018\/11\/Folder-Structure-in-Magento-2.png","width":1110,"height":590,"caption":"Folder Structure in Magento 2"},"datePublished":"2018-11-15T14:26:06+02:00","dateModified":"2025-02-11T10:36:14+02:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/belvg.com\/blog\/folder-structure-in-magento-2.html#webpage"},"isPartOf":{"@id":"https:\/\/belvg.com\/blog\/folder-structure-in-magento-2.html#webpage"},"articleSection":"Certification, Magento 2, Magento 2 Development, Magento 2 Tutorial, Magento Front End Developer, Image"},{"@type":"BreadcrumbList","@id":"https:\/\/belvg.com\/blog\/folder-structure-in-magento-2.html#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/belvg.com\/blog\/#listItem","position":1,"name":"Home","item":"https:\/\/belvg.com\/blog\/","nextItem":{"@type":"ListItem","@id":"https:\/\/belvg.com\/blog\/category\/certification#listItem","name":"Certification"}},{"@type":"ListItem","@id":"https:\/\/belvg.com\/blog\/category\/certification#listItem","position":2,"name":"Certification","item":"https:\/\/belvg.com\/blog\/category\/certification","nextItem":{"@type":"ListItem","@id":"https:\/\/belvg.com\/blog\/folder-structure-in-magento-2.html#listItem","name":"Folder Structure in Magento 2"},"previousItem":{"@type":"ListItem","@id":"https:\/\/belvg.com\/blog\/#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/belvg.com\/blog\/folder-structure-in-magento-2.html#listItem","position":3,"name":"Folder Structure in Magento 2","previousItem":{"@type":"ListItem","@id":"https:\/\/belvg.com\/blog\/category\/certification#listItem","name":"Certification"}}]},{"@type":"Organization","@id":"https:\/\/belvg.com\/blog\/#organization","name":"BelVG Blog","description":"Magento and Prestashop articles","url":"https:\/\/belvg.com\/blog\/"},{"@type":"Person","@id":"https:\/\/belvg.com\/blog\/author\/denis-guriyanov#author","url":"https:\/\/belvg.com\/blog\/author\/denis-guriyanov","name":"Denis Guriyanov","image":{"@type":"ImageObject","@id":"https:\/\/belvg.com\/blog\/folder-structure-in-magento-2.html#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/cc371af19f9c419cb0c2033bd26757f6b08fce63e66c556d882502284fb0b8a1?s=96&d=mm&r=g","width":96,"height":96,"caption":"Denis Guriyanov"}},{"@type":"WebPage","@id":"https:\/\/belvg.com\/blog\/folder-structure-in-magento-2.html#webpage","url":"https:\/\/belvg.com\/blog\/folder-structure-in-magento-2.html","name":"Magento 2 Folder Structure | BelVG Blog","description":"This article is dedicated to the folder structure in Magento 2 theme. Here you will learn what folders a theme contains, which are optional and must-haves and what can you use each folder for.","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/belvg.com\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/belvg.com\/blog\/folder-structure-in-magento-2.html#breadcrumblist"},"author":{"@id":"https:\/\/belvg.com\/blog\/author\/denis-guriyanov#author"},"creator":{"@id":"https:\/\/belvg.com\/blog\/author\/denis-guriyanov#author"},"image":{"@type":"ImageObject","url":"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2018\/11\/Folder-Structure-in-Magento-2.png","@id":"https:\/\/belvg.com\/blog\/folder-structure-in-magento-2.html\/#mainImage","width":1110,"height":590,"caption":"Folder Structure in Magento 2"},"primaryImageOfPage":{"@id":"https:\/\/belvg.com\/blog\/folder-structure-in-magento-2.html#mainImage"},"datePublished":"2018-11-15T14:26:06+02:00","dateModified":"2025-02-11T10:36:14+02:00"},{"@type":"WebSite","@id":"https:\/\/belvg.com\/blog\/#website","url":"https:\/\/belvg.com\/blog\/","name":"BelVG Blog","description":"Magento and Prestashop articles","inLanguage":"en-US","publisher":{"@id":"https:\/\/belvg.com\/blog\/#organization"}}]}},"aioseo_meta_data":{"post_id":"17284","title":"Magento 2 Folder Structure | #site_title","description":"This article is dedicated to the folder structure in Magento 2 theme. Here you will learn what folders a theme contains, which are optional and must-haves and what can you use each folder for.","keywords":null,"keyphrases":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_custom_url":null,"og_image_custom_fields":null,"og_image_url":null,"og_image_width":null,"og_image_height":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_image_url":null,"twitter_title":null,"twitter_description":null,"schema_type":"default","schema_type_options":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"limit_modified_date":false,"ai":null,"breadcrumb_settings":null,"seo_analyzer_scan_date":null,"created":"2026-11-03 18:37:00","updated":"2026-11-03 18:37:00"},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/belvg.com\/blog\/\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/belvg.com\/blog\/category\/certification\" title=\"Certification\">Certification<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tFolder Structure in Magento 2\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/belvg.com\/blog\/"},{"label":"Certification","link":"https:\/\/belvg.com\/blog\/category\/certification"},{"label":"Folder Structure in Magento 2","link":"https:\/\/belvg.com\/blog\/folder-structure-in-magento-2.html"}],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/posts\/17284","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/comments?post=17284"}],"version-history":[{"count":5,"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/posts\/17284\/revisions"}],"predecessor-version":[{"id":28753,"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/posts\/17284\/revisions\/28753"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/media\/17292"}],"wp:attachment":[{"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/media?parent=17284"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/categories?post=17284"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/tags?post=17284"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}