{"id":16552,"date":"2025-10-31T19:01:04","date_gmt":"2025-10-31T13:31:04","guid":{"rendered":"https:\/\/www.skynats.com\/?p=16552"},"modified":"2025-10-31T19:01:28","modified_gmt":"2025-10-31T13:31:28","slug":"how-to-fix-the-plesk-error-meta-xml-was-not-found-in-archive","status":"publish","type":"post","link":"https:\/\/www.skynats.com\/blog\/how-to-fix-the-plesk-error-meta-xml-was-not-found-in-archive\/","title":{"rendered":"How to Fix the Plesk Error: meta.xml was not found in archive"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Customizing Plesk with a branded theme can enhance your client experience and reinforce your company identity. However, installing custom branding themes isn\u2019t always straightforward. One common issue is the Plesk Error: meta.xml was not found in archive error.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-small-font-size\" id=\"h-understanding-the-problem\"><strong>Understanding the Problem<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">When you try to install a theme using the Plesk CLI:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>plesk bin branding_theme -i -vendor admin -source \/path\/theme-file.zip<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">You might encounter:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Meta information file meta.xml was not found in archive.\nexit status 1<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Even though your ZIP contains a meta.xml file, Plesk is unable to detect it. This typically happens because of incorrect ZIP structure, file permissions, or invalid XML syntax.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-small-font-size\"><strong>Step 1: Check the ZIP Structure<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Plesk expects a very specific structure for branding themes. The meta.xml file must be <strong>at the root level<\/strong> of the archive:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>theme-file.zip\n\u251c\u2500\u2500 meta.xml\n\u251c\u2500\u2500 css\/\n\u2502   \u2514\u2500\u2500 custom.css\n\u251c\u2500\u2500 icons\/\n\u2514\u2500\u2500 images\/<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">You can verify the structure using:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>unzip -l \/path\/theme-file.zip<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">If meta.xml is inside a subfolder, like theme-file\/meta.xml, Plesk will fail to find it.<strong>Fix:<\/strong> Move all files to the root of the ZIP and repackage:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cd \/tmp\nunzip \/path\/theme-file.zip -d theme-file\ncd theme-file\nmv theme-file\/* .\nrm -rf theme-file\nzip -r \/path\/theme-file.zip .<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading has-small-font-size\" id=\"h-step-2-validate-meta-xml\"><strong>Step 2: Validate meta.xml<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">meta.xml must be valid XML format and include required fields:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?>\n&lt;meta>\n  &lt;name>theme-file&lt;\/name>\n  &lt;description>&lt;\/description>\n  &lt;version>1.0.0&lt;\/version>\n&lt;\/meta><\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Even a small syntax error can prevent Plesk from recognizing the theme.<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-small-font-size\"><strong>Step 3: Check File Permissions<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ensure the ZIP file is readable by Plesk:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>chmod 644 \/path\/theme-file.zip<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading has-small-font-size\"><strong>Step 4: Install the Theme<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Once your ZIP is correctly structured and permissions are set, install the theme:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>plesk bin branding_theme -i -vendor admin -source \/path\/theme-file.zip<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">If everything is correct, <a href=\"https:\/\/www.plesk.com\/\" target=\"_blank\" rel=\"noopener\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-secondary-color\">Plesk<\/mark><\/a> will install your theme without errors.<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-small-font-size\"><strong>Conclusion<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Installing custom Plesk branding themes is simple once you understand the expected ZIP structure, XML requirements, and permissions. By ensuring that meta.xml is at the root level, validating your XML, and checking file permissions, you can avoid the common meta.xml not found error and successfully deploy your custom theme.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you&#8217;re facing issues like the Plesk Error: meta.xml was not found in archive, our expert team at Skynats can help you quickly identify and resolve the problem. With our <a href=\"https:\/\/www.skynats.com\/server-management\/\">Server Management Services<\/a> and <a href=\"https:\/\/www.skynats.com\/hourly-server-support-services\/\">Hourly Server Support Services<\/a>, we provide reliable troubleshooting and control panel management to ensure smooth server operations.<br>Contact Skynats today to get instant professional assistance and restore your Plesk environment without downtime.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><br><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Customizing Plesk with a branded theme can enhance your client experience and reinforce your company identity. However, installing custom branding themes isn\u2019t always straightforward. One common issue is the Plesk Error: meta.xml was not found in archive error. Understanding the Problem When you try to install a theme using the Plesk CLI: You might encounter: [&hellip;]<\/p>\n","protected":false},"author":14,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[1152,1150,530,1151,302],"class_list":["post-16552","post","type-post","status-publish","format-standard","hentry","category-blog","tag-hourly-server-support-services","tag-meta-xml","tag-plesk-error","tag-plesk-error-meta-xml","tag-server-management-services"],"_links":{"self":[{"href":"https:\/\/www.skynats.com\/blog\/wp-json\/wp\/v2\/posts\/16552","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.skynats.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.skynats.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.skynats.com\/blog\/wp-json\/wp\/v2\/users\/14"}],"replies":[{"embeddable":true,"href":"https:\/\/www.skynats.com\/blog\/wp-json\/wp\/v2\/comments?post=16552"}],"version-history":[{"count":1,"href":"https:\/\/www.skynats.com\/blog\/wp-json\/wp\/v2\/posts\/16552\/revisions"}],"predecessor-version":[{"id":16555,"href":"https:\/\/www.skynats.com\/blog\/wp-json\/wp\/v2\/posts\/16552\/revisions\/16555"}],"wp:attachment":[{"href":"https:\/\/www.skynats.com\/blog\/wp-json\/wp\/v2\/media?parent=16552"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.skynats.com\/blog\/wp-json\/wp\/v2\/categories?post=16552"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.skynats.com\/blog\/wp-json\/wp\/v2\/tags?post=16552"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}