{"id":95,"date":"2026-09-29T08:00:00","date_gmt":"2026-09-29T13:00:00","guid":{"rendered":"https:\/\/codyware.com\/?p=95"},"modified":"2026-09-29T08:00:00","modified_gmt":"2026-09-29T13:00:00","slug":"agency-without-a-website-in-one-week","status":"publish","type":"post","link":"https:\/\/codyware.com\/en\/agency-without-a-website-in-one-week\/","title":{"rendered":"Your agency has no website (and your clients do): how we solved it in a week"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">You sell campaigns, content and strategy to large companies. Every one of your clients has a website. You don&#8217;t. In meetings, the portfolio PDF does the job, and does it well. The problem comes later, when someone writes &#8220;can you send me a link?&#8221; and there&#8217;s nothing to send.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That&#8217;s how a creative agency with corporate clients came to us. It had looked at a few domains and none of them existed yet. No hosting, no CMS, not a single line written for the web. What it did have was its credentials PDF and a folder of campaign photos and videos. That was enough.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The PDF was all there was<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The first decision wasn&#8217;t about design or technology. It was about content. Everything on the site would come from the portfolio PDF: the copy, the figures, the client logos, the project photos. Nothing invented. If the PDF didn&#8217;t say it, the site didn&#8217;t either.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It sounds like a straitjacket. Far from it. Think of a design agency&#8217;s natural objection when it hands a site to another team: &#8220;we can do the design ourselves&#8221;. Of course they can. That&#8217;s why the copy, the brand and the choice of projects stayed in the client&#8217;s hands. What was left to sell was structure, motion and engineering, and nobody argued about that.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Three directions in a week<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Within a week, the client had three navigable versions of the same site:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>A single, restrained page, with the PDF&#8217;s sections in the same order: who we are, method, services, work, results, clients, contact.<\/li><li>An experimental version that took the idea behind the brand&#8217;s name and turned it into the way you move through the page.<\/li><li>A high-impact version, with smooth scrolling, a pinned project carousel that changes color with each project and a manifesto that appears line by line.<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The client discarded the first intro as too basic, which was a good sign: they cared about craft. The third version was the one that got published.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">How do three directions come out of seven days? Through a technical decision that sounds boring: static pages, no framework and no build process. Every motion tweak was done by hand and showed up instantly in the browser.<\/p>\n\n\n\n<p class=\"is-style-callout wp-block-paragraph\">On the visual reference: the client admired the site of a European agency. We took its scrolling mechanics and never its palette. A color count of the original site corrected one of our versions, which had pushed a secondary tone onto whole surfaces.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Every effect shipped with a fallback. On touch screens, the pinned carousel becomes normal scrolling with arrows. If the visitor has &#8220;reduce motion&#8221; turned on in their system, the animations switch off and the text reads the same. And without JavaScript, the content is still there.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Why we didn&#8217;t start with a CMS<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The question came with the proposal and came back later: what about WordPress? The answer was &#8220;not yet&#8221;. With the design still moving, a CMS would have made every change slower. There was also a simpler reason: we didn&#8217;t know what the client would want to edit. Any panel built at that point would have been a guess.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Instead, the static site was published on the client&#8217;s domain and left to live for a while.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Months later, the editor arrived with the changes<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The first maintenance requests arrived the way they always do: four WhatsApp messages of one line each. We turned them into four tasks, each with its cause and its evidence. One example: the menu didn&#8217;t navigate to the sections because the menu layer stopped the smooth scrolling and, when it closed, canceled the jump. It was fixed by closing the menu before scrolling, and tested on a phone and on a computer.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">With those requests, and the ones that followed, it became clear what really changed: copy, photos, projects, contact details. That was the moment to move to a CMS.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We set a strict condition for the move: the new site had to look identical to the static one. The WordPress theme wraps the original markup as is, without reinterpreting it, and a custom plugin handles the logic. The acceptance test was a pixel comparison between the two sites, on desktop and on mobile. It had to come out with no differences, and it did.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What about the block editor? Or a page builder? We looked at both and ruled them out: either one would have fought the scrolling choreography that had been tuned by hand.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Moment<\/th><th>What there was<\/th><th>Why<\/th><\/tr><\/thead><tbody><tr><td>Week 1<\/td><td>Three static directions<\/td><td>Iterating on design and motion without friction<\/td><\/tr><tr><td>Launch<\/td><td>Static site on the client&#8217;s domain<\/td><td>The PDF content wasn&#8217;t changing yet<\/td><\/tr><tr><td>Months later<\/td><td>CMS with its own panel<\/td><td>Real editing requests justified the panel<\/td><\/tr><tr><td>After that<\/td><td>Second language and blog<\/td><td>The client asked for it after spotting untranslated labels<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">The client edits content, never structure<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The panel has two screens. One is a long list of texts, in the same order they appear on the site. The other is a project grid that can be reordered by dragging. There&#8217;s no page builder. Nothing the client can touch breaks the markup.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Every editable text starts with the content that was already published. An automated check confirms those defaults match the site letter for letter, so the site is correct even if nobody ever opens the panel.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When the second language was added, the client spotted within hours six section labels still in Spanish inside the English version. Good eye. An audit found more than fifty hardcoded texts in the code. The decision was that the panel wouldn&#8217;t limit what can be edited: it was redesigned with collapsible sections and a field search, and today it exposes more than a hundred fields in two languages, including document titles, accessibility labels and image alt text.<\/p>\n\n\n\n<figure class=\"wp-block-pullquote\"><blockquote><p>The editing panel was designed around the changes the client had already asked for.<\/p><\/blockquote><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Where it ended up<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>A site on the agency&#8217;s domain, in Spanish and English, with the high-impact design approved in the first week.<\/li><li>A move from static pages to a CMS with no visual differences, measured with a pixel comparison.<\/li><li>A panel where the agency&#8217;s team edits all the content without being able to change the structure.<\/li><li>A blog, whose first articles were written by the agency itself.<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">If your agency is in the same situation, the guide on <a href=\"\/en\/working-with-a-development-partner-as-an-agency\/\">how to work with a development partner<\/a> explains how to split the work, and <a href=\"\/en\/#proyectos\">our projects<\/a> show more of what we&#8217;ve built with agencies.<\/p>\n\n","protected":false},"excerpt":{"rendered":"<p>You sell campaigns, content and strategy to large companies. Every one of your clients has a website. You don&#8217;t. In meetings, the portfolio PDF does the job, and does it well. The problem comes later, when someone writes &#8220;can you send me a link?&#8221; and there&#8217;s nothing to send. That&#8217;s how a creative agency with [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":96,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_locale":"en_US","_original_post":"80","footnotes":""},"categories":[4],"tags":[],"codyware_content_type":[6],"class_list":["post-95","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-agencias","en-US"],"_links":{"self":[{"href":"https:\/\/codyware.com\/wp-json\/wp\/v2\/posts\/95","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/codyware.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/codyware.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/codyware.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/codyware.com\/wp-json\/wp\/v2\/comments?post=95"}],"version-history":[{"count":1,"href":"https:\/\/codyware.com\/wp-json\/wp\/v2\/posts\/95\/revisions"}],"predecessor-version":[{"id":98,"href":"https:\/\/codyware.com\/wp-json\/wp\/v2\/posts\/95\/revisions\/98"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/codyware.com\/wp-json\/wp\/v2\/media\/96"}],"wp:attachment":[{"href":"https:\/\/codyware.com\/wp-json\/wp\/v2\/media?parent=95"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/codyware.com\/wp-json\/wp\/v2\/categories?post=95"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/codyware.com\/wp-json\/wp\/v2\/tags?post=95"},{"taxonomy":"codyware_content_type","embeddable":true,"href":"https:\/\/codyware.com\/wp-json\/wp\/v2\/codyware_content_type?post=95"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}