Category: SEO

  • Relevance or authority: which actually wins

    Relevance or authority: which actually wins

    TL;DR

    A link from a large publication with nothing to do with your industry, or a link from a small site precisely about what you do. The tools say the first. My experience says the second, more often than the metrics suggest, and the question keeps coming up because authority is easy to measure and relevance is not.

    Given the choice between a link from a large publication with nothing to do with your industry, and a link from a small site that is precisely about what you do, which is worth more?

    The tools will tell you the first. My experience says the second, more often than the metrics suggest, and the reason the question keeps coming up is that authority is easy to measure and relevance is not.

    Why the metrics favour authority

    Because it is the measurable half.

    Domain authority scores are calculable from a link graph. Relevance requires understanding what a page is about and whether that has anything to do with you. So every tool leads with a number for the first and offers nothing for the second, and the thing that gets measured becomes the thing that gets pursued.

    That is a reporting artefact, not a finding about how search works.

    What the published work suggests

    Nobody can isolate this cleanly, and anyone claiming to has overstated it. But there is a data point worth having.

    Ahrefs ran a correlation study across 44,589 non-branded keywords and found the sum of organic traffic to the referring pages correlated with rankings better than the count of referring pages. Their own framing is careful and so is mine. It is a rank correlation on a keyword sample, not proof about your site.

    But note what that measures. Traffic to the referring page is a rough proxy for whether the page is genuinely about something people search for. It is closer to relevance than a domain-level score is, and it outperformed the count.

    The case I keep seeing

    Two sites in the same market, from an audit I ran. The client had 3,575 referring domains. The competitor had 1,853, and roughly twice the traffic and more than twice the top-three rankings.

    I cannot prove the composition from that data and I will not pretend otherwise; I did not do a link-by-link teardown of a competitor’s profile. But when a site with half your referring domains beats you that comprehensively, the count is demonstrably not the variable, and something the count cannot see is doing the work.

    The whole comparison is written up here and it is the clearest example I have.

    How I would actually decide

    The question is usually theoretical, because you rarely get to choose. When you do:

    • Take relevance when the topic is close and the site is real. A trade publication, a supplier, an industry body, a genuine practitioner blog. These links tend to come with context, since the surrounding text is about your subject, and they often bring traffic that converts.
    • Take authority when the relevance is at least plausible. National coverage of your business is worth having even if the publication is general, because it is a real editorial mention and those are rare.
    • Take neither if it is a placement. A high-authority link from a page nobody reads, in a section built for links, is the thing both metrics fail to catch. The sales call test sorts these faster than any score.

    Google’s spam policies put the line in the same place, and it has nothing to do with authority or relevance: link spam is “creating links to or from a site primarily for the purpose of manipulating search rankings.” A placement fails on intent regardless of how either metric scores the host.

    The reframe I would rather leave you with

    This is a false choice in most real situations, because you are not selecting from a menu. You are asking who might plausibly mention your business, and the answer is almost always people in your industry. That means the realistic link is the relevant one whether or not it is the theoretically superior one.

    The businesses that agonise over this are usually the ones buying links, because buying is the only context where you genuinely choose. If you are earning them, relevance is not a preference. It is a description of who was ever going to link to you.

    The short version

    1. Authority is favoured because it is measurable, not because it wins.
    2. Traffic to the referring page correlated better than referring page count across 44,589 keywords.
    3. 3,575 referring domains lost to 1,853 in a market I audited. Count was not the variable.
    4. Take relevance when the site is real and the topic is close.
    5. Take authority when relevance is at least plausible.
    6. Take neither if it is a placement, however the metrics score it.
    7. It is a false choice unless you are buying. Earned links are relevant by construction.

    If a site should be ranking and it isn’t, that’s the work I do. Link building covers what is worth pursuing and what is not. If you’re not sure which of several plausible problems is costing you, that’s what an SEO audit is for.

  • What a link you would be embarrassed by looks like

    What a link you would be embarrassed by looks like

    TL;DR

    The most useful test I know for a backlink is not a metric. It is whether you would mention it out loud on a sales call. Nobody says we are in four hundred business directories, and the reason nobody says it is the finding. Paid placement is fine. Undeclared credit is not.

    The most useful test I know for a backlink is not a metric. It is whether you would mention it out loud on a sales call.

    “We were covered by the trade magazine everyone in this industry reads” is a sentence somebody says with pleasure. “We’re in four hundred business directories” is a sentence nobody says at all, and the reason nobody says it is the finding.

    Why the test works

    Because it collapses a technical question into a social one you already know the answer to.

    Tools give you authority scores, spam scores and toxicity ratings: third-party inventions, useful for rough sorting, meaningless as a verdict. Meanwhile you can look at a link and know instantly whether it represents somebody genuinely referencing your business or a slot you occupied.

    That instinct is more accurate than the score, and it is free.

    What Google actually prohibits

    Worth reading the source, because the folklore is broader than the policy.

    Google’s spam policies define link spam as “creating links to or from a site primarily for the purpose of manipulating search rankings.” The named examples include buying or selling links for ranking purposes, explicitly covering “exchanging goods or services for links” and “sending someone a product in exchange for them writing about it and including a link”, plus “excessive link exchanges” and automated link creation.

    Two things follow that people get wrong in both directions.

    Paid placement is not banned. Google says plainly that buying and selling links “is a normal part of the economy of the web for advertising and sponsorship purposes.” What makes it a violation is passing ranking credit, which is what rel="sponsored" exists to prevent. The sin is the undeclared credit, not the transaction.

    The product-for-review case catches people who thought they were fine. Sending a reviewer a free unit and getting a followed link is named in the policy. Most businesses doing this have no idea it is on the list.

    The categories I would actually worry about

    Anything you paid for that passes credit. Not because it will necessarily be caught. Because you are carrying a liability you cannot see the size of, and you will not know until something moves.

    Site-wide footer links. A link on every page of somebody’s site is one link with a very loud voice, and it looks exactly like what it usually is: an arrangement.

    Networks. If the same twelve sites link to each other and to you, that pattern is trivially visible from the outside.

    Anything with your exact commercial phrase as the anchor, repeatedly. Natural links use your brand, your URL, or the words around the sentence. A concentration of “best plumber in Leeds” is a campaign, and it reads as one.

    Scale gives you a sense of how little most of this is worth chasing in the first place. Ahrefs examined 14 billion pages and found 96.55% get zero traffic from Google. A very large share of the pages linking to anybody are pages nobody visits. A link from one of them is not a risk and it is not an asset either. Counting them is the mistake, in both directions.

    What I would not worry about

    • Scraped copies of your content. They happen to everyone and Google handles them.
    • Random low-quality sites you did not ask for. Every profile has them. Google is generally good at ignoring junk it can see you did not build.
    • Old directory listings from 2014. Mostly inert. Not worth a project, and not worth a disavow file built from a score.

    The honest position on cleaning up

    If you bought links and they are still live, the strongest move is usually to have them removed at source rather than disavowed. Disavowal tells Google to ignore them. Removal means they are gone.

    And if the profile is mostly this, if the honest answer to the sales call test is “almost none of them”, then the profile is not the thing to fix first. A site with a weak but harmless link profile and good pages will outperform one with a manufactured profile and nothing worth linking to. That is the more common situation and it is the cheaper problem.

    The short version

    1. Would you name it on a sales call? Better than any toxicity score.
    2. Google’s definition is “primarily for the purpose of manipulating search rankings.”
    3. Paid placement is fine. Undeclared credit is not. That is what rel="sponsored" is for.
    4. Product-for-review with a followed link is named in the policy and catches people out.
    5. Worry about: paid followed links, site-wide footers, networks, repeated exact-match anchors.
    6. Do not worry about: scrapers, random junk, old directories.
    7. Removal beats disavowal where you have the option.

    If a site should be ranking and it isn’t, that’s the work I do. Link building covers what is worth having and what is not. If you’re not sure which of several plausible problems is costing you, that’s what an SEO audit is for.

  • Reading your backlink profile honestly

    Reading your backlink profile honestly

    TL;DR

    Most backlink audits I am shown are a sorted list with a toxicity score and a recommendation to disavow everything above a threshold. That is a tool’s opinion, reformatted. Throw the score away. In one market a site with 3,575 referring domains lost to one with 1,853.

    Most backlink audits I am shown are a sorted list with a toxicity score attached, and the recommendation is to disavow everything above a threshold. That is not an audit. It is a tool’s opinion, reformatted.

    Here is what I actually do with a profile, and it starts by throwing away the score.

    The number at the top means less than you think

    Referring domain count is the metric every tool leads with, and it is the weakest thing in the report.

    I audited a fitness certification provider with 3,575 referring domains being comprehensively beaten by a competitor with 1,853: twice the traffic, more than twice the top-three rankings, off half the profile. Fewer links beat more links, and the count told you nothing about why.

    There is published work pointing the same way. Ahrefs ran a correlation study across 44,589 non-branded keywords and found the sum of organic traffic to referring pages correlated with rankings better than the number of referring pages did. Their caveats apply and so do mine. It is a rank correlation on a keyword sample, not proof about your site. But the shape matches: the number at the top of the report is the least informative thing in it.

    The four questions I ask instead

    • 1. Would you name any of these on a sales call? Go through the top fifty by whatever authority metric you have and ask it honestly. On most profiles the answer thins out fast, and the point at which it thins is your real profile size.
    • 2. Where did they come from? Editorial, directory, scraped, forum, or paid. You usually know. The composition matters far more than the count and no tool can classify it reliably.
    • 3. What is the anchor text distribution? Mostly branded and URL anchors is normal and healthy. A concentration of exact-match commercial anchors is either a campaign someone ran or somebody else pointing them at you.
    • 4. Is anything still live that you would rather was not? Old paid placements, a guest post network, a directory subscription nobody cancelled. These are decisions, not accidents, and they need a decision to undo.

    What the profile is competing against

    Worth establishing before anyone sets a target.

    On a classic car marketplace I audited, the client had 671 referring domains and the category leader had 29,812. That gap is not closed by a link building campaign. It is not closed by three years of link building campaigns. The honest finding was that links were not the constraint worth working on, because the constraint was unbridgeable and something else was fixable.

    It also compounds. Ahrefs studied 200,000 pages across 10,000 keywords and found pages already ranking first gaining new referring domains at 5–14.5% per month, with the pace falling as position drops. The leader is not just ahead. It is accelerating from a position you are trying to reach.

    What I almost never recommend

    Disavowing on a toxicity score. The scores are third-party inventions. Google is generally good at ignoring junk links, and a disavow file built from a tool’s threshold is a way to remove links that were doing something.

    Setting a referring domain target. It produces exactly the profile you do not want, because the cheapest way to hit a number is the worst way to build a profile.

    Auditing links before the site is worth linking to. If the pages are thin and the architecture is broken, the link profile is not the binding constraint and fixing it changes nothing.

    When it is worth doing properly

    Three situations. You have inherited a site with an unknown history. You suspect a previous agency bought links. Or you are genuinely competitive on everything else and want to know whether the gap is real.

    Outside those, a backlink audit is usually a way to look busy on the part of SEO that is hardest to influence.

    The short version

    1. Throw away the toxicity score. It is a tool’s opinion, not a finding.
    2. 3,575 referring domains lost to 1,853. Count is the weakest metric in the report.
    3. Ask: would you name it on a sales call? That is your real profile size.
    4. Composition and anchor distribution beat any aggregate number.
    5. Establish the gap before setting a target. 671 against 29,812 is not a campaign.
    6. Leaders accrue links faster: 5–14.5% a month at position one.
    7. Do not disavow on a score, and do not audit links before the site deserves them.

    If a site should be ranking and it isn’t, that’s the work I do. Link building covers the off-site half. If you’re not sure which of several plausible problems is costing you, that’s what an SEO audit is for.

  • Pricing white label SEO so you keep the margin

    Pricing white label SEO so you keep the margin

    TL;DR

    The common model is to take the specialist’s price, add a percentage and quote it. It is simple, it feels fair, and it caps you at the lowest margin available while carrying all the accountability. Cost-plus prices your input. The client is buying an outcome, so price against their alternative.

    The most common white label pricing model is: take the specialist’s price, add a percentage, quote it. It is simple, it feels fair, and it caps you at the lowest margin available while carrying all the accountability.

    Here is why, and what I would do instead.

    Why cost-plus caps you

    Cost-plus prices your input. Your client is buying an outcome, and the two have almost nothing to do with each other.

    If the specialist charges you £1,200 a month and you quote £1,800, you have earned £600 for owning the relationship, the reporting, the accountability and the risk. Meanwhile the value to the client might be a single additional case worth several times that.

    You have priced the labour instead of the result, which is the same mistake your clients make when they ask what an hour costs.

    What the outcome is actually worth

    The advantage of SEO in commercial verticals is that the comparison is public.

    WordStream’s 2026 benchmarks, from 13,474 US search campaigns, put the median cost per lead in legal at $131.63, with a median CPC of $9.87. In personal injury specifically, First Page Sage tracked 49 firms across 36 states and put the average lead at $442 through Google Ads against $183 through SEO. Their data, their clients, and they sell SEO, so weigh it accordingly.

    Either way, the client has a number for what a lead costs them today. Price against that, not against your input cost. An engagement producing ten leads a month in a vertical where a lead costs $200 is worth a great deal more than the specialist’s invoice.

    Three models, and where each fits

    Cost-plus. Fine for genuine reselling where you are adding little. Not fine if you are accountable for the outcome.

    Fixed retainer, value-anchored. The default. Price it against what the client’s alternative costs: their current agency, their ad spend, their cost per lead. Your specialist cost is a cost line, not the basis of the quote.

    Tiered by scope. Three packages where the difference is real work rather than a bigger number. This works because it moves the conversation from “is this expensive” to “which one”, and it lets the client self-select.

    The costs that eat the margin

    These are what actually determine whether an arrangement is profitable, and none of them appear on the specialist’s invoice.

    Relay time. Every question going through you twice. On a chatty client this is hours a month and it is invisible until you count it, which is why the boundary is a pricing question as much as a working one.

    Reporting. Reformatting somebody else’s output into your template, monthly, forever.

    Scope creep. The commonest killer. “Can you also look at” arrives free and lands on your margin, because the specialist will charge for it and the client will not.

    The client who cannot implement. Recommendations go out, nothing happens, results do not come, and you are managing a dissatisfaction that no amount of good work fixes.

    Price for the first three. Screen for the fourth before you sign.

    What I would tell an agency starting out

    • Do not quote until you can evaluate the work. If you cannot tell a good audit from a bad one you are guessing at what you have bought, and the margin is the least of your problems.
    • Charge a separate onboarding fee. The first month is always the most work, covering access, discovery and the initial audit, and folding it into a monthly retainer means you fund it yourself.
    • Put a scope boundary in writing. Not to be difficult. Because “can you also look at” is how a profitable retainer becomes an unprofitable one over six months.
    • Review pricing annually. Nobody does this and it is the easiest margin available.

    The short version

    1. Cost-plus prices your input. The client is buying an outcome.
    2. Price against their alternative: current agency, ad spend, cost per lead.
    3. Median legal CPL is $131.63; PI runs $183 to $442. Those are the numbers to anchor to.
    4. Value-anchored retainer is the default. Tiers work because they change the question.
    5. Relay time, reporting and scope creep eat the margin, and none appear on the invoice.
    6. Charge separately for onboarding. Month one is always the heaviest.
    7. Screen out clients who cannot implement. No amount of good work fixes that.

    This is the arrangement I offer agencies. invisible, unbranded, and the client never knows. White label SEO covers how it works.

  • Who talks to the client: getting the boundary right

    Who talks to the client: getting the boundary right

    TL;DR

    Every white label arrangement has a line in it, and where exactly it sits is usually never discussed. The default is right: the agency owns the client completely and invisibility is the product. The cost is two hops per question, with detail lost at each. Negotiate three exceptions before starting.

    Every white label arrangement has a line in it. On one side the agency owns the relationship; on the other the specialist does the work. Where exactly that line sits is usually never discussed, and it is the thing that determines whether the arrangement lasts.

    I have worked on both sides of it. Here is what actually goes wrong.

    The default, and why it is right

    The agency owns the client. Completely. All communication, all reporting, all commercial conversations, all bad news.

    That is what the agency is paying for. If the specialist appears, the agency’s value is visibly diminished. The client starts wondering what the middle layer does, and the honest answer becomes harder to give.

    So the default is total invisibility, and I hold to it hard. The client never knowing I exist is the product, not an inconvenience.

    Where the default costs something

    Being honest about the trade, because it is not free.

    Every question takes two hops. Client asks the agency, agency asks me, I answer, agency relays. A question that would take ninety seconds takes two days, and detail is lost at each transfer.

    Technical questions get garbled. Not through incompetence. Through translation. “Why isn’t the page indexed” becomes “the client wants to know why Google hates them”, and the answer comes back through the same filter.

    That particular question is a good example of why the translation matters. “Not indexed” covers several genuinely different states, and Google’s own documentation distinguishes them: discovered but not crawled is a queue problem; crawled and not indexed is a quality judgement. Those have different answers and different timelines, and the distinction does not survive being relayed by somebody who does not know it exists.

    Speed suffers, and speed matters. MIT’s study of 15,000 leads and 100,000 call attempts found the odds of qualifying a prospect dropping twenty-one-fold between a five and a thirty minute response. That is about sales rather than support, and the principle transfers: a relay adds delay, and delay costs something real when the question is urgent.

    The exceptions worth negotiating up front

    Three, and agreeing them at the start prevents the awkward version later.

    Talking to the developer. Not the client, but the client’s developer. This is the one I ask for most and it is the one that saves the most time. A technical instruction relayed twice arrives wrong, gets implemented wrong, and then somebody has to work out why the fix did not work.

    The compromise that usually works: I join a call as a member of the agency’s team, or I write the ticket and the agency sends it. Both keep the boundary and remove the translation layer.

    Access. Search Console, analytics, the CMS. This should not be negotiated per request. Agree at the start that the specialist has read access, or accept that everything takes an extra day.

    The awkward finding. Occasionally the honest diagnosis is that the previous work, sometimes the agency’s own work, caused the problem. Agree in advance how that gets handled, because discovering it mid-engagement with no protocol is where relationships break.

    What I will not do

    • Pretend to be an employee to the client’s face. Invisible is fine. Actively claiming to be staff is a lie I would have to maintain, and I will not.
    • Undercut the agency. If a client works out I exist and approaches me directly, the answer is no, and I tell the agency it happened.
    • Present work I disagree with. If the agency has promised something I do not think is achievable, I say so before it goes to the client, not after.

    The failure I see most

    Not a breach of the boundary. It is the agency using the boundary to avoid learning anything.

    An agency that relays questions without understanding them cannot evaluate the work, cannot defend the recommendations, and eventually cannot justify its margin. The boundary is supposed to protect the relationship, not replace the agency’s judgement with a forwarding address.

    The arrangements that last are the ones where the agency gets better at SEO over time. The ones that end are the ones where the agency stays a relay and gradually notices it is paying for something it could buy direct.

    The short version

    1. Default: the agency owns the client completely. Invisibility is the product.
    2. The cost is two hops per question, and detail is lost at each.
    3. Negotiate three exceptions up front: the developer, access, and the awkward finding.
    4. Joining a call as the agency’s team keeps the boundary and removes the translation.
    5. Never claim to be staff. Invisible is not the same as lying.
    6. Never undercut, and say so if approached.
    7. The boundary must not replace the agency’s judgement. That is how these arrangements die.

    This is how I work with agencies. White label SEO covers the arrangement, the boundary and what each side owns.

  • What a good unbranded audit deliverable looks like

    What a good unbranded audit deliverable looks like

    TL;DR

    If you are putting your name on somebody else’s audit, you need to know whether it is any good before the client reads it, not after. The first test is whether it names a cause the author could be wrong about. Volume is a tell: tools produce fifty-six errors per page, and a good audit reduces that.

    If you are putting your name on somebody else’s audit, you need to be able to tell whether it is any good, and before the client reads it, not after.

    Here is what I would check, written from the position of somebody who produces these rather than somebody selling you a checklist.

    The first test: does it name a cause?

    A crawl report lists everything that is true about a site. An audit says which of those true things is the reason the site is not ranking.

    That second sentence can be wrong, which is exactly why most deliverables avoid writing it. A list of four hundred issues cannot be wrong. It also cannot be acted on, and your client will not implement it.

    So: does the document commit to a cause the author could be embarrassed about in six weeks? If nobody took that risk, nobody did the diagnosis. That distinction is the whole difference between a document worth your name and a tool export with a cover page.

    The volume tell

    Length is inversely correlated with usefulness here, and there is a reason.

    Automated tooling produces enormous volume. WebAIM’s crawl of the top million home pages found an average of 56.1 detected errors per page. On a two-hundred-page site a tool can hand you eleven thousand findings without anybody thinking about any of them.

    A deliverable that reflects that volume back at the client is unprocessed. What you want is evidence somebody reduced it: four hundred rows grouped into eight causes, with the reasoning shown.

    What it should contain that no tool produces

    • Evidence somebody opened the site. On a phone. A crawler does not notice that the home page describes a mood rather than a business.
    • Search Console read, not exported. Which queries have impressions and no clicks, and what the position column actually says.
    • A competitor comparison. Sometimes the honest finding is that the site is fine and simply outgunned, and that is worth more than forty fixes.
    • Three prioritised actions, named, with who does each. Not sixty. Your client can argue with three; nobody argues with sixty, they just do nothing, which looks like agreement and is not.
    • What not to bother with. The most valuable page in any audit I write. An audit that recommends everything has made no decisions.

    The things that get missed and matter

    Two I would specifically look for, because their absence tells you the author was working from a template.

    Anything about rendering. Does the audit distinguish what the server sent from what the browser assembled? The 2025 Web Almanac found an invalid element inside the <head> on 10.3% of mobile pages, one in ten, and everything after that break is ignored. A tool reports the canonical as present. It is present; it is just no longer in the head.

    Whether pages should exist at all. A thin page can be improved or deleted and both are correct depending on a judgement no tool makes. An audit that only ever says “improve” has not made the judgement.

    Practical things, since it carries your branding

    No provider fingerprints. Tool watermarks, template headers, the specialist’s phrasing in the executive summary. Check the document properties and the PDF metadata. That is where these survive.

    Written for your client’s technical level. A deliverable pitched at a developer landing on a small business owner is unusable, and vice versa. If the specialist has not asked who is reading it, that is a warning about the rest.

    You can defend every recommendation. The real test. If you cannot explain why item three is item three, you cannot present it, and you will find that out in the meeting rather than before it.

    The short version

    1. Does it name a cause the author could be wrong about? If not, it is a crawl report.
    2. Volume is a tell. Tools produce 56 errors per page; a good audit reduces, not reflects.
    3. Somebody opened the site, on a phone.
    4. Three prioritised actions with owners. Not sixty.
    5. A section on what not to do. Usually the most valuable page.
    6. Check for rendering and for whether pages should exist. Template audits skip both.
    7. Check the PDF metadata before it goes out with your logo on it.

    This is the deliverable I produce for agencies. unbranded, and the client never knows I exist. White label SEO covers how that works in practice.

  • White label or reseller: what it does to your margin

    White label or reseller: what it does to your margin

    TL;DR

    The two words get used interchangeably and they describe different businesses. Reselling is arbitrage: you pass the work through and take a commission. White label is capability: you own the relationship and the accountability. The common trap is reseller pricing with white label accountability.

    The two words get used interchangeably and they describe different businesses with different economics. Which one you are running decides your margin, your risk and how much of your week disappears.

    The distinction that matters

    Reselling is passing the work through. The client buys a package, you take a commission, the provider does everything including most of the thinking. Your involvement is the introduction and the invoice.

    White label is buying capability and putting your name on it. You own the strategy and the client relationship. The specialist executes, invisibly, and you are accountable for the outcome.

    The first is arbitrage. The second is capability. They price differently because they are worth different amounts.

    What each does to margin

    Reselling typically returns a commission on a package price you did not set. It is easy to start, requires almost nothing of you, and the margin is thin because you are adding almost nothing. Worse, it is fragile: the client can eventually find the provider, and the value you added was not visible enough to defend.

    White label costs more per hour and returns more, because you are selling a service rather than a referral. You set the price. The margin is the gap between what the capability costs you and what your relationship with that client is worth, and that gap is yours to widen by being good at the relationship.

    The trap: agencies price white label as though it were reselling. They add a percentage to the specialist’s rate and stop, which caps them at reseller margin while carrying white label accountability. Worst of both.

    What you are actually buying

    Worth being concrete, because “SEO” is not a purchase.

    Most of your clients are on a CMS you did not build. HTTP Archive’s 2025 Web Almanac puts 54% of the web on a CMS, WordPress at 64.3% of those, with roughly 60% of WordPress sites running a page builder. So you are buying somebody who knows what those platforms do wrong by default, which is a specific and learnable body of knowledge, not a mystery.

    And the problems repeat. WebAIM’s crawl of the top million home pages found an average of 56.1 detected errors per page. The web is not full of unique problems. It is full of the same dozen, which is precisely why buying the capability works.

    When reselling is the right answer

    Not never, and I would rather say so than pretend otherwise.

    If SEO is genuinely peripheral to your business, if you have one client asking and no intention of building a practice, if you do not want to be accountable for a discipline you cannot evaluate, resell. Take the commission, be honest with yourself that it is a referral fee, and do not build a service page around it.

    The failure is claiming to offer SEO while operating as a reseller. The client buys accountability they are not getting, and the first time something goes wrong everyone discovers who actually owns the problem.

    The thing that decides which you can do

    Not budget. Whether you can evaluate the work.

    If you cannot tell a good audit from a bad one, you cannot white label. You are reselling with extra steps and more liability. The minimum viable capability is being able to read a deliverable and know whether it names a cause or just lists symptoms. That is a learnable skill and it is the real entry requirement.

    An agency that can do that gets to keep the margin. One that cannot is passing invoices around.

    The short version

    1. Reselling is arbitrage. White label is capability.
    2. Reseller margin is thin and fragile, because the value you added was not visible enough to defend.
    3. White label margin is the gap you widen by owning the relationship.
    4. The common trap: reseller pricing with white label accountability.
    5. You are buying platform-specific knowledge, and the problems repeat far more than agencies expect.
    6. Resell honestly if SEO is peripheral. Do not claim a service you are passing through.
    7. The entry requirement is being able to evaluate the work, not budget.

    This is how I work with agencies. the client never knows I exist, and that is the point. White label SEO covers the arrangement in detail.

  • Variant URLs: when they deserve to be indexed

    Variant URLs: when they deserve to be indexed

    TL;DR

    A shirt in six colours and five sizes is thirty combinations. Whether each gets a URL is a decision most stores never make, so the platform makes it and everybody finds out during a crawl. One indexable product page is right for most catalogues, and I would need a specific reason to depart from it.

    A shirt in six colours and five sizes is thirty combinations. Whether each of those gets a URL, and whether those URLs get indexed, is a decision most stores never make. The platform makes it and everyone finds out during a crawl.

    The default answer

    One indexable product page, variants selected on it. That is right for most catalogues and I would need a specific reason to depart from it.

    The reasoning is simple: thirty near-identical pages compete with each other, split whatever links the product earns, and none of them is stronger than the single page would have been. You have divided one asset into thirty fractions.

    Most platforms handle this correctly by default, with variant URLs carrying a canonical to the parent product. HTTP Archive’s 2025 Web Almanac found a canonical tag on only 67% of mobile pages, meaning a third of the web has none, so a platform that ships one on a duplication pattern it created is doing better than most. Check yours survived the theme and move on.

    When a variant genuinely deserves its own page

    Three tests. It needs all three, not one.

    People search for the variant specifically. Not the product. The variant. “Black leather office chair” is a search. “Office chair, colour black” is a filter. The difference is whether the attribute is how people name the thing they want.

    The variant has meaningfully different content. Different images, different specification, different price, different use case. If the only difference is one word in a dropdown, it is not a page.

    You would back it with internal links. The usual test. If you would not link to it from the category, you do not believe it can rank, and it should not be indexable.

    In practice this passes for one attribute at most, usually colour on fashion or capacity on electronics, and never for size, quantity or packaging.

    Scale makes the arithmetic unforgiving. The 2025 Web Almanac found ecommerce on 19.2% of mobile sites, and on a catalogue of any size a permissive variant setting is the fastest URL multiplier available: six colours by five sizes on a thousand products is thirty thousand pages that nobody wrote and nobody will read.

    The case people get wrong in the other direction

    Worth flagging because over-consolidating is also a mistake.

    Some catalogues sell things where the variant is the product. Car parts by vehicle fitment. Printer cartridges by model. Filters by dimension. Here the variant is exactly what the customer searches, the compatibility is the whole purchase decision, and collapsing them into one page with a dropdown makes the site invisible for the only queries that matter.

    The test still holds. People search the variant specifically, the content genuinely differs, you would link to it. It just passes for every variant rather than none. Recognising which kind of catalogue you have is the actual judgement, and it is not a rule you can apply from outside the business.

    What to check

    • Do variant URLs exist at all? Some platforms use parameters, some use paths, some render entirely client-side with no URL. All three are fine and they need different handling.
    • Is the canonical intact? Raw source, not the inspector. A canonical injected after JavaScript runs is conditional.
    • Which URL do your internal links point at? If the category grid links to a variant URL rather than the parent, every internal link on the site is voting for a page you have declared non-canonical.
    • Are variants in the sitemap? If they are canonicalised away, they should not be, because you are submitting pages you have told Google to ignore.

    Why this belongs in the thin content conversation

    Thirty variant pages with one word different is the purest example of thin at scale, and it is not a writing problem. Nobody wrote them. The fix is a decision, not four hundred descriptions, which is the same answer as almost everything else in a large catalogue.

    The short version

    1. Default: one indexable product page. Thirty fractions beat nothing.
    2. Most platforms canonicalise variants correctly. Check yours survived the theme.
    3. Three tests to index one: searched specifically, genuinely different, worth linking to.
    4. Usually passes for one attribute at most, and never for size or quantity.
    5. Fitment catalogues are the exception, because there the variant is the product.
    6. Check what your internal links point at. Often the non-canonical version.
    7. Canonicalised variants do not belong in the sitemap.

    If a site should be ranking and it isn’t, that’s the work I do. Ecommerce SEO covers variants, facets and the URLs a catalogue makes for you. If you’re not sure which of several plausible problems is costing you, that’s what an SEO audit is for.

  • The content pruning that made things worse

    The content pruning that made things worse

    TL;DR

    Pruning works and I recommend it. The failures I have seen all have the same shape: a lot of old posts, a report showing most get no traffic, bulk removal, and a worse position three months later. Earning nothing and doing nothing are different claims. Check referring domains before anything goes.

    Pruning works. I recommend it. And the failures I have seen have all had the same shape, which is worth describing before anybody deletes four hundred pages on a Friday.

    The pattern: a site with a lot of old posts, a report showing most of them get no traffic, a decision to remove them in bulk, and a worse position three months later than before anybody touched anything.

    Why the reasoning looks sound

    Because the underlying observation is correct. Ahrefs examined 14 billion pages and found 96.55% get zero traffic from Google. On any established site, most pages earn nothing. That is not a defect, it is the normal condition of the web.

    So “most of these pages do nothing, remove them” follows naturally, and it is where the trouble starts, because earning no traffic and doing nothing are different claims.

    The four ways it goes wrong

    Deleting pages that had links. A post from 2019 with no traffic may still be carrying the only editorial links the domain ever earned. Delete it and you delete those. This is the single most common cause of a pruning going backwards, and it is entirely avoidable. Check backlinks per URL before, not after.

    Deleting pages that were doing internal work. An old post can be the only thing linking to a service page. Removing it quietly orphans something that mattered, and the damage appears somewhere else entirely, which makes it hard to attribute.

    404ing instead of redirecting. The default should be redirect, not delete. A 410 is correct only when there is no link, no impression and no topical successor.

    Cutting too deep, too fast. Four hundred pages in a week gives you no way to tell which removals helped. Google takes weeks to reflect it, everything moves at once, and you cannot separate the good decisions from the bad ones.

    The check I would run first

    Three columns per candidate URL, and it takes an afternoon.

    Any referring domains? If yes, redirect. Never delete.

    Any impressions in the last twelve months? Not clicks. Impressions. A page with impressions and no clicks is ranking for something and may be a title problem rather than a dead page.

    Is there a topical successor? If a newer page covers it, redirect there and you inherit whatever the old one had. If nothing covers it, deleting removes the topic from your site entirely, which is sometimes correct and should be deliberate.

    Anything that fails all three is a genuine candidate. In my experience that is a much smaller pile than the one people start with.

    What pruning is actually for

    Not “improving average quality” as an abstraction. Two concrete things.

    Stopping the dilution of effort. Everything you do afterwards spreads across the pages that exist. That is the real argument and it is about focus rather than punishment.

    Removing pages that actively mislead. Out-of-date advice, discontinued services, prices from four years ago. These are worth removing regardless of traffic, and they are usually not the pages a traffic report surfaces.

    There is a version of pruning that is itself the problem, and Google names it. The spam policies define scaled content abuse as pages “generated for the primary purpose of manipulating search rankings and not helping users”, and a site that mass-deletes and then mass-republishes thinner replacements to hit a publishing target has swapped one fault for a worse one.

    Note what is not on that list: Google penalising you for having low-traffic pages. It does not. Pages that earn nothing mostly just sit there, and Google has already decided how much attention to give them.

    How I would do it

    • In batches, with gaps. Fifty at a time, six weeks apart. Slower, and you can actually see what each batch did.
    • Redirect by default. 410 only for the pile that failed all three checks.
    • Keep a list of what was removed and where it went. You will need it. Something will go wrong and being able to reverse one decision rather than four hundred is the difference between a fix and an incident.
    • Improve before deleting, where the topic still matters. Deletion is a legitimate answer and it should not be the first one for anything you would want to rank for.

    The short version

    1. 96.55% of pages get no traffic. That is normal, not a defect.
    2. Earning nothing and doing nothing are different claims.
    3. Check referring domains, twelve-month impressions and topical successor before anything goes.
    4. Deleting a page with links is the commonest way this backfires.
    5. Redirect by default. 410 only when all three checks fail.
    6. Batches of fifty, six weeks apart. Bulk removal is unmeasurable.
    7. Keep the list. You will need to reverse one of them.

    If a site should be ranking and it isn’t, that’s the work I do. SEO recovery covers pruning that went wrong and what comes back. If you’re not sure which of several plausible problems is costing you, that’s what an SEO audit is for.

  • Out of stock: keep, redirect or delete

    Out of stock: keep, redirect or delete

    TL;DR

    Three options, and the right one turns on a single question almost nobody asks first: is this coming back? Temporary means keep the page and keep the content, because stripping it creates a soft 404. Permanent depends on whether anything points at it. Seasonal breaks the rule and should never be redirected.

    Three options, and the right one depends on a single question that almost nobody asks first: is this coming back?

    Everything else follows from that, and most of the bad outcomes I see come from treating a temporary gap and a permanent discontinuation as the same event.

    Temporarily out of stock: keep the page

    Keep the URL, keep it indexable, keep the content. The page has earned whatever it has earned and removing it throws that away for a situation that resolves in a fortnight.

    What matters is what the page says while the product is away. The failure mode is a theme that strips the buy area and leaves a title, a breadcrumb and a notice, which is a page with nothing on it, wearing a 200 status.

    Google describes that mismatch directly in its documentation on soft 404s: a URL returning a success code while the content signals the page does not exist. Your out-of-stock template can manufacture those at the rate stock moves.

    So keep the description, the specification, the images and the reviews. Add the availability date if you have one, and a link to the nearest alternative. The page stays a page.

    Permanently discontinued: it depends on whether anything points at it

    Now the judgement, and there are three sub-cases.

    It has links or traffic. Redirect to the nearest genuine equivalent: the successor model, or the category. Not the home page. A redirect to a destination that does not answer the original request produces the same soft 404 mismatch, and you will see it reappear in the indexing report a month later looking like a new problem.

    It has neither. Let it 404, or 410 if you want to be explicit. This is the correct outcome for the large majority of discontinued products and treating it as a loss is why catalogues grow to several times the number of pages anybody decided to publish.

    It is genuinely still searched for. Rare, and worth catching. A discontinued item people still look up by name is a page worth keeping as a page: what it was, why it was replaced, and what to buy instead. That is a useful document and it captures a query your competitors have deleted.

    The seasonal case, which breaks the rule

    Christmas stock, summer lines, anything that returns annually.

    Do not redirect these and do not delete them. A page that 301s every February and comes back every October is confusing to Google and loses whatever it built each cycle. Keep the URL live year-round with the seasonal availability stated, and let it accumulate authority across years instead of restarting.

    What I would fix at the template level

    Because this is a template decision, not a per-product one.

    • Keep the content when the buy button goes. The single highest-value change here and it is one file.
    • Remove out-of-stock items from the sitemap only when they are gone for good, not when they go out of stock.
    • Update the structured data to reflect availability rather than leaving it claiming InStock. That produces a mismatch between your markup and your page.
    • Link to alternatives automatically. Same category, in stock. This is the difference between a dead end and a page that still earns.

    The pattern underneath

    A catalogue that has never made this decision accumulates thousands of URLs in an ambiguous state: not sellable, not removed, not saying anything. That is what thin at scale usually is: not badly written pages, but pages nobody decided about.

    It is also a very large number of stores facing the same decision. The 2025 Web Almanac found ecommerce software on 19.2% of mobile sites, with WooCommerce at 44.4% of those and Shopify at 25.3%, all shipping an out-of-stock template that somebody configured once, or did not.

    The short version

    1. Ask first: is it coming back? Everything follows from that.
    2. Temporary: keep the page and keep the content. Stripping it creates a soft 404.
    3. Permanent with links or traffic: redirect to the real equivalent, never the home page.
    4. Permanent with neither: let it 404 or 410. That is the correct outcome.
    5. Still searched for by name: keep it as a document explaining the replacement.
    6. Seasonal: never redirect. Keep the URL live all year.
    7. Fix it in the template. Keep content when the buy button goes.

    If a site should be ranking and it isn’t, that’s the work I do. Ecommerce SEO covers catalogue lifecycle and the URLs it leaves behind. If you’re not sure which of several plausible problems is costing you, that’s what an SEO audit is for.