The moment a second colleague starts looking at the same domains, search optimisation stops being a craft and becomes a logistics problem. This piece is about the set-up that keeps it bearable: revocable permissions, tags that work as filters, a timeline per engagement, an assistant that consults your own figures, and reports nobody assembles by hand.
Search optimisation software tends to be discussed as though one person sat behind it: somebody opens a chart, draws a conclusion, makes a change. Working alone, that picture holds up.
Life in an Amsterdam agency differs: colleagues covering each other's clients, clients who log in themselves, freelancers riding along for three months. So what the Semalt panel gathers in one place is less a set of charts than a shared shop floor, with campaigns, Google data, market research and indexing side by side.
It is not the tenth website that breaks the system, it is the second colleague
A stubborn belief holds that portfolio trouble comes from the number of domains. Only half true: twenty sites stay in decent shape single-handed, provided your memory is good and nobody has to ask you anything. The strain starts when a second person joins.
From then on, every decision you do not write down is lost. Why a keyword was dropped in February, what was agreed with the client about the English copy — it sat in one head and stayed there.
Nine storage places is no exaggeration: the mailbox, the shared drive, the spreadsheet of links, the task board, the chat group, the meeting notes, the downloads folder, a second spreadsheet holding passwords, the folder of screenshots. None is wrong in itself; they simply cannot be questioned in one movement — exactly what collaboration demands.
| Event | Where it usually ends up | Where it ought to end up | Retrievable by |
|---|---|---|---|
| A new backlink goes live | One colleague's spreadsheet | The engagement timeline | Anyone with access |
| An answer to a client question | The account lead's mailbox | The engagement timeline | Anyone with access |
| A decision not to act | Nowhere at all | A task marked declined | Anyone with access |
| A notice from the automation | An unread email | The engagement timeline | Anyone with access |
The right-hand column is dull, deliberately so: one destination, one searchable whole.
Why you start with access rights rather than with the charts
Most teams build their workspace in the wrong order. The sites go in first, weeks of enthusiastic measuring follow, and only when a client asks to look in does the puzzling over credentials start. One step too late.
Three controls that cover the whole permissions question
For agencies working on other people's domains who want them kept separate.
- Group the Google accounts. Separate accounts come together in one group, so verifications stay with the client while you can still reach the data.
- Share at site level. One domain at a time to one registered address; your other engagements never come into view.
- Withdraw a share again. Without it you will have built a shadow list of onlookers inside two years.
That third item is the dullest and the most important. Every workspace older than a year collects spectators: last season's intern, the content marketer who left, the interim manager who stayed three months. Give it a fixed calendar slot — quarterly invoicing is as good a peg as any.
Linking runs through one Google consent screen; Gmail, Search Console and Analytics all come along in that step. That suits clients whose IT department wants to point at every authorisation: rights are granted at a single, documentable moment.
Tags are not folders, they are a switch laid across everything
The word tag suggests a sticker on a file. It behaves differently here: a site tag acts on every view at once, so picking one narrows the whole panel to that selection.
That drives the design. Folders make you think in ownership: which site belongs where. Switches make you think in questions: which cross-section do I want. Four independent axes usually suffice.
| Axis | Example values | The question it answers | Where it goes wrong |
|---|---|---|---|
| Client | cl-noordwal, cl-grachtgroep | Everything for this relationship at once | Creating one for a client with a single site |
| Language and market | lang-nl, lang-en, market-be | Is the second language version pulling its weight | Conflating language with country |
| Attention rhythm | rhythm-week, rhythm-month | What do I pick up today | Never revisiting it after it is set |
| Stage of the engagement | stage-trial, stage-retainer, stage-paused | How much time may go where | Mixing it up with the billing records |
The second row is the interesting one in Amsterdam. A consultancy on the Zuidas, a software house in Amsterdam-Noord or a hotel group inside the ring road is searched for in Dutch by local customers and in English by international ones, often on one domain. A single average position then hides that one language version moves while the other stands still. And since Dutch-language results play out differently in Flanders, country must be switchable on its own too.
The temptation of the tree
Almost everyone tries it once: tags that nest inside one another — first the relationship, then the site, then the language version. What you build is a folder structure in a different coat, and it collapses as the portfolio grows.
Tags that select one thing
If a value returns precisely one domain, that is no filter but a name plate.
- Recognisable by their length
- Usually three hyphens or more
Nobody dares tidy up
In a tree, no one knows which branch is still in service, so everything stays.
- The list only ever grows
- New colleagues are left guessing
Axes that cut across
Independent axes stack: flick two switches and you have your cross-section.
- One value per axis per site
- Combine instead of expanding
A ceiling and an owner
Past twenty values, tidy first. Everyone filters, one person creates.
- A prefix for each axis
- A clear-out twice a year
Do the arithmetic for seventeen domains: four cross-cutting axes come to some fifteen values, a tree to thirty or forty — and the tree still cannot call up every English version on a weekly rhythm at once.
What the team delivers: exports, reports and visuals
Reporting comes before the daily tooling on purpose: it determines how you arrange the rest. Deliver the same document each month and your method shapes itself around it; invent something new each month and you stay in manual labour.
A dump to CSV or JSON runs to ten thousand rows and exists to be calculated with. A PDF is composed server-side and stops at two hundred and fifty rows, because that document exists to be read. The limit irritates at first and is really a favour: it forces you to choose which rows carry this month's story — and that choosing is what a client pays for.
The client's board
Wants to know whether the line is rising and the budget doing anything.
- PDF in their own logo and colours
- Fixed layout, identical each month
The client's marketer
Wants to see which pages and terms are moving and where to steer.
- PDF with a CSV attached
- Split by language
Your own team
Wants raw figures to test assumptions against, with no report in the way.
- JSON straight out of the panel
- Table view with sorting
You, a year from now
Wants to check what was decided and why it seemed sensible then.
- Report kept in the timeline
- Searchable alongside the discussion
Four shapes are available for the visuals, all deliberately ordinary — a client should not have to decode a chart.
- Movement over time. Answers the question raised at every review meeting.
- Cards with headline figures. One line per quantity, which makes detail screens unnecessary.
- Miniature charts inside the table. A few millimetres of curve behind each row, enough to show movement.
- Heat maps for country and device. They show what an average conceals, such as weak mobile traffic in one country.
Pour the export options built into the workspace into a fixed layout per type of client and only the accompanying text remains. Because background processes keep pulling data in, the figures wait ready when you sit down.
The timeline per engagement: a logbook that keeps itself
My SEO Stream is where all of this converges: one continuous stream per engagement. What is unusual is not its shape but where the entries come from — they are not all written by people.
Five kinds of entry in a single stream
For teams that want to retell how an engagement unfolded.
- What the assistant replied. Along with the data it leaned on, as it stood that day.
- What the automation reported. Every change of campaign status slots in at its own moment.
- Which references were added. Per backlink the referring domain, its Domain Rating and its traffic.
- Which files came into being. Generated reports stay with the engagement, not in an inbox.
- What still needs doing. Tasks grow out of the conversation and stay beside their prompt.
Such a stream gets long by itself; three provisions handle that. Four buttons sit above the timeline — All, Links, Files, Tasks — narrowing it to one kind of content. Links gives every reference gained this quarter with its values; Files lays out the reports.
Second, every task has exactly three states: active, deferred or declined — an austerity that is deliberate.
Third comes search across the full content of every entry. That sounds obvious and is not: a half-forgotten discussion comes back from one word, with the surrounding messages attached.
The assistant picks its sources before it starts writing
An assistant sits inside the channel, and it differs fundamentally from the language model in your next tab: that model knows the discipline but not your engagement, so its answers are true everywhere and applicable nowhere.
Here something precedes the answer. A separate routing model reads the question and decides which data gets pulled in. Four kinds exist — Search Console figures, standings from the SERP module, the course of the campaign, and blocks you added yourself. Never more than three travel at once, and sometimes the count is zero.
That zero is not a fault. Ask how impressions relate to clicks and your dataset adds nothing. Ask which terms slipped out of the top ten these four weeks and the relevant blocks are consulted. Stacks of keywords or addresses can be handed over in bulk.
The answer appears token by token as it is produced, so you can step in before the model heads somewhere you did not intend. Twenty messages travel with the conversation, so following up needs no re-explaining.
What this looks like in an ordinary working week
By way of illustration, an invented but realistic agency: five people in Amsterdam-West, seventeen domains. Two fintech firms with a Dutch and an English site, a canal-cruise booking platform, three hospitality groups, a design studio, a publisher, two interior webshops, a b2b software company and five smaller service providers.
Wednesday, the half hour everyone joins
The portfolio round sits not on Monday but on Wednesday morning, once the first rush is over. The weekly-rhythm tag brings six domains into view; for those the team checks the headline cards and movement over four weeks. Anything notable enters the relevant timeline as a task with a name on it. The half hour is hard: whatever does not fit is not weekly work.
The other eleven get a monthly pass; in between, the notices appearing in the timelines by themselves are enough.
The hours in between
The real work happens outside that round. A fintech firm reports that its English sign-up form is getting less traffic. The question goes straight into the timeline; the routing pulls in the sources that matter, and two follow-ups produce a usable picture. The first answer, which pointed the wrong way, stays too — in four months somebody will want to see which leads were chased.
At the publisher a proposal goes to deferred, since that section is being rebuilt in the autumn anyway. At one webshop another goes to declined: the platform vendor is already fixing it. Both cost one click and save a recurring argument.
- Someone outside needs to look in. Share that one domain and schedule the withdrawal in the same breath.
- A question that feels familiar. Search the full text first; the answer is usually there already, with its reasoning.
- Something stands out, but there is no time. Record it as a deferred task, not in a chat message that sinks.
- A colleague takes over an engagement. Let them read the timeline back; a handover document goes stale anyway.
The first Friday of the month
Reporting day falls not on the last working day but on the first Friday after it, so the previous month's figures are in; the two-day lag in Search Console data then makes no difference. The layout per client type is fixed, so assembly takes minutes. The bilingual fintech firms each get two documents, one per language version — the language tag does that work.
What does take time is the five sentences atop each report: what these figures represent, and what is about to happen. The one section certain to be read — and human work again, every month.
What a panel never takes off your hands
All of the above concerns the environment the work happens in: where something lands, how it is found again, who may see it. That layer you set up once. The layer above it, never.
That is less exciting than a system promising to take over the thinking, but it is checkable. The gain is a shift of attention: the less time leaks into looking things up and handing things over, the more is left for those four points. Which further parts the environment holds is set out in the full overview of modules; how we use them day to day is described under our services.
Questions teams ask about this
There are two of us and we have six sites. Isn't this wildly over-engineered?
Then take one part: start with the timelines and a single tag axis, and leave the rest. The set-up is meant to grow with you. What you lay down early you will not have to roll out retroactively across thirty domains later.
Can a client see which other clients we work for?
No. Sharing happens per domain, to one registered address. Whoever accepts lands on that single site and sees neither your client list nor your tag structure. What has been shared stays visible in your own overview, which is what makes it withdrawable.
Why do I sometimes get an answer that clearly never looked at my figures?
Because the routing model judged that the question needed no source. For conceptual questions that is intended, and it saves waiting time. To be sure your own data is consulted, name the domain, the period and the quantity.
We work for Dutch and Flemish clients. Is one language tag enough?
No — keep language and country apart. The same Dutch-language page produces different results in the two countries, with different competitors alongside. Two values on the language axis plus a separate market value stop you averaging a Belgian shortfall away against a Dutch lead.
To set this up, work in this order: add the domains and make the Google connection, introduce one tag axis, run one engagement through the timeline for a month, fix one report layout, handle the shares last. Reverse it and you build for a way of working that does not exist yet. More about how we work is on the page about our agency.
Two or three domains are enough to tell whether this suits your team. You can set up a workspace in the Semalt panel and add the rest of your portfolio later.
One final test, and it is not about rankings. Ask a colleague what happened at a randomly chosen client last quarter. If they can show it inside two minutes rather than recount it from memory, your workspace is sound. If not, you need no new measuring instrument but a better place to keep things.
Hulp Nodig met Uw SEO?
Onze Amsterdam SEO-experts kunnen u helpen deze strategieën te implementeren en uw rankings te verbeteren.
Gratis Consult Aanvragen