{"id":14293,"date":"2017-09-21T16:23:30","date_gmt":"2017-09-21T13:23:30","guid":{"rendered":"https:\/\/belvg.com\/blog\/?p=14293"},"modified":"2021-02-18T09:42:23","modified_gmt":"2021-02-18T07:42:23","slug":"high-level-magento-architecture-magento-2-vs-magento-1","status":"publish","type":"post","link":"https:\/\/belvg.com\/blog\/high-level-magento-architecture-magento-2-vs-magento-1.html","title":{"rendered":"High-level Magento Architecture. Magento 2 vs Magento 1"},"content":{"rendered":"\n<p><span style=\"font-weight: 400;\">The article is dedicated to the basic Magento architecture as well as its comparison with both Magento versions. &nbsp;<\/span><span style=\"font-weight: 400;\">As for Magento 1 structure, all relevant description you can find in the article&nbsp;<\/span><strong><a href=\"https:\/\/belvg.com\/blog\/magento-certification-module-structure.html\">Magento Module Structure<\/a>.&nbsp;<\/strong><span style=\"font-weight: 400;\">A<\/span><span style=\"font-weight: 400;\">s for Magento 2 structure, it is shown in the picture below.<\/span><\/p>\n<p><!--more--><\/p>\n<p><a href=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2017\/09\/High-level-Magento-architecture.-Magento-2-vs-Magento-1.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"lazy alignnone size-full wp-image-14294\" src=\"https:\/\/belvg.com\/wp-content\/uploads\/2019\/06\/pixel.png\" data-src=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2017\/09\/High-level-Magento-architecture.-Magento-2-vs-Magento-1.jpg\" alt=\"High-level Magento architecture. Magento 2 vs Magento 1\" width=\"448\" height=\"349\" title=\"High-level Magento Architecture. Magento 2 vs Magento 1\"><\/a><\/p>\n<p><span style=\"font-weight: 400;\">If compared with Magento 1, the structure has changed. But <strong>registration.php<\/strong> and <strong>etc\/module.xml<\/strong> are still obligatory. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">In Magento 2 the structure is not as strict as in Magento 1, so the folder may have any subfolder. Additionally, the developer is allowed to place a file in any subfolder. However, the listed folders correspond to different class types, so this structure is historical and should be retained.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">One of the significant distinctions between Magento 1 and Magento 2 is the lack of codepools in Magento 2. The code here can be placed in the app\/code and vendor directories.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The most general module structure in Magento 2 is the following:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\"><b>Block:<\/b><span style=\"font-weight: 400;\"> For blocks<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>Controller:<\/b><span style=\"font-weight: 400;\"> For controller actions<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>Helper:<\/b><span style=\"font-weight: 400;\"> For helpers<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>Model:<\/b><span style=\"font-weight: 400;\"> Where models and resource models are located<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>Setup:<\/b> <span style=\"font-weight: 400;\">For installing and upgrading scripts<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>View:<\/b><span style=\"font-weight: 400;\"> For layout XML files, templates, and static view files<\/span><\/li>\n<\/ul>\n<blockquote><p><b>NOTE:<\/b><span style=\"font-weight: 400;\"> The file name should repeat the folder structure, starting from <strong>&lt;Vendor&gt;\/&lt;ModuleName&gt;<\/strong>. For example, the PHP class in the file&nbsp;<\/span><strong>app\/code\/Magento\/Catalog\/Model\/Product.php <\/strong>should have the name<strong> Magento\/Catalog\/Model\/Product.<\/strong><\/p><\/blockquote>\n<p><span style=\"font-weight: 400;\">Let&rsquo;s see how Magento 2 processes the request. <\/span><span style=\"font-weight: 400;\">In Magento 2 we&rsquo;ll initiate the request by going to the <strong>index.php<\/strong> file. <\/span><\/p>\n<pre class=\"lang:php decode:true\">try {\r\n&nbsp;&nbsp;require __DIR__ . '\/app\/bootstrap.php';\r\n} catch (\\Exception $e) {\r\n...\r\n}\r\n$bootstrap = \\Magento\\Framework\\App\\Bootstrap::create(BP, $_SERVER);\r\n\/** @var \\Magento\\Framework\\App\\Http $app *\/\r\n$app = $bootstrap-&gt;createApplication('Magento\\Framework\\App\\Http');\r\n$bootstrap-&gt;run($app);\r\n<\/pre>\n<p><span style=\"font-weight: 400;\">The first part of the code is similar to the code we&rsquo;ve had in Magento 1. It uses the <strong>bootstrap.php<\/strong> file, which requires <strong>autoload.php<\/strong>.<\/span><\/p>\n<pre class=\"lang:php decode:true\">\/**\r\n* Environment initialization\r\n*\/\r\nerror_reporting(E_ALL);\r\n...\r\nrequire_once __DIR__ . '\/autoload.php';\r\nrequire_once BP . '\/app\/functions.php';\r\n...\r\n<\/pre>\n<p><span style=\"font-weight: 400;\">Note that the autoload file registers the autoloader: <\/span><\/p>\n<pre class=\"lang:php decode:true\">use Magento\\Framework\\Autoload\\AutoloaderRegistry;\r\nuse Magento\\Framework\\Autoload\\ClassLoaderWrapper;\r\n\/**\r\n* Shortcut constant for the root directory\r\n*\/\r\ndefine('BP', dirname(__DIR__));\r\ndefine('VENDOR_PATH', BP . '\/app\/etc\/vendor_path.php');\r\n...\r\n$vendorDir = require VENDOR_PATH;\r\n$vendorAutoload = BP . \"\/{$vendorDir}\/autoload.php\";\r\n\/* 'composer install' validation *\/\r\nif (file_exists($vendorAutoload)) {\r\n&nbsp;&nbsp;$composerAutoloader = include $vendorAutoload;\r\n} else {\r\n&nbsp;&nbsp;throw new \\Exception(\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'Vendor autoload is not found. Please run \\'composer install\\' under application root directory.'\r\n&nbsp;&nbsp;);\r\n}\r\nAutoloaderRegistry::registerAutoloader(new ClassLoaderWrapper($composerAutoloader));\r\n\/\/ Sets default autoload mappings, may be overridden in Bootstrap::create\r\n\\Magento\\Framework\\App\\Bootstrap::populateAutoloader(BP, []);<\/pre>\n<p><span style=\"font-weight: 400;\">The autoloader is quite important because all your classes will be downloaded with it. Magento has a few autoloaders, but the main one <strong>(<\/strong><\/span><strong>\\Composer\\Autoload\\ClassLoader<\/strong><span style=\"font-weight: 400;\"><strong>)<\/strong> is similar to the one we&rsquo;ve had in Magento 1. It takes the path to the class and converts it to the physical path to the file.<\/span><\/p>\n<pre class=\"lang:php decode:true\">public function register($prepend = false)\r\n{\r\n&nbsp;&nbsp;spl_autoload_register(array($this, 'loadClass'), true, $prepend);\r\n}\r\npublic function loadClass($class)\r\n{\r\n&nbsp;&nbsp;if ($file = $this-&gt;findFile($class)) {\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;includeFile($file);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return true;\r\n&nbsp;&nbsp;}\r\n}\r\n<\/pre>\n<p><span style=\"font-weight: 400;\">In Magento 2, we no longer have a factory method, that&rsquo;s why it calls all classes by full names making the process a bit easier.<\/span><\/p>\n<div class=\"module_in_content_container\"><a href=\"https:\/\/belvg.com\/magento2-development\" class=\"link_to_module\" target=\"_blank\" rel=\"noopener\"><\/a><div class=\"module_content\"><div class=\"module_content_part\"><h3 class=\"title\">Magento 2 Development<\/h3><p class=\"module_content_text\">Take your online store to the next level with BelVG Magento 2 Development <\/p><a href=\"https:\/\/belvg.com\/magento2-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":"The article is dedicated to the basic Magento architecture as well as its comparison with &#8230;","protected":false},"author":82,"featured_media":14299,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"image","meta":{"_acf_changed":false,"footnotes":""},"categories":[35,14,389,471,524],"tags":[],"class_list":["post-14293","post","type-post","status-publish","format-image","has-post-thumbnail","hentry","category-certification","category-magento","category-magento2-development","category-magento-developer","category-magento-speed-optimization","post_format-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=\"The article is dedicated to the basic Magento architecture as well as its comparison with both Magento versions.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Andrey Litvin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/belvg.com\/blog\/high-level-magento-architecture-magento-2-vs-magento-1.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\\\/high-level-magento-architecture-magento-2-vs-magento-1.html#article\",\"name\":\"High-level Magento Architecture. Magento 2 vs Magento 1 | BelVG Blog\",\"headline\":\"High-level Magento Architecture. Magento 2 vs Magento 1\",\"author\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/author\\\/andrey-litvin#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/belvg.com\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/09\\\/High-level-Magento-Architecture.jpg\",\"width\":770,\"height\":433,\"caption\":\"High-level Magento Architecture\"},\"datePublished\":\"2017-09-21T16:23:30+02:00\",\"dateModified\":\"2021-02-18T09:42:23+02:00\",\"inLanguage\":\"en-US\",\"commentCount\":1,\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/high-level-magento-architecture-magento-2-vs-magento-1.html#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/high-level-magento-architecture-magento-2-vs-magento-1.html#webpage\"},\"articleSection\":\"Certification, Magento, Magento 2 Development, Magento Developer, Magento Speed Optimization, Image\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/high-level-magento-architecture-magento-2-vs-magento-1.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\\\/magento#listItem\",\"name\":\"Magento\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/category\\\/magento#listItem\",\"position\":2,\"name\":\"Magento\",\"item\":\"https:\\\/\\\/belvg.com\\\/blog\\\/category\\\/magento\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/high-level-magento-architecture-magento-2-vs-magento-1.html#listItem\",\"name\":\"High-level Magento Architecture. Magento 2 vs Magento 1\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/high-level-magento-architecture-magento-2-vs-magento-1.html#listItem\",\"position\":3,\"name\":\"High-level Magento Architecture. Magento 2 vs Magento 1\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/category\\\/magento#listItem\",\"name\":\"Magento\"}}]},{\"@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\\\/andrey-litvin#author\",\"url\":\"https:\\\/\\\/belvg.com\\\/blog\\\/author\\\/andrey-litvin\",\"name\":\"Andrey Litvin\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/high-level-magento-architecture-magento-2-vs-magento-1.html#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e1a6e3c80cb940fddb65016d94b015cd951b4a8a9cd7227565131f28ea95c7a0?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Andrey Litvin\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/high-level-magento-architecture-magento-2-vs-magento-1.html#webpage\",\"url\":\"https:\\\/\\\/belvg.com\\\/blog\\\/high-level-magento-architecture-magento-2-vs-magento-1.html\",\"name\":\"High-level Magento Architecture. Magento 2 vs Magento 1 | BelVG Blog\",\"description\":\"The article is dedicated to the basic Magento architecture as well as its comparison with both Magento versions.\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/high-level-magento-architecture-magento-2-vs-magento-1.html#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/author\\\/andrey-litvin#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/author\\\/andrey-litvin#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/belvg.com\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/09\\\/High-level-Magento-Architecture.jpg\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/high-level-magento-architecture-magento-2-vs-magento-1.html\\\/#mainImage\",\"width\":770,\"height\":433,\"caption\":\"High-level Magento Architecture\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/high-level-magento-architecture-magento-2-vs-magento-1.html#mainImage\"},\"datePublished\":\"2017-09-21T16:23:30+02:00\",\"dateModified\":\"2021-02-18T09:42:23+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":"High-level Magento Architecture. Magento 2 vs Magento 1 | BelVG Blog","description":"The article is dedicated to the basic Magento architecture as well as its comparison with both Magento versions.","canonical_url":"https:\/\/belvg.com\/blog\/high-level-magento-architecture-magento-2-vs-magento-1.html","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/belvg.com\/blog\/high-level-magento-architecture-magento-2-vs-magento-1.html#article","name":"High-level Magento Architecture. Magento 2 vs Magento 1 | BelVG Blog","headline":"High-level Magento Architecture. Magento 2 vs Magento 1","author":{"@id":"https:\/\/belvg.com\/blog\/author\/andrey-litvin#author"},"publisher":{"@id":"https:\/\/belvg.com\/blog\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2017\/09\/High-level-Magento-Architecture.jpg","width":770,"height":433,"caption":"High-level Magento Architecture"},"datePublished":"2017-09-21T16:23:30+02:00","dateModified":"2021-02-18T09:42:23+02:00","inLanguage":"en-US","commentCount":1,"mainEntityOfPage":{"@id":"https:\/\/belvg.com\/blog\/high-level-magento-architecture-magento-2-vs-magento-1.html#webpage"},"isPartOf":{"@id":"https:\/\/belvg.com\/blog\/high-level-magento-architecture-magento-2-vs-magento-1.html#webpage"},"articleSection":"Certification, Magento, Magento 2 Development, Magento Developer, Magento Speed Optimization, Image"},{"@type":"BreadcrumbList","@id":"https:\/\/belvg.com\/blog\/high-level-magento-architecture-magento-2-vs-magento-1.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\/magento#listItem","name":"Magento"}},{"@type":"ListItem","@id":"https:\/\/belvg.com\/blog\/category\/magento#listItem","position":2,"name":"Magento","item":"https:\/\/belvg.com\/blog\/category\/magento","nextItem":{"@type":"ListItem","@id":"https:\/\/belvg.com\/blog\/high-level-magento-architecture-magento-2-vs-magento-1.html#listItem","name":"High-level Magento Architecture. Magento 2 vs Magento 1"},"previousItem":{"@type":"ListItem","@id":"https:\/\/belvg.com\/blog\/#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/belvg.com\/blog\/high-level-magento-architecture-magento-2-vs-magento-1.html#listItem","position":3,"name":"High-level Magento Architecture. Magento 2 vs Magento 1","previousItem":{"@type":"ListItem","@id":"https:\/\/belvg.com\/blog\/category\/magento#listItem","name":"Magento"}}]},{"@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\/andrey-litvin#author","url":"https:\/\/belvg.com\/blog\/author\/andrey-litvin","name":"Andrey Litvin","image":{"@type":"ImageObject","@id":"https:\/\/belvg.com\/blog\/high-level-magento-architecture-magento-2-vs-magento-1.html#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/e1a6e3c80cb940fddb65016d94b015cd951b4a8a9cd7227565131f28ea95c7a0?s=96&d=mm&r=g","width":96,"height":96,"caption":"Andrey Litvin"}},{"@type":"WebPage","@id":"https:\/\/belvg.com\/blog\/high-level-magento-architecture-magento-2-vs-magento-1.html#webpage","url":"https:\/\/belvg.com\/blog\/high-level-magento-architecture-magento-2-vs-magento-1.html","name":"High-level Magento Architecture. Magento 2 vs Magento 1 | BelVG Blog","description":"The article is dedicated to the basic Magento architecture as well as its comparison with both Magento versions.","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/belvg.com\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/belvg.com\/blog\/high-level-magento-architecture-magento-2-vs-magento-1.html#breadcrumblist"},"author":{"@id":"https:\/\/belvg.com\/blog\/author\/andrey-litvin#author"},"creator":{"@id":"https:\/\/belvg.com\/blog\/author\/andrey-litvin#author"},"image":{"@type":"ImageObject","url":"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2017\/09\/High-level-Magento-Architecture.jpg","@id":"https:\/\/belvg.com\/blog\/high-level-magento-architecture-magento-2-vs-magento-1.html\/#mainImage","width":770,"height":433,"caption":"High-level Magento Architecture"},"primaryImageOfPage":{"@id":"https:\/\/belvg.com\/blog\/high-level-magento-architecture-magento-2-vs-magento-1.html#mainImage"},"datePublished":"2017-09-21T16:23:30+02:00","dateModified":"2021-02-18T09:42:23+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":"14293","title":"High-level Magento Architecture. Magento 2 vs Magento 1 | #site_title","description":"The article is dedicated to the basic Magento architecture as well as its comparison with both Magento versions.","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:15","updated":"2026-11-03 18:37:15"},"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\/magento\" title=\"Magento\">Magento<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tHigh-level Magento Architecture. Magento 2 vs Magento 1\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/belvg.com\/blog\/"},{"label":"Magento","link":"https:\/\/belvg.com\/blog\/category\/magento"},{"label":"High-level Magento Architecture. Magento 2 vs Magento 1","link":"https:\/\/belvg.com\/blog\/high-level-magento-architecture-magento-2-vs-magento-1.html"}],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/posts\/14293","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\/82"}],"replies":[{"embeddable":true,"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/comments?post=14293"}],"version-history":[{"count":0,"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/posts\/14293\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/media\/14299"}],"wp:attachment":[{"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/media?parent=14293"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/categories?post=14293"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/tags?post=14293"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}