> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.clonable.net/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# How to setup Clonable with a Magento store?

## Summary
This article explains how Magento and Clonable work together using a *Ghost Store* setup. You will learn what a Ghost Store is, what Clonable translates, what Magento remains responsible for, and how to correctly configure store views and proxies. Both domain-based and subfolder-based setups are covered, including validation steps and common pitfalls.

|| Requirements: Access to the Magento backend, Access to the Clonable dashboard, Ability to edit DNS or NGINX configuration
---

## FAQ
Quick answers to common Magento and Clonable questions.

**Does this also work with Magento 1?**  
Yes. This article is based on Magento 2, but most settings have equivalent options in Magento 1.

**Do I need to translate content in Magento itself?**  
No. Frontend translations are fully handled by Clonable.

**Is the Magento extension required?**  
No, but using the Clonable Magento extension is strongly recommended.

---

**⏱️ Reading time:** 8–10 minutes
---

## Magento and Clonable
Magento and Clonable integrate seamlessly. To make the integration even smoother, we recommend installing the Clonable Magento extension. The core concept behind this integration is the use of a *Ghost Store*.

---

## Ghost Stores
A Ghost Store is an untranslated Magento store view that Clonable translates automatically.

Example:
You create a new store view for Germany, but keep all content in Dutch. Clonable then translates everything the visitor sees on the frontend.

This approach allows you to:
* Configure languages and countries in Magento
* Avoid manual backend translations
* Keep full control over store-specific logic

---

## What Clonable does
Clonable is responsible for all **frontend translations**, including:
* All visible text
* URLs
* SEO data such as meta titles and descriptions

---

## What Magento does
Magento remains responsible for everything Clonable cannot access, including:
* Email translations
* Product and category management per country
* Language-specific business logic
* Store view configuration

---

## Store View configuration
Configuring a Ghost Store works the same way as creating a regular Magento store view.

Important points to check:
* The **Base URLs** of the store view must be correct
* The setup differs slightly for domains, subdomains, and subfolders

### Subfolder setup
If you use subfolders (for example `/de/` or `/it/`), the subfolder must be included in the Base URLs of the store view.

If **Add Store Code to URLs** is enabled, make sure the Base URLs in the store view match those in the Default Config.

---

## Store View proxy
For a Ghost Store to work correctly, a proxy must be configured. The setup depends on the type of clone you are using.

---

### New domain or subdomain
If the translated site runs on a new domain or subdomain, you only need to configure DNS records. Follow Clonable’s standard DNS setup instructions.

---

### Subfolder configuration
A subfolder-based clone requires changes to the NGINX configuration of your Magento website.

The goal is to correctly forward traffic for a specific subfolder (for example `/it/`) to Clonable so it can translate the content.

||| Note: This setup requires server access and the ability to edit NGINX configuration files.

---

## Example NGINX configuration
The configuration below is an example. Your setup may differ slightly.

Always replace:
* `/it/` with your own subfolder
* `magento.testshops.nl` with your own domain (including `www.` if applicable)

```
upstream fastcgi_backend {
    server unix:/run/php/php8.1-fpm-magento.sock;
}

upstream upstream_clonable {
    server [2a01:7c8:e001:d9:0:0:0:e778]:443;
    keepalive 8;
}

server {
    listen 443 ssl http2;
    server_name magento.testshops.nl;

    set $MAGE_ROOT /home/magento/magento2/;
    include /home/magento/magento2/nginx.conf;

    location ~ ^/it/static/.*\.(html|json)$ {
        if ($http_clonable_request_id = "") {
            rewrite ^(.*)$ /clonable$1 last;
        }
        rewrite ^/it/(.*)$ /$1 last;
    }

    location /it/static/ {
        rewrite ^/it/(.*)$ /$1 last;
    }

    location /it/ {
        if ($http_clonable_request_id = "") {
            rewrite ^(.*)$ /clonable$1 last;
        }
        try_files $uri $uri/ /index.php$is_args$args;
    }

    location /clonable/ {
        internal;
        rewrite ^/clonable(.*) $1 break;
        proxy_ssl_server_name on;
        proxy_set_header Host magento.testshops.nl;
        proxy_http_version 1.1;
        proxy_ssl_protocols TLSv1.2 TLSv1.3;
        proxy_pass https://upstream_clonable;
    }
}
```

---

## Validate the proxy connection
If the proxy is configured correctly, the response headers will include `clonable-*` headers. These indicate:
* Which Clonable server handled the request
* Which language the site should be shown in

<<[Clonable HTTP headers example]>>

---

## Subfolder validation
For subfolder clones, verify that:
* The URL path matches the `clonable-original-path` header

Example:
`magento.testshops.nl/de/`  
matches  
`clonable-original-path: /de/`

||| Note: If the value is just `/`, Clonable is translating the wrong store view. This indicates a configuration error in the subfolder setup or store view web settings.

---

## Store View and content validation
If the proxy appears to work but all subpages redirect to the homepage, Magento is likely returning a 404.

This usually means:
* The store view is not correctly configured
* Magento does not recognize where the store view is located

Always double-check:
* Base URLs
* Store view scope
* Subfolder configuration

---

## Tags
magento integration, ecommerce translation, multilingual webshop, storefront localization, international ecommerce
