The challenge
GSynq sells SEO, social media, performance marketing, websites and branding, and wanted its own site to prove it: fast, ranked and memorable. It had no existing website. Its SEO team would run the site after launch and needed to change pages, copy and SEO fields themselves, in the editor they already knew.
What we built
We built a custom WordPress theme on Hello Elementor with over 40 of our own Elementor widgets, so the SEO team edits real page sections instead of raw layouts. Thirteen service pages share one 15-section layout, with 16 industry pages, a case-study library with filters, a blog, careers with CV upload and the legal pages. Motion is part of the brand idea, "sync": scattered marketing channels pulled into one rhythm. In the editor every animation switches off, so editors see and select everything.
How we approached a marketing agency website
We started from the studio’s sitemap and a motion brief, then reconciled the two. The brief suggested Next.js; the studio chose WordPress, so its team could keep using the tools they knew. The brief listed six services; the content team’s sitemap listed thirteen, and that list won.
We then set one rule for every page: whoever edits it gets a section with the studio’s look built in, not a blank canvas. Each section became a widget with its own controls. Layouts for the 13 service pages and 16 industry pages were seeded from one template each, so every page starts complete and stays consistent.
Architecture
- Theme: a child theme of Hello Elementor (pinned versions), with all markup, styles and motion in our code and nothing edited in third-party plugins.
- Editing: Elementor (free) with our widgets for pages, services, industries and case studies; structured data in custom fields.
- Motion: GSAP and Lenis, loaded in modules only where a page needs them; reduced-motion and no-JavaScript visitors get the full content without animation.
- SEO: Yoast SEO with Service and FAQPage structured data, Indian English, and filtered case-study links that work without JavaScript.
- Hosting: Hostinger WordPress, with a database backup before each release.
Our web development and UI/UX design services cover this kind of build.
The hard part: motion that survives an editor
Scroll-driven animation and a visual editor usually fight. The editor re-renders sections as people type, which breaks animations that were set up once on page load, and Elementor’s own entrance effects would animate the same elements twice.
We split the two worlds. Inside the editor preview, a class switches all motion off and shows every element in its final state, so editors can click anything. On the live site, motion modules attach by data attributes, so a widget re-rendered by the editor never needs re-mounting. Elementor’s built-in motion effects are not used at all; a motion control on each widget offers the studio’s own presets instead.
Evaluation and guardrails
- Changes were checked at desktop, tablet and phone widths (down to 360 pixels) before deploying, and with JavaScript off and reduced motion, where content must stay visible.
- Each deploy to the demo server was preceded by a database backup.
- Filter links on the case-study library were tested with JavaScript off. That test caught a filter named like a WordPress post type, which would have opened the wrong page on a reload, before it shipped.
What changed
The site is live at gsynqdigital.com, from a first brief in late September 2026 to launch in October 2026.
- GSynq went from no website to a full site: home, 13 service pages, 16 industry pages, case studies, blog, careers and legal pages.
- The SEO team changes pages, copy and SEO fields in Elementor and Yoast, the tools it already knew, without a developer for everyday edits.
- Every service page follows the same layout, so new pages start complete and on brand.
The same approach suits other marketing and advertising businesses whose website is part of their pitch.
We wanted our own website to show what we do for clients. KaliIO built it from the first brief to launch, and our SEO team now updates pages ourselves in Elementor.

