Most “the client broke the site” stories are handoff failures, not client failures. Below is what to set up, what to lock, and what to write down.
Set global styles before you build anything
Elementor’s Site Settings hold global colours and global fonts. Every colour and every text style in the build should reference one of them, never a value typed into an individual widget.
This is the single highest-leverage handoff decision. When a client rebrands, a global colour is one change; a hard-coded hex is ninety edits across a site they cannot audit. It also stops the slow drift where six near-identical greys accumulate because each was picked by eye on a different day.
Name them for their role, not their appearance: “Accent”, “Body text”, “Surface”. A client can reason about “Accent”; they cannot reason about “Blue 3”.
Build with containers so content can grow
Clients add text. They paste a paragraph where you put one line, or a product name twice as long as the placeholder. A layout built on flex containers absorbs that; a layout built on fixed heights and absolute positioning clips it or leaves a hole.
Two rules carry most of the weight:
Never set a fixed height on anything containing text. Use padding for vertical space, so the box grows with its content.
Never use negative margins to fix spacing. They break the moment content reflows, and the client has no way to know why.
Lock the structure, open the content
Elementor lets you hide sections of the editing interface per user role. Give the client an Editor account, not Administrator, and remove access to the controls they have no reason to touch — layout, advanced positioning, custom CSS — while leaving text and image controls available.
The goal is not to distrust them. It is that a panel with forty controls, thirty-five of which will damage the page, is a trap. Narrowing it to the five that matter is a kindness and it prevents the support call.
Use templates for anything that repeats
Headers, footers, the case-study or blog layout, the CTA block that appears on six pages — each should be one saved template, used everywhere, not six copies. When the phone number changes, it changes once.
Where the repeating thing is content-driven — a card grid pulling from a custom post type, a stats row, a testimonial list — a small custom Elementor widget is usually a better handoff than a stack of nested containers. The client fills in fields; the markup cannot be pulled apart by accident. That is the pattern behind the custom widgets in my own builds.
Name things the way the client thinks
Rename every template, page and saved block in the client’s vocabulary. “Homepage — hero” not “Section copy 3”. “Footer (all pages)” not “Footer-final-v2-USE-THIS”.
Do the same for media: descriptive filenames and real alt text, written for a reader rather than for a keyword. Both help the client find things and help the site’s accessibility and search visibility at the same time.
Leave the SEO basics working, not blank
Before handing over, confirm:
- Every page has a title tag and meta description, and neither is auto-generated placeholder text
- One H1 per page, and it describes the page rather than repeating the brand name
- Images are compressed and serving in WebP
- The XML sitemap is live and submitted in Search Console
- Search Console and analytics are connected to the client’s own accounts, not yours
- Schema is present where it applies — Organisation or Person, and Article on posts
A site handed over with no analytics access is a site the client cannot prove anything about.
Write the guide — one page, five tasks
Not a manual. One page covering only what they will genuinely do:
- How to edit text on an existing page
- How to replace an image, including the size to upload
- How to add a new blog post or case study
- How to change the phone number, email or address everywhere at once
- Who to contact, and what to do if something looks broken
A short screen recording of each beats a paragraph of each. Fifteen minutes of video removes most of the support requests that would otherwise arrive in month two.
The pre-handoff checklist
- Global colours and fonts set, and used everywhere
- No fixed heights on text containers; no negative margins
- Header and footer are templates, not per-page copies
- Client has an Editor account with a narrowed panel; admin credentials transferred and your own access agreed in writing
- Every page, template and image renamed in plain language
- Titles, descriptions, alt text, sitemap and schema all present
- Backups running, and the client knows where they are
- Plugin and theme licences registered to the client, not to you
- One-page guide plus short recordings delivered
- Tested at 360px, 768px, 1024px and 1440px after all content was in