A client book of twenty domains is a memory problem long before it is a ranking problem. This piece walks through what a shared workspace needs to hold — a project timeline, an assistant wired to live figures, access boundaries, tags and exports — and ends with the four decisions no tool will make on your behalf.

Ask a small agency in Vancouver where its week goes and the honest answer is rarely "analysis". It goes on reconstruction: opening a client's property, recalling what was odd last month, finding the note somebody wrote, checking whether the fix shipped. Five minutes a time, twenty domains, several visits each, and the arithmetic swallows a day.

The standard remedy is another container: a spreadsheet of domains and logins, a channel per client, a drive of exports named by whoever produced them. None is a bad idea alone, and together they guarantee no single place answers "what has happened here". The Semalt workspace is built on the opposite premise: the figures, the discussion about them and the resulting tasks live in one stream, per project.

The absence test. Somebody takes ten days off in the shoulder season. On their return, can they establish what happened on a client site without interrupting a colleague? If not, the tooling is multi-user, not shared.
The problem · Where a small team's week goes

Twenty clients, twenty calendars, one team

A Lower Mainland client roster does not behave like a corporate portfolio. The sites were never designed as a set — they arrived one signature at a time, built by different developers in different years, verified by whoever was free. One client owns their Search Console property; another had it set up by a web shop since closed; a third assumes you have access and has never checked.

On top of that sits the local complication: the calendars are out of phase. A whale-watching operator and a ski-rental shop peak in opposite months; a Gastown restaurant group moves with cruise arrivals; a Squamish outdoor retailer has two seasons. One monthly template across twenty domains flattens that into an average describing none of them.

35+
pages in the interface
11
connected outside services
0–3
blocks the router may load
20
message conversation window

What a shared environment has to solve, then, is not charting but continuity: what was noticed, decided and built, and by whom — held somewhere that outlasts holidays and staff changes.

The record · A timeline per project

My SEO Stream: a timeline that remembers

Attached to every project is a chronological feed, and what makes it useful is that unlike things share a sequence. The project Stream carries assistant replies, generated reports, newly placed backlinks carrying the donor's rating and its traffic, task items and campaign news, in the order they occurred rather than filed into separate archives.

My SEO · Stream

One sequence, everything in it

The running account of a project, legible to anybody who has been granted the site.

Part of both tiers
  • Placements arrive with their credentials. Every new backlink appears with the rating and traffic of the site it came from, so the entry records how good the placement was, not merely that one happened.
  • Generated reports stay near their trigger. The document sits beside the exchange that produced it, not in a folder nobody opens.
  • Tasks keep their evidence. An item created from an observation stays next to it, which lets a decision be re-examined a season later.
  • Bulk input is accepted. Keyword and URL lists go in a batch at a time instead of line by line, which matters when a client forwards 400 product pages at once.

Chronology looks like a minor interface preference until you notice the shape of the questions a team asks. Nobody wants only the current state of a site; they want to know how it got there. A dashboard is a snapshot; a feed is a history, and history is what makes handovers work.

The assistant · What it reads before answering

An assistant that consults your own figures

The chat inside My SEO is no ordinary model wearing an SEO hat. It is wired into the project's own figures, and the shape of that wiring decides which questions it can take.

Every question passes first through a router model whose only task is to decide what the answer requires. Four block types exist — Search Console, SERP, campaign and custom — and the router draws between none and three of them, judged on relevance. Ask about last quarter's impressions and Search Console loads. Ask who outranks you on a booking query and SERP loads. Ask how a canonical tag behaves and nothing loads, because none of your data is needed.

No blocks

Method questions

Definitions and mechanics need no project context, so none is fetched. The reply is quick and cannot misquote a figure it never opened.

One or two blocks

The everyday case

Performance questions draw Search Console; competitive ones draw SERP. Accuracy comes from fetching the right slice, not the whole account.

  • Name the site and the window
  • One question per message
Three blocks

The ceiling

Questions crossing performance, rivals and campaign activity at once reach the maximum. Nothing pulls more than three.

Twenty messages

How far back it remembers

History is retained to twenty messages — enough for a working thread, short enough that switching client mid-thread is a bad habit.

  • New topic, new thread
  • Restate the domain when you pivot

Replies arrive token by token rather than all at once. That sounds cosmetic and is not: within a sentence you can tell whether the question landed and abandon a wrong answer instead of sitting through it. With the retained history, it fits how people genuinely interrogate data — ask broad, then narrow twice.

Grounded is not identical to right. Since the assistant is reading figures that already exist, it will not invent a number. It can still answer a question you did not mean to ask. Confirm anything bound for a client report in the matching view first. The chat is a fast way to find where to look, not the source of record.
Working it · Cutting the stream down

Four filters, three task states, and search over everything

A single timeline becomes unreadable once a project has run six months, so the Stream slices four ways. All is the complete sequence. Links narrows to backlink placements. Files isolates the documents and exports that were produced. To-do reduces everything to items somebody is meant to act on.

A task sits in one of three states, and the middle one is why the system survives real client work. The three are active, deferred and dismissed. Deferring is no polite refusal — it is where a task belongs when the idea is sound but nothing can move, the usual fate of a good suggestion queued behind somebody else's developer.

FilterWhat it isolatesWho reaches for itWhen
AllThe whole project sequenceAnyone picking an account back upAfter leave or a handover
LinksPlacements with donor rating and trafficWhoever signs off link qualityMonthly review
FilesDocuments the panel generatedAccount manager before a client callReport day
To-doItems in any of the three statesEveryoneEnd of the week

One level up sits full-text search over every message the feed holds, and that is what turns a timeline into an archive. Nobody ever needs "the second week of March". They need "whatever we said about the Tofino lodge and its duplicate room pages", and only text search reaches that.

Worth the extra seconds. Title a task for whoever comes looking later, because somebody will — most likely you, in February, trying to recall whether a redirect was agreed or only mentioned. Keep the client name and the page type in the title, not buried below.
Boundaries · Accounts, sharing, withdrawal

Multi-tenancy: who is allowed to see which site

Agency work is never done from one login, and client data is not yours to pool together. The panel answers the first by letting Google accounts be linked into a group behind one workspace, matching how verification ends up scattered — one property verified by the client's developer, another by a former contractor, three by whoever set up Analytics years ago.

The second is handled by sharing individual sites with named email addresses, and by withdrawing that access again. Both halves earn their place. Sharing at site level means a freelance writer on a hotel group's blog sees that property and nothing else. Revocation makes the end of a retainer administrative rather than an awkward exchange about passwords.

Governance · Access

Sharing a client will agree to

What has to be true before a client hands over their Search Console to an agency tool.

Included
  • Google accounts in a group. One workspace can sit behind several of them, so verifications scattered over people and years stop fracturing the view.
  • Access granted per site. Permission attaches to one property and one email address, not to the whole roster.
  • Withdrawal as routine. Removing access is a normal administrative action, which is what makes bringing in a seasonal freelancer low-risk.
  • A single Google consent screen. Analytics, Search Console and the mail scope are authorised together in one OAuth flow, not three separate approvals.
Say it in the contract. Clients increasingly ask where their search data goes and who reads it. Naming the tool, the access model and the revocation step in the engagement letter turns an awkward question into a signed paragraph.
Organising · Labels, not folders

Site tags as a workspace-wide filter

Sites can be tagged, and a tag acts as a filter across the whole workspace rather than decoration on a list. Select one and the dashboards, ranking views and reporting all contract to that subset — on twenty domains, the difference between a navigable account and a long alphabetical list.

The instinct is to build a tree — sector inside region inside client — and it is worth resisting. Deep structures fail twice. They demand that every site occupy one slot, wrong for a hotel group that is both hospitality and seasonal. And they freeze an arrangement of the business that will differ within a year, after which the structure misleads everyone who trusts it.

Do

Tag by season shape

Summer-peaking, winter-peaking, event-driven, steady. This split decides which comparison window is honest for a client.

  • Several tags per site is normal
  • Short names, no abbreviations
Avoid

Tag by account manager

Ownership tags decay at the first staffing change, leaving a filter set that nobody trusts and nobody dares remove.

Do

Tag by language

French and English properties have to be read apart. Quebec French results are not France's, and one blended figure conceals whichever language is struggling.

  • Separate before comparing
  • Never report the average of the two
Avoid

Building a hierarchy

Nesting forces one position per site and breaks on anything serving two purposes. Combined flat tags recreate every view a tree offered.

Output · Two kinds of document

Exports for analysis, PDFs for people

Reporting comes in two registers and mixing them up wastes a morning. CSV and JSON run to 10,000 rows and exist to be processed — the file lands in a spreadsheet or a warehouse table, joined against booking or till figures. PDF is rendered server-side to at most 250 rows, for a reader who will not sort anything.

The two ceilings do useful work. Nobody reads ten thousand rows, and 250 is where a document stops arguing and becomes a data dump with a cover page. The builder is configurable and reports can carry your own logo and colours, which for an agency is not vanity: a document in your own livery is part of what the retainer buys.

10,000
maximum export rows
250
row ceiling in a PDF
50–200
rows shown per table page

The chart set in the reporting and export builder is intentionally ordinary, and on a roster each element earns its keep for a specific reason.

  • Time series and metric cards. Curves establish direction; the headline card supplies the one number a client remembers on the drive home.
  • Sortable, filterable tables. Paged at anything from 50 to 200 rows, the band in which a long table stays usable.
  • Sparklines. The one element that truly earns its place on a roster: twenty client domains, each with a miniature trend beside its name, is a review in a single screen.
  • Heatmaps by country and device. The country view earns attention on this coast, where American demand on the same queries vanishes inside a national total and Seattle rivals never announce themselves.
Branding is not evidence. A well-designed PDF makes a weak quarter look considered, not good. Clients notice the gap eventually, and the credibility is expensive to rebuild. Put the disappointing chart on page two, not in an appendix.
Practice · Five days, twenty domains

A week at a Lower Mainland agency

Take a four-person agency in Vancouver with twenty client domains: seven tourism and activity operators, six hospitality sites including two hotel groups with room-listing pages, five outdoor retailers, and the agency's own two. A contract writer covers two accounts and has access to exactly those. Most clients have one person who approves changes, and in season that person is busy.

20
domains on the roster
4
people plus one contractor
2
accounts open to the contractor
1
person-day of weekly upkeep
DayWhat happensWhere
MondaySweep by tag; mark the accounts that movedDashboard, tag filter
TuesdayKeyword approval pass on the campaigns runningCampaign keyword pool
WednesdayCheck the month's placements and their donorsStream, Links filter
ThursdaySend reports: branded PDF to clients, raw export to the analystReport builder
FridayTask sweep; every item resolved into one of the three statesStream, To-do filter

Monday runs to twenty-five minutes, because tagging cuts twenty domains down to the two or three groups actually in season. Tuesday's pass is where candidate keywords are accepted, rejected or set aside; the pool draws on Search Console, live results pages and your own seed terms, and each candidate is judged one at a time.

Wednesday is the first casualty of a busy week, and it should not be. Ten minutes on the month's placements, each source site's rating and traffic in view, is the only routine check that link quality has held. Thursday splits by audience — a short branded document for the client, the raw export for the analyst. Friday is quick in a good week and diagnostic in a bad one, since a mostly deferred list says the bottleneck is approval, not search.

Across those five days, roughly one person-day covers hygiene for twenty accounts. That is the honest claim: the workspace does not generate rankings; it removes enough overhead that four people carry a roster which used to occupy five. Reviewing how a roster is put together, before anyone tools up, is part of our services.

Limits · What stays human

Common questions

Can the assistant compare several client sites at once?

Each conversation is tied to one project's figures, so ask about a single account at a time. Comparing the whole roster is what the tag filter and the portfolio dashboards exist for. A message demanding twenty domains in one go returns something thin.

What happens once the twenty-message window fills up?

The oldest turns drop out of context, so a long thread slowly forgets how it began. Take that as a cue to start a separate thread per topic, naming the site and the period again after any change of subject. Nothing is lost from the feed itself — only the chat's working memory is bounded.

Our seasons are extreme. Which comparison should reports use?

Year on year, on matching months, for anything tourism, hospitality or outdoor-related. A month-on-month reading on a swinging curve mostly measures the calendar. Keep the 28-day window as an early warning; let the annual comparison carry the conclusion.

A client wants their data removed when we part ways. Is that manageable?

Permission is issued site by site to named email addresses and can be taken back, so ending an engagement is an administrative step rather than a scramble. Check the details against your own agreement before you onboard anybody external.

Why is the PDF capped at 250 rows when an export allows 10,000?

They answer different needs. A PDF is rendered for somebody to read; the machine-readable formats are for work continuing in another tool. Once an argument needs more than 250 rows, what you have is a dataset and it should travel as one. More on reporting practice sits on our blog.

Where the automation stops. Four things stay entirely human. Prioritisation: the panel surfaces fifteen opportunities and cannot know four of them clash with a client's peak season. Cause-finding: a chart tells you traffic dropped and never why, and the reason is as often a rebuild, a redirect or a decision taken elsewhere in the client's business. Goal-setting: no system can say whether this quarter belongs to bookings or to retail. And client conversation: explaining a poor month to an owner watching their own bank balance rests on judgement and on the relationship, and no generated document stands in for it.

None of that is a disclaimer bolted on for balance. It describes where the profession now lives. Collection, aggregation, monitoring and much of the routine placement work have been automated, and none of it is coming back. What has not moved is everything depending on knowledge of the business in front of you: which battle to pick, why the line bent, what a good quarter looks like, and how to explain it to somebody disappointed.

Measured against that split, a shared workspace earns its setup for one reason: it shrinks the mechanical portion enough that four people keep hours free for the part that matters, and leaves a trail so decisions of judgement can be reopened rather than re-argued from memory. Expect four to eight weeks before a first campaign shows measurable movement, and longer on seasonal accounts.

To try the arrangement on a real roster, open a Semalt account and connect the Google accounts holding your verifications, then tag the sites before anything else. Tagging costs a quarter of an hour and settles whether any of what follows will be legible later.