CODE & CLONING

Why do animations break when you clone a website?

A clone can keep how an animation looked at one moment but lose the runtime, state and measurements that drive it, so rebuild each effect deliberately.

A frozen page snapshot contrasts with an animation timeline driven by scripts, triggers and state.
Rebuild the animation logic and triggers alongside the exported layout.

In short

  • Blank sections are often hidden until a script reveals them
  • Make the static layout readable before adding motion back
  • For GSAP, check the plugin is registered and the targets exist
  • Rebuild one effect at a time, with a reduced-motion fallback
On this page7
  1. Step by step
  2. What drives the animation?
  3. Why does the cloned page look blank?
  4. GSAP and ScrollTrigger checklist
  5. Write a motion reference
  6. What about WebGL and canvas effects?
  7. Questions

Step by step

  1. Record the effect

    Capture its start, middle and end. Note the viewport and whether it follows scrolling or time.

  2. Unhide the static content

    Remove start states that wait for a script, so the page is readable without motion.

  3. Fix the first console error

    Debug the first runtime error, not every symptom after it. Check that libraries and plugins load.

  4. Write a motion spec

    Describe the trigger, elements, duration or scroll range, the end state and what happens when scrolling back.

  5. Test the edge cases

    Reload mid-page, resize, try a narrow screen, slow media, reduced motion and in-app navigation.

What drives the animation?

For a site you own, read the original implementation if you can. A recording shows the experience; the source explains its state and setup.

Animation types and what they depend on
EffectDepends on
Hover transitionCSS states on the element
CSS keyframesThe stylesheet and the class or state that starts it
Scroll-linked timelineThe library, its plugin, element positions and the scrolling container
WebGL or canvas sceneRendering code and assets; a screenshot can’t rebuild it
Website cloner in the Sitepeel interface
Website cloner in actionExplore the tool

Why does the cloned page look blank?

Text and images may be there but hidden by a starting opacity, transform or clip that JavaScript was meant to remove. Without that setup, the page looks empty. Sitepeel gives you a layout reference; the effect still needs its own code.

GSAP and ScrollTrigger checklist

  • Confirm the static target is visible and correctly positioned.
  • Check that GSAP and the plugin load, and that the plugin is registered.
  • Create the animation after its target elements exist.
  • Confirm the target selector and the scrolling container.
  • Call ScrollTrigger.refresh() once fonts and images have settled the layout.
  • In a framework, set up and clean up with the component lifecycle.
  • Remove old listeners and animation instances when a component rebuilds.

Write a motion reference

A short spec beats asking an agent to recreate a whole animated site. Motion should enhance a readable page, never be the only way to reveal content.

motion-reference.mdMarkdown
# Section motion reference

Static layout: heading, explanation, then product image.
Trigger: the section enters the viewport.
Effect: a short upward reveal of the image.
End state: the image is fully visible in its normal position.
Repeat: once per page visit.

With reduced motion: show the final state immediately.
Without animation initialization: content stays readable.
On resize: preserve the layout and avoid duplicate listeners.

Implement and review this effect before adding another.

What about WebGL and canvas effects?

They need real rendering code and assets, and a screenshot of the output won’t rebuild the scene. Without the original source, consider a simpler effect that makes the same point. It is easier to maintain than unexplained copied scripts.

Questions

Why is ScrollTrigger not working on my cloned site?

Check that GSAP and ScrollTrigger load, the plugin is registered, the targets exist when the animation is created and the scroller is correct. If fonts or images shift the layout afterwards, call ScrollTrigger.refresh().

Why does my cloned website look blank?

Content is often hidden by a starting opacity or transform that a script was meant to remove. Remove those start states so the page is readable, then add the motion back.

TAKE A CLOSER LOOK

Your next starting point is already on the web.

Inspect it. Understand it. Build something of your own.

Add to ChromeFree installTry the free tools