Bilingual work is almost never split down the middle. One person writes the French, someone else writes the English, and a third — usually the founder — decides what gets published at all. What goes missing is not a page. It is a decision taken in one language that never reached the person working in the other.
Nobody forgets on purpose. A phrasing is agreed on Tuesday, in French, standing up, and it is settled. Three weeks later the English page ships with the old wording, because its writer was not in that conversation.
Multiply that across a main site, a product site, a careers section and a client's second brand, and the problem stops being linguistic: it becomes a question of whether the team keeps a record. A panel built to hold several sites and several people settles nothing itself, but it moves the argument into a dated entry.
One writes French, one writes English, one decides
Said out loud the arrangement sounds unremarkable, but three properties of it break ordinary workflows. The two writers rarely produce the same volume. They work to different briefs, their audiences wanting different things. And whoever approves both reads one language faster, which decides what gets scrutinised.
Search work sits badly on that. A term choice, a decision to leave a page alone, a redirect added after a complaint — each binds both sides of the site, and none gets recorded.
English ships first
Announcements go out in English for publishers and press; the French version appears when somebody has an afternoon.
A boundary nobody wrote down
Documentation stays English because that is what users read, while everything customer-facing is expected in French.
The founder is the bottleneck
Capability pages need approval from the one person who understands the work and cannot read twice.
Whoever is free that week
A Villeray shop with two locations has no writer; posts get drafted by staff in whichever language they think in.
My SEO Stream, and what lands in it
Stream sits in the My SEO area and resembles a chat panel. It works as something more useful: a dated project timeline that gathers material otherwise scattered across four tools.
One project, one running feed
For portfolios where several hands touch the site and no one writes minutes.
- Nothing evaporates. A question and the reply to it survive as dated entries once the session ends.
- Reports land in place. A generated report enters the timeline where it was produced, next to whatever prompted it.
- Every link names its source. New placements show the donor domain's rating and its traffic; the placement network runs past 230,000 sites.
- Tasks keep their context. To-do items and campaign notices run in the same timeline as the figures behind them.
For a team split across languages, the Stream feed does something a dashboard never will. A dashboard states where you stand; the timeline states how you got there. If the English writer asks in October why a page chases one phrase and not the obvious alternative, the answer is a June entry or it is nobody's to give.
It only works if people type into it on purpose: the entries worth an afternoon later are deliberate ones.
None, one, two or three blocks of the project's data
The assistant is tied to the project rather than the open web, and the mechanism explains the shape of what comes back. Every question passes a router model that weighs which data blocks bear on it — search analytics, rank data, campaign state, material you supplied — then pulls anywhere from none of them to three.
None is the case worth dwelling on. Where a question needs no project figures, none are fetched, so the reply is an explanation rather than something wearing statistics nobody opened. Three at the upper end keeps any answer traceable to inputs you could list.
| Asked in the feed | Blocks likely pulled | How far the reply can go |
|---|---|---|
| What does domain rating measure | None | Definition only, no borrowed precision |
| Which tree received last month's links | Campaign | The placements logged here, with donors |
| Are English pages taking French queries | Search Console, rank tracking | What each URL was shown for, and where |
| Should the founder approve French first | Search Console, custom | Demand evidence; the arrangement is yours |
Replies build token by token in front of you, which is not decoration: one heading somewhere familiar can be stopped after two lines. A thread holds its last twenty messages, so each follow-up narrows the question without repeating the setup.
- One subject per thread. A thread wandering across three topics drags earlier noise into every later answer, and twenty messages arrive fast.
- Inventories go in by the batch. Keyword and URL lists are accepted in bulk, which is how anyone holding a spreadsheet should start.
- Send the two term sets separately. A single merged upload conceals which of your two languages is the thin one.
All, Links, Files, To-do — and the state a task is in
A feed gets hard to use at the point it becomes valuable: when it is long enough to hold the answer. Four filters cut it down, each helping whoever was absent most.
The whole timeline
Everything in date order, for rebuilding a month rather than locating one item.
Placements only
Every placement logged against this project, donor rating and traffic included, each one attached to a language tree.
Documents and exports
Exports and uploads lifted out of the conversation, so nobody scrolls hunting for a document.
Outstanding work
The work queue, and what a newcomer should open before suggesting anything.
Tasks carry three states — active, deferred, dismissed — and the last two earn their separation. Deferred means the work is real and the timing is not. Dismissed means considered and refused. Collapsed into one backlog, every item reads as guilt.
- Active. Agreed, outstanding, and the only list worth opening on Monday.
- Deferred. Waiting on a translation, a review, a season, a launch. It comes back, as it should.
- Dismissed. Refused on purpose. Recording that stops the newest person proposing it again next quarter.
Search covers the full text of every message, which is what makes a record retrievable rather than merely present. In a team working across two languages it raises a question no tool decides for you: which language the record itself is written in.
Two options are honest. Pick one language for internal entries and hold to it, or accept mixed entries and write both forms of any term that matters, so either search finds it. Drifting with neither convention leaves a record searchable only by its author.
Linked accounts, per-site sharing, and taking it back
Multi-tenancy is the dullest part of holding a portfolio and carries most of the risk. Accounts link into groups here, so sites verified under separate Google logins surface together rather than one password circulating.
Granting a site, and withdrawing it
For the ordinary case: a freelancer on one language, an agency on one client, neither on anything else.
- Logins join into groups. Sites verified by different Google accounts appear in a single view — what you inherit after a rebrand.
- One property at a time. A grant goes to an address you name, for one site, never for what surrounds it.
- Authorising happens once. A single OAuth2 consent takes in Gmail, Search Console and Analytics together.
- Taking it back is ordinary. Revoking leaves the project standing, which is why a grant need not be a gamble.
Granularity carries weight because a Montreal agency's client list is rarely uniform. A studio may hold a Rosemont manufacturer selling into Ontario and the United States alongside a retailer whose customers are local and francophone. Neither should see the other's query data, and the freelancer writing French for the second has no reason to hold the first.
The same applies inside one client when the French work serves two markets. A Quebec audience and a French audience want different things from the same pages — different vocabulary, different competitors, different results — and whoever was hired for one should not inherit the other by default. The per-site sharing model keeps that boundary explicit.
Billing is by domain, which settles the budget before anything else. AutoSEO runs 149 USD monthly and FullSEO 500 USD — near 205 and 685 in Canadian dollars, a loose conversion rather than a quote. Two languages under a single domain make one campaign. An English site given its own domain years back, for reasons unconnected to search, makes two.
Site tags as a global filter, and why flat beats deep
Site tags filter the entire workspace. That matters more than it first reads: with a tag on, every view you open afterwards is already narrowed, so labelling settles the subject of a report before a single figure in it is read.
Label language first, and label the audience rather than the file. Label the market second: French for Quebec and French for France are separate jobs, and a portfolio that blends the two produces averages nobody can act on.
| Tagging scheme | Example labels | Where it stands a year later |
|---|---|---|
| Flat, by audience language | fr, en | Still correct, understood without explanation |
| Flat, by market | qc, ca-en, us, eu | Stable; markets change more slowly than teams |
| Flat, by role | main, product, careers | Survives a reorganisation; roles belong to the site |
| Deep, by ownership | studio / web / fr / client-a | Wrong the day a client leaves, and wrong silently |
| Deep, by period | 2026 / q2 / relaunch | Accurate one quarter, misleading the next four |
Flatness wins for reasons unrelated to software. Depth bakes in an arrangement — reporting lines, who holds which account — and arrangements shift far more often than the sites themselves. When they shift, nothing breaks. The label simply stops being true and carries on filtering.
A flat label states something about the site: whether it faces French readers, whether it is still current. Facts of that kind outlive a reorganisation, and stacking two or three at reading time covers what a tree would have, minus the upkeep.
- Tag the audience, not the folder. A French page for buyers in France takes a different label from one for customers in Verdun.
- Keep the vocabulary short. Six or seven labels. Longer, and the third person to join applies them loosely.
- Put the legend in the timeline. Two minutes spent recording what each label means, and a new freelancer starts there.
Exports, limits and what the charts are for
Reports get read by people who were not in the analysis: a founder between meetings, a client, whoever decides whether the retainer continues. Their first question is which part of the business the number covers — in a bilingual portfolio, not rhetorical.
Treat the caps as guidance about purpose. Ten thousand rows of CSV or JSON hold a complete query dump, which belongs in whatever tool you analyse with. The PDF stops at two hundred and fifty rows and is drawn on the server — not meanness, but a statement that this file is read end to end by a person. Branding, logo and colours matter the moment it leaves your office.
Charts split along the same line. Series over time carry movement; metric cards hold the two or three numbers that belong up front; sortable, filterable tables run at fifty to two hundred rows a page; sparklines give a lone figure its trend; heatmaps break the picture down by country and device. On a French-language property that heatmap governs how everything above it reads, since it exposes how much visibility belongs to a market you cannot sell into.
Workers in the background keep everything synchronised, so what you open is current without a refresh — which kills one wearying failure mode, where two colleagues read the same screen a day apart and end up defending incompatible figures. The report builder draws on the same analytics sections.
Frequently asked questions
Can a freelancer working on our French pages see the English site's data?
Not unless you hand them that site. A grant covers one property and goes to an address you name, so somebody hired for the French pages holds the French pages. Widen it later if the work demands; narrowing afterwards is the harder direction.
Which language should we keep the feed in?
Whichever your whole team reads comfortably, used consistently. Choosing badly is not the failure; alternating is, because search then only works for whoever typed the entry.
Does the assistant look things up on the web?
No. It reads what belongs to the project. A router weighs each question and pulls anywhere from none to three blocks: search analytics, rank data, campaign state, material you supplied. Nothing bearing on the question means nothing fetched.
We serve clients in Quebec and clients in France. Can one report cover both?
Technically yes; sensibly no. Those audiences face different rivals and partly different vocabulary, so one average fits neither of them. Label by market, filter, issue two documents. Both come out shorter and both hold up when questioned.
What happens to the history when someone's access ends?
The timeline is the project's, not the person's. Whatever was written while they had access — replies, reports, placements, task states — stays where it was. That is the argument for putting decisions there instead of in a mailbox.
A week in practice, and the part it cannot do
None of this asks for much time. It asks for the same modest amount in the same places, so the record piles up alongside the work instead of competing with it.
| When | What happens | Where |
|---|---|---|
| Monday, 15 min | Promote whatever was parked and is now due; kill the dead items | To-do filter |
| Monday, 10 min | Check the week's new placements and which tree they fed | Links filter |
| Wednesday, 20 min | Run one view under each language label; write down the divergence | Site tags |
| Thursday, 10 min | Put one narrow question to the assistant; log your conclusion | Stream |
| Friday, 15 min | Send a report whose scope is stated; note the decision it caused | Report builder |
| Month end, 45 min | Query every service name in both languages; find the thin side | Search box |
Call it seventy minutes. It keeps a portfolio in two languages coherent in a way a monthly review does not, because the writing happens while the work happens. Our service pages describe the same rhythm when an outside team owns one of the languages.
Name the human part plainly. Ranking candidate terms by opportunity is something software does well; knowing the studio's announcement lands in October and recruitment can wait until April is not. Diagnosis works the same way. The timeline shows English clicks dropping in week nine. Whether the redesign did it, a rival's new page did it, or a partner quietly pulled a link, you learn by talking to people.
The disputes a shared workspace ends were never strategic ones: who edited what, which version a figure belongs to, whether an item was parked or killed, whether the founder's decision ever reached the person writing in the other language. Across a year those eat more attention than any ranking factor.
To measure the drift between your two sides, load both properties into one workspace and label them by audience. Connect a Google account and open your dashboard — Search Console and Analytics arrive through a single authorisation, the two trees line up next to each other, and an hour is generally enough to see the gap. More of this series sits on our blog.