=== CloWebs ===
Contributors: imalinawaz
Tags: elementor, import, page builder, migration, clone
Requires at least: 6.2
Tested up to: 7.1
Requires PHP: 7.4
Requires Plugins: elementor
Stable tag: 1.4.0
License: Proprietary
License URI: https://clowebs.com/legal/plugin-license

Rebuild Elementor pages from a reference website as editable Elementor pages on your site, with images, styles, and fonts.

== Description ==

CloWebs rebuilds pages that were made with Elementor on another website (the "reference site") as real, editable Elementor pages on your own site. Sections, containers, columns, and widgets come over with their IDs, so the page looks the same and you can keep editing it in Elementor.

**How it works**

1. Connect your site with your email address. You get a 6-digit code by email; new accounts include 1 free page.
2. Enter the address of the reference site. CloWebs lists its pages from the sitemap, the public REST API, and the homepage links, and marks which ones are built with Elementor. The Elementor header and footer are offered as separate items.
3. Pick the pages, choose a page template (Elementor Canvas, Elementor Full Width, or your theme default), confirm that you have the right to use the pages, and start.
4. The CloWebs service loads each page with its stylesheets and images, converts it into Elementor data and tells your site how to build it: images go to your Media Library (each image only once), links to images are rewritten, and the page is saved through Elementor. Your site never contacts the reference site.

**What you get**

* Editable Elementor pages, not screenshots or HTML copies. A widget of another plugin is rebuilt as that plugin's widget when it is active on your site, or with Elementor's own widgets; only parts that need their own scripts stay HTML copies, and you see a note about each one.
* The original look: styles become Elementor settings, and what settings cannot hold goes into Elementor's Custom CSS (or one "Imported styles" widget without Elementor Pro), so pages keep their look without this plugin.
* Header and footer as Elementor templates, with a Pro license (Elementor Pro theme-builder headers and footers become header and footer templates when Elementor Pro is active, and section templates otherwise).
* Design-only import: placeholder texts and images instead of the reference content, on every plan.
* Fonts: Google Fonts the page needs are loaded through Elementor, which respects your Elementor font settings.
* Safe re-runs: importing the same page of a job again updates the same page and reuses the same images.
* History of your imports with links to view and edit each page.

**Full-site import (Pro)**

Import the content of a whole WordPress site from its public REST API: posts, pages that are not built with Elementor, WooCommerce products (with prices, SKUs, stock status, images, and variations), categories, tags, product categories, menus, and featured images. Items that were imported before are skipped. The theme and plugins the reference site uses are listed, and free ones from WordPress.org can be installed after you confirm.

**Use reference sites you are allowed to use.** You must own the reference site or have the right to reuse its design and content. CloWebs asks you to confirm this before every import.

== External services ==

This plugin connects to the CloWebs service to create accounts, check licenses and credits, and convert pages. The service is required: pages are converted on the service, not on your site.

* **Service:** CloWebs, `https://clowebs.com` (the address can be changed with the `CLOWEBS_API_URL` constant).
* **When you connect your site:** your email address, the address and name of your site, and the versions of WordPress, Elementor, and this plugin are sent. The service emails you a sign-in code.
* **On every request after that:** your site address and the plugin version are sent, and the request is signed with a key the service gave your site when you connected, so the service knows which account and site it comes from. Sites connected with an older version move to signed requests by themselves.
* **When you check your account or activate a license:** the license key you enter is sent.
* **When you import pages:** the addresses and titles of the reference pages you selected, your options and your consent confirmation are sent. The service loads those pages, their stylesheets and images itself (as CloWebsFetcher, following the reference site's robots.txt), converts them, and sends your site the steps to build each page. Your site sends what those steps need: its theme, installed plugins, Elementor's settings and widgets, whether your user may install plugins, and the IDs and titles of the pages, posts, templates, terms and menus the import made or matches. After the import, the ID and edit link of the new page are kept for your history.
* **When you run a full-site import:** the service reads the reference site's posts, pages, products, terms, menus and their images and sends them to your site to save; your site sends the IDs and titles of the items it already has, to match them, and how many it imported.
* **How long copies are kept:** the service deletes what it copied from reference sites after the time set in its Privacy Policy.

Terms of Service: https://clowebs.com/legal/terms
Privacy Policy: https://clowebs.com/legal/privacy

The plugin also contacts these other services, only when you use the related feature:

* **The reference site you enter:** your site does not contact it; the CloWebs service does (see above).
* **WordPress.org:** themes and plugins you choose to install from the import screens are downloaded from WordPress.org (whether they are free there is looked up by the CloWebs service). [WordPress.org privacy policy](https://wordpress.org/about/privacy/).
* **Google Fonts:** fonts used by an imported page are loaded through Elementor's font loader, which follows your Elementor settings (including turning Google Fonts off or loading them locally).

== Installation ==

1. Install and activate Elementor, then this plugin.
2. Open **CloWebs → Import pages** and connect your site with your email address.
3. Enter the address of the reference site, choose the pages, confirm, and click **Import**.
4. Open the new pages with **Edit with Elementor**.

== Frequently Asked Questions ==

= Does it need Elementor Pro? =

No. Imported pages work with the free Elementor plugin. Headers and footers become section templates that you can insert with a shortcode or widget; with Elementor Pro they become theme-builder templates.

= Which pages can be rebuilt? =

Pages built with Elementor that are publicly visible. Pages behind a login, a firewall, or bot protection cannot be fetched; you see a clear message when a site blocks the request.

= What does a credit cover? =

One page, header, footer, or template. Credits are reserved when you start an import and used when the converted page is downloaded. If a page cannot be converted, or you stop the import, the reserved credits are released. Posts and products in a full-site import do not use credits.

= Does importing again create duplicates? =

No. Importing the same page of a job again updates the page it created before, and images that were imported before are reused. A full-site import skips items it imported before.

= Is my site token safe? =

The token is stored in your database (not autoloaded) and only used by your server. The plugin screens talk to your own site, which talks to the service, so the token is never sent to the browser.

= What happens when I uninstall the plugin? =

Its settings, token, and history are deleted, and the token is revoked. Imported pages, templates, and images stay, together with the styles they need.

== Screenshots ==

1. Choose the pages of the reference site.
2. Import progress with links to view and edit each page.
3. Account, credits, and license.
4. Full-site import with theme and plugin suggestions.

== Changelog ==

= 1.4.0 (7 November 2026) =
* The plugin is now called CloWebs (it was Reframe). On update, its settings and the links between imported pages and their reference are carried over, and the old plugin is switched off.
* The service address is https://clowebs.com.

= 1.3.8 (28 October 2026) =
* When our conversion service has no worker running, the import says so within 15 to 30 seconds instead of waiting in silence: reading the reference site stops with that explanation, and pages waiting to be converted show that the service is restarting, then stop with a clear message (they stay in the queue; resume from the History screen). Such an error is not retried.

= 1.3.6 (27 October 2026) =
* CloWebs Widgets 0.1.1 bundled: the Marquee widget's items can carry CSS classes (set by the import), so the reference's own text styles (font, size per device) apply to them. A site with 0.1.0 is updated on its next import that uses the widget.

= 1.3.5 (27 October 2026) =
* The companion plugin is activated in the same request it is copied in (WordPress's cached plugin list is refreshed first).

= 1.3.4 (27 October 2026) =
* Imports through the service's page operations (the wizard's path): entrance Interactions reach Elementor's composition builder (op w.compile), and the companion widgets are installed before the page is saved (op w.document_save), so Elementor no longer drops them.

= 1.3.3 (27 October 2026) =
* New companion plugin CloWebs Widgets (bundled in addons/): Marquee and Split-text Heading widgets for effects no Elementor widget has. CloWebs installs and activates it only when an imported page uses one of its widgets, and enables only those widgets on the site.

= 1.3.2 (27 October 2026) =
* Elementor 4 elements: entrance effects of the reference (fade, slide and scale in on load or when scrolled to, with their duration and delay) are kept as Elementor's own Interactions on the rebuilt element.

= 1.3.1 (26 October 2026) =
* Elementor 4 elements: an element's own custom CSS from the converter (what no control holds, such as an inline element's font inside a heading) is stored on the element's style as Elementor's custom CSS.

= 1.3.0 (26 October 2026) =
* Pages not built with Elementor: the reference's own fonts are registered as Elementor Pro Custom Fonts (op w.custom_fonts), with their files hosted on your site, so the rebuilt page uses the same fonts.
* Elementor 4 elements: a row/column gap pair of the reference (`gap: 4px 12px`) is kept as Elementor's row and column gap after compiling.
* The rebuilt page's header and footer are imported as site parts (Theme Builder header and footer) instead of inside the page.

= 1.2.0 =
* The CloWebs service loads the reference pages and plans each import; your site only builds the pages it is sent, and never contacts the reference site.
* Requests are signed; sites connected with an earlier version move to signed requests by themselves.
* Widgets only the reference site has are rebuilt with Elementor's widgets; Off-Canvas panels are rebuilt as Off-Canvas widgets.
* Proprietary licence (LICENSE.txt).

= 1.1.0 =
* Updates come from the CloWebs service (WordPress → Updates).
* Lists of posts (Loop Grid) are rebuilt as Loop Grids: the posts their cards show are created on the site, read with Elementor's dynamic tags.
* Clearer messages when the service turns a request away.

= 1.0.0 =
* First release.
