AI search is reshaping how public agencies, nonprofits, and emerging technology companies shortlist a brand and communications agency — the firms that become machine-readable now lock in a structural advantage before the category catches up. Before we run the audit, we need to make sure we're asking the right questions about the right competitors to the right buyers. This document presents what we've learned about Polytechnic Marketing's market — your job is to tell us what we got right, what we got wrong, and what we missed.
Before we measure how often Polytechnic gets cited when someone asks an assistant for a Bay Area brand strategy and campaign agency, these three signals tell us whether AI crawlers can reach the site, read it, and trust that it's current. They describe the baseline the audit will measure against — nothing here is a recommendation.
Buyers looking for an independent brand strategy, creative, and marketing communications agency increasingly begin in an AI assistant rather than a search box or a referral, and the answer they get is assembled from whatever the assistant can read and verify about each firm. That shift rewards early movers disproportionately: citations compound, because platforms that learn to trust and repeatedly cite a domain keep returning to it as the category's default answer. Polytechnic sits in a category where that consolidation has not happened yet — the mission-driven agency space has no entrenched AI-visible incumbent, which is precisely why the timing favors acting now.
This Foundation Review presents three things for you to validate before the audit runs. First, the competitive landscape — the firms we believe you're measured against, and the tiers that determine which head-to-head matchups get tested. Second, the buyer personas and the pain points behind them, which determine what search intent the query set models and what language it uses. Third, the technical baseline from our Layer 1 site analysis, which determines whether AI platforms can access and interpret your content at all. This is what we're validating together, before we spend the audit's query budget.
The validation call is a working session, not a presentation. It produces two kinds of decisions. The first is input validation: are the right buyers, competitors, and capabilities in the right tiers, with the right weighting? Those answers set the shape of the buyer query set that will run across the selected AI platforms — a wrong assumption there costs real query budget, not just accuracy. The second is engineering triage: which technical items your team can start on immediately, without waiting for results to come back. The Pre-Call Checklist near the end of this document collects both into one page.
Three things to know before you start reading and marking it up.
What this is A knowledge graph of Polytechnic Marketing's market — competitors, buyers, capabilities, and buyer frustrations — plus a technical readout of what AI crawlers can actually see on polytechnicmarketing.com. Everything here was built outside-in, from your site, competitor sites, and category listings, without input from you. That's deliberate: it's the same evidence an AI assistant has when a buyer asks it to recommend an independent brand strategy and marketing communications agency for a public agency, a nonprofit, or an emerging technology company.
What we need from you Corrections, not approval. Every purple box in this document is a question where your answer changes what the audit tests. Mark them up as you read — cross out competitors you never see in a deal, correct a persona whose role we misread, and challenge any capability rating that doesn't match how you actually win. The Pre-Call Checklist at the end collects every question in one place, ordered by how much damage a wrong answer does.
Confidence badges Every entity carries a confidence rating. High means it came directly from an observable source — your site, a competitor's own site, or a category listing. Medium means it was inferred from adjacent evidence, most often your client logos, and needs your confirmation. There is an unusual amount of medium in this graph for a specific and important reason: Polytechnic has no G2, Clutch, Capterra, Agency Spotter, or Manifest profile, and no published reviews anywhere. Normally a third of a knowledge graph is sourced from review mining. Here, none of it could be.
This profile sets the entity the audit searches for and the category language it searches in. If the category descriptor is wrong, every query built on top of it is wrong.
A note on segment Third-party sources disagree about you. LinkedIn and Manta read as a 2–10 person shop; Seamless.AI lists 11–50. Founding year is listed as 2019 in the California LLC filing and 2021 in your federal registration. We classified you as a senior-only boutique on the LinkedIn/Manta reading — that judgment is what sets the credibility of the Team Scale & Bench Depth capability rating further down. Headcount is worth confirming for that reason alone.
→ Validate Your site shows public-agency work (FasTrak, Marine Protected Areas, Coastal Quest) and venture-backed technology work (Feedzai, IDverse) side by side with equal weight — which of those two should the audit treat as your primary market? These buyers use almost no shared vocabulary and almost no shared competitive set, so a 50/50 split means half the query budget goes at prospects you may not actively pursue; tell us the real ratio and we weight the query set to it.
6 personas: 4 decision-makers, 2 evaluators. These determine the search intent the buyer query set models — an agency selection query written for a nonprofit executive director reads nothing like one written for a public-agency contracts officer.
Critical review area This is the section where your correction is worth the most. Personas drive query generation directly — each one produces its own cluster of queries at its own buying stage. A persona that doesn't exist in your deals consumes budget; one that's missing produces a blind spot the audit can't recover from later.
How these were built Role, department, seniority, influence level, veto power, and technical level come from the knowledge graph. Role descriptions, buying jobs, and query focus areas are synthesized by us from those fields plus the client evidence on your site. Two personas — Priya Raghavan and Tom Keller — were inferred from client logos (Feedzai and Ventra Health; Singular Builders and Blue and Gold Fleet) rather than from any stated buyer role, and Ray Delgado was inferred entirely from your public-agency client list rather than from an observed buying process. Those three carry medium confidence for that reason.
→ Does Diane sit inside the public agency's own communications shop, or inside a prime contractor running outreach on the agency's behalf? If it's the prime, our queries should target subcontracting and teaming language rather than direct agency search — a completely different query cluster.
→ On your public-sector wins, did a contracts officer genuinely gate the award, or did the communications team select you and procurement process the paperwork afterward? If it's a formality, we move the entire compliance-, registration-, and RFP-framed query cluster over to Diane Okafor.
→ Does the executive director sign alone, or does a board or marketing committee hold the real approval? If a board gates it, the decisive queries shift from "who does good nonprofit branding" to verification queries — reviews, references, how to evaluate an agency — which is exactly the ground where Polytechnic currently has no third-party footprint.
→ Does your technology work come from pre-launch companies where the founder is the buyer, or from scaled ones like Feedzai where a marketing function already exists? Pre-launch buys naming and launch identity; scaled buys repositioning and rebrand — different query sets, different pain points, almost no overlap.
→ Does the VP of Marketing at your technology clients recommend and hand the decision up, or hold the budget outright? If they hold it, we promote Priya to decision-maker and shift the technology query cluster from founder language ("naming agency for our startup") to marketing-operations language ("agency retainer for brand refresh") — a different vocabulary entirely.
→ Is regional owner-operator work a market you deliberately pursue, or inbound work you accept when it arrives? If it's inbound only, we cut this persona's query cluster and reallocate that budget to the public-agency or technology sets, where you're actually competing for the shortlist.
→ Who else shows up in your deals? Three roles sometimes appear in mission-driven agency selections — do they show up in yours? Development / Grants Director (if a rebrand is funded off a grant cycle, the timing, justification, and reporting language are entirely different from a general-operating spend). Capital program or project manager (on agency work like FasTrak, the campaign owner often sits with the program, not with communications — and searches for campaign production, not for branding). Board marketing committee chair (the person who has to be convinced that an unlisted boutique is a defensible choice). If any of these are real in your deals, each earns its own query cluster.
6 primary + 4 secondary competitors identified.
Why tiers matter Primary competitors each get six to eight head-to-head queries — roughly 40 of the audit's total — testing direct differentiation on prompts like "Berkeley brand strategy agency for public agencies," "Bay Area agency that can produce a statewide toll campaign," and "nonprofit rebrand agency in the Bay Area." Secondary competitors are tested only for category awareness. Two of the six primaries carry medium confidence on that assignment: MIG may be too large and too planning-led to be a real head-to-head, and Celery Design Collaborative may be too narrow. If either belongs in secondary, that moves roughly 12–16 queries out of the head-to-head set and into category coverage.
How this set was built Without any observed head-to-head data — no G2, no Clutch, no Agency Spotter profile exists for Polytechnic — this set was constructed from geographic and segment adjacency. One thing is worth flagging directly: a general web search for "Polytechnic Marketing competitors" returns higher-education marketing firms, because search engines are conflating your company name with polytechnic universities' marketing departments (Purdue Polytechnic and similar). We rejected that result set as noise, and we also rejected ZoomInfo's algorithmic "similar companies" (Heart, Carter Strategy, Phinney Bischoff, Mojo Brand & Creative) as broker-generated with no Bay Area or segment overlap. The name collision itself is a finding we're carrying into the audit.
→ Validate Three things. (1) Who's missing? Name the firms you actually lose to — this set was built from adjacency, not from observed deals. (2) Are MIG and Celery Design Collaborative really primaries? If MIG only shows up on programs too large for you to bid, or Celery only on sustainability work you don't chase, they move to secondary and roughly 12–16 head-to-head queries move with them. (3) Do you get shortlisted against Duncan Channon? If large full-service shops are a different weight class rather than a real rival, naming one costs six to eight queries you'd rather spend on the Berkeley/Oakland boutique lane.
12 buyer-level capabilities mapped — 5 strong, 4 moderate, 3 weak. These determine which capability queries the audit tests and in whose language.
Figure out what we actually stand for and give us a positioning platform everything else can be built on
Name our company, product, or program and give us the language and voice to talk about it
Design a logo and brand identity system that still looks right on a truck door, an annual report, and a phone screen
Give us a brand book our staff and other vendors can actually follow so the brand doesn't drift after launch
Produce and run a real campaign — radio spots, television, out-of-home — not just a social post calendar
Design and build us a site we can update ourselves without going back to the agency for every text change
Design our conference booth, signage, and event materials so they match everything else we put out
Are you registered to contract with us, and can you handle the RFP, insurance, prevailing-wage and reporting requirements?
Reach every community we serve in their own language and meet our accessibility and equity requirements
Plan and buy our media, run the paid search and social, and optimize it against cost per acquisition
Get us found — publish content that ranks in search and gets us named when someone asks an AI for recommendations
If we award you a three-year program with concurrent workstreams, do you have the people to staff it?
Which three lead? Five capabilities are rated strong. The audit tests all 12, but competitive differentiation queries will emphasize 3 — so we need your read on where you actually win deals:
Our analytic read is the first three. Which of these best represents where Polytechnic Marketing wins deals?
→ Validate Three ratings we'd challenge you on. (1) Paid media, rated weak. You produce broadcast and out-of-home work, but nothing on the site indicates you plan, buy, or report on media — do you, or do you hand finished creative to the client's buyer? If you buy media, that's a mis-rated capability and a whole query category we'd otherwise skip. (2) Public sector contracting, rated moderate. Your SAM.gov registration is confirmed (UEI WAHMQLG2MRL1, NAICS 541810) but we could verify no awarded federal contract on USAspending — if you have delivered public contracts at scale, this should be strong and it changes how the Ray Delgado query cluster is framed. (3) Bench depth, rated weak. That rating rests on the 2–10 headcount reading; if you run a standing senior contractor bench, it should move to moderate. Also: should Brand Guidelines & Rollout Governance stay separate from Logo, Identity System & Graphic Design, or do buyers treat them as one purchase?
10 pain points: 6 high, 4 medium severity. The buyer language below is how queries get phrased — buyers don't search for "brand strategy services," they search for the problem in their own words.
→ Validate Six of these ten came from general agency-buying dynamics rather than from your buyers, so this is the section most likely to be wrong. (1) Severity: we rated "can't prove marketing ROI" medium, but for a nonprofit executive director defending a rebrand to a board it may be the deal-breaker — if it's high, it moves ahead of three other pains in the query set. (2) Language: is "there's nothing in between" really how buyers describe the budget gap to you, or do they say something sharper? We use these phrasings verbatim in queries, so the exact words matter. (3) What's missing? Three that show up in mission-driven agency work and aren't here: public-record and political exposure ("everything we produce can end up in a board packet or a news story"), black-box creative process ("we never knew what was happening between the kickoff and the presentation"), and abandonment mid-engagement ("our last agency took the retainer and went quiet"). Are any of those real in your deals?
Eight findings from a source-level analysis of polytechnicmarketing.com on August 15, 2026. These are technical items your team can act on now — content strategy comes later, in the full audit, once we know which gaps actually cost citations.
Actionable now No critical blockers — and one genuinely good result: AI crawlers are not blocked. GPTBot, ClaudeBot, Google-Extended, and Bytespider are explicitly allowed in robots.txt, and ChatGPT-User, PerplexityBot, and Googlebot fall through to a permissive default group. Nothing needs to be unblocked. What does need attention are three high-severity items, and two of them can be done this week. Marketing should add an H1 and expand the title tag beyond the bare string "Polytechnic Marketing," and write the empty meta description — both under a day, both in Squarespace's Pages > Home > SEO panel. Content should start the larger job: replacing the 111 filename alt values with descriptive text naming the client, deliverable, and sector, prioritizing the roughly 40 images that represent distinct engagements. That one is one to three days and it's the highest-leverage fix on this list, because it converts the agency's entire body of proof from pixels into something a model can read.
What we found: The homepage carries 198 <img> elements. Of the 188 that declare an alt attribute, 111 use the raw image filename as the alt value (for example alt="FAS_TOLLS_SP2_OOH_2025.jpg", alt="Singular Brand Book 2025 1920x1080.jpg", alt="MPA_brandBook.jpg"), 73 are empty strings, and only 4 contain anything descriptive. Against that, the page holds 322 words of visible text in total. The agency's entire body of proof — FasTrak toll campaigns, Feedzai, IDverse, Singular Builders, Ventra Health, Marine Protected Areas, Vincent Chin Legacy Guide, Asian Health Services and roughly a dozen more engagements — exists on the site exclusively as pixels with no text equivalent.
Why it matters: AI answer engines build their understanding of a vendor from extractable text. Polytechnic's strongest differentiator is the work itself, and none of it is machine-readable: an LLM crawling this site can determine that the company is a marketing agency in Berkeley but cannot determine that it produced statewide toll-road campaigns for a public transportation agency or brand systems for venture-backed AI companies. Every client name, campaign type, deliverable, and sector credential is locked inside a JPEG. When a buyer asks an assistant for "Bay Area agencies with public agency campaign experience," there is nothing on this site for the model to cite.
Recommended fix: Replace filename alt attributes with descriptive alt text naming the client, the deliverable, and the sector — for example alt="Bay Area FasTrak express lanes out-of-home toll campaign, 2025" instead of alt="FAS_TOLLS_SP2_OOH_2025.jpg". In Squarespace this is edited per image in the image block's Design/Accessibility panel or via the file description field. Prioritize the roughly 40 portfolio images that represent distinct client engagements over decorative and mockup-frame images; genuinely decorative images should keep an empty alt. Pair this with a short text caption under each portfolio group naming the client and the scope of work, which serves both crawlers and buyers.
What we found: Parsing the raw HTML returns zero <h1> elements on the homepage. The document's heading structure begins at H2 with five entries — "Many crafts. One art.", "We take a strategic approach to distinctive communications. We take a collaborative approach to working with your team.", "Our Clients", "What's New", and "Say hello to your fully adaptive, senior marketing team." — followed by four H3s that are single stylistic words prefixed with an arrow glyph: "➔ Emerging", "➔ Innovative", "➔ People-centric", "➔ Socially responsible". The same zero-H1 structure is present at the root URL, at /home, and on the ?itemId= lightbox variants. The <title> element is the bare string "Polytechnic Marketing" with no category descriptor.
Why it matters: The H1 is the single strongest on-page signal of what a document is about, and retrieval systems that chunk pages for citation use the heading tree to label passages. With no H1 and H2s written as brand poetry rather than topic labels, there is no line anywhere in the markup that states what this company does or where it operates. The title tag, which would normally compensate, is just the company name. The result is that the strongest available topical signal on the site is the word "Marketing" inside the brand name — which is precisely why general search for this company collides with polytechnic universities' marketing departments rather than resolving to a Berkeley agency.
Recommended fix: Add a single H1 to the homepage that names the category, the specialisms, and the geography in buyer language — for example "Brand Strategy, Naming and Campaign Production for Public Agencies, Nonprofits and Emerging Technology Companies — Berkeley, California". Demote the current "Many crafts. One art." line to a styled tagline or H2 so the visual design is preserved. Separately, expand the <title> from "Polytechnic Marketing" to something like "Polytechnic Marketing | Berkeley Brand Strategy & Advertising Agency". In Squarespace, set the H1 via the text block's heading level selector and the title via Pages > Home > SEO.
What we found: sitemap.xml reports <lastmod>2025-05-21</lastmod> for the site's single URL — 451 days before this analysis date of 2026-08-15. The declared <changefreq> is "daily", which contradicts the actual modification date by more than a year. The footer independently corroborates the date with "©2025 Polytechnic Marketing L.L.C." The HTTP response carries no Last-Modified header (Squarespace returns an ETag and an age value instead), and no visible publication or update date appears anywhere in the page body.
Why it matters: Recency is a heavily weighted input to AI citation selection — measured analysis of ChatGPT's most-cited URLs finds the large majority were updated within the preceding 30 days (ConvertMate, ~Q4 2025), and AI-cited content across platforms skews materially fresher than the web average (Ahrefs, August 2025). A commercially critical page carrying a 15-month-old modification date and a stale copyright year is deprioritized against competitors publishing continuously. The mismatch between a "daily" changefreq and a 451-day lastmod also trains crawlers to discount this site's own scheduling hints, which reduces recrawl frequency exactly when the client next ships an update.
Recommended fix: Establish a refresh cadence for the homepage and let Squarespace regenerate lastmod on each publish. Immediately: update the copyright year, and correct the sitemap changefreq to a value that matches reality (Squarespace hard-codes "daily"; if it cannot be changed, treat the lastmod accuracy as the controlling signal). Longer term, the durable fix for freshness is a publishing surface that legitimately changes — the "What's New" section already exists as a heading but currently contains only untitled images, so converting it into dated, titled entries would give both crawlers and buyers a real recency signal.
What we found: sitemap.xml contains exactly one <url> entry: https://polytechnicmarketing.com/home. That URL returns HTTP 200, but its own <link rel="canonical"> points to https://polytechnicmarketing.com (the root, without /home). The root URL, which the site declares canonical, does not appear in the sitemap at all. Both URLs serve byte-for-byte identical body text. The sitemap otherwise contains 120+ <image:image> entries attached to that single URL.
Why it matters: A sitemap is a crawler's declaration of the canonical URL set. Here the two signals disagree: the sitemap nominates /home while the page nominates the root. Crawlers resolve this by following the canonical and discounting the sitemap, which means the site's only structured discovery hint contributes nothing and may suppress recrawl scheduling for the URL that actually matters. It also splits whatever link equity and citation attribution accrue between two addresses for one document.
Recommended fix: Make the sitemap and the canonical agree on a single address. In Squarespace, setting the Home page's URL slug so the site's primary page resolves at the root — or adding an explicit canonical override to /home pointing at itself — will align them. Verify afterward by refetching sitemap.xml and confirming the <loc> value matches the rel=canonical value exactly, including trailing-slash form. Then resubmit the sitemap in Google Search Console and Bing Webmaster Tools.
What we found: The homepage emits <meta name="description" content="" /> — the tag is rendered but its content attribute is an empty string. Open Graph tags are present but equally minimal: og:site_name and og:title are both the bare string "Polytechnic Marketing", og:type is "website", og:url is the root, and og:image points to the company logo mark. There is no og:description and no Twitter card markup.
Why it matters: The meta description is one of the few places on this site where a plain-language summary of the business could exist, and it is blank. Search engines and AI surfaces that build snippet summaries fall back to scraping body text — but the body text here is 322 words of abstract brand copy ("Many crafts. One art.", "paint your name across the skyline"), so the fallback yields nothing concrete either. The missing og:description means shares of the site in Slack, LinkedIn, and messaging apps render as a logo and a company name with no explanatory line.
Recommended fix: Write a 150-160 character meta description that states category, specialisms, and geography — for example "Berkeley brand strategy and advertising agency. Naming, identity, campaign production and web design for public agencies, nonprofits and emerging technology companies." Set the same text as og:description. In Squarespace this is Pages > Home > SEO > SEO Description, with social copy under Settings > Social Sharing. Verify the rendered result with a social preview tool after publishing.
What we found: Two JSON-LD blocks are present in the raw HTML. The first is a WebSite object carrying url, name, and image. The second is a LocalBusiness object whose payload is {"address":"","image":"https://static1.squarespace.com/...","openingHours":"","@context":"http://schema.org","@type":"LocalBusiness"} — address and openingHours are empty strings, and the object carries no name, no telephone, no url, no geo, no areaServed, and no sameAs. These are Squarespace defaults that were never populated. No Organization, ProfessionalService, Service, or Person schema exists anywhere on the site.
Why it matters: A LocalBusiness node with an empty address and no name is worse than no markup at all: it asserts an entity to consumers of structured data while supplying nothing to identify it. This site is the authoritative source for Polytechnic's entity record, and it currently publishes no machine-readable statement of the company's name, address, phone, service area, or founder. That vacuum is filled downstream by data-broker scrape pages, which is why third-party sources disagree on the company's headcount and founding year. Populated sameAs links are also the standard mechanism for telling engines that the LinkedIn and Vimeo profiles belong to this entity — the site links to both but never asserts the relationship.
Recommended fix: Replace the empty LocalBusiness stub with a populated ProfessionalService or Organization node carrying name, legal name ("Polytechnic Marketing L.L.C."), url, telephone, the Berkeley postal address, areaServed, founder, foundingDate, and a sameAs array linking the LinkedIn company page and the Vimeo account. In Squarespace, filling Settings > Business Information populates the LocalBusiness fields automatically; anything beyond that can be injected as a JSON-LD block via Settings > Advanced > Code Injection. Validate the result in Google's Rich Results Test and Schema.org's validator before and after.
What we found: The eight "View fullsize" portfolio links resolve to query-string variants of the homepage — https://polytechnicmarketing.com/?itemId=8o7vyufolemfsyn08eqem1xr7fwyg1 and seven siblings. Fetching one of these returns a document with the identical five H2s, four H3s, and 198 images as the homepage, and its rel=canonical points back to the root. No per-item title, description, or unique text is served at any of these addresses. Apart from these, the only other internal links in the entire document are /cart and the #page skip link; probing 15 conventional agency paths (/about, /services, /work, /portfolio, /contact, /team, /blog, /clients, /case-studies, /pricing, /brand-strategy, /naming, /web-design, /advertising) returned HTTP 404 for every one.
Why it matters: Because the itemId URLs canonicalize to the root, they create no duplicate-content liability — but they also create no citable surface. Individual pieces of work cannot be linked to, cannot be indexed separately, and cannot be returned as an answer to a specific question. AI assistants cite URLs; a body of work that has no URL of its own can never be the thing cited. The 404 sweep confirms the crawlable surface of this domain is exactly one document, so there is no internal link graph for a crawler to traverse and no topical structure to infer.
Recommended fix: Give each substantive engagement its own addressable URL — a Squarespace Portfolio or Project page per client at a path such as /work/fastrak-express-lanes — and include those URLs in sitemap.xml. This is a prerequisite for the content build the audit will recommend, so it is worth sequencing the URL architecture now even if the written case studies land later. As an immediate interim step, add titled text captions beneath each portfolio group on the homepage so the work is at least described in text at the one URL that does exist.
The following items could not be assessed through our analysis method (rendered markdown). We recommend your engineering team verify these manually before the validation call.
What to check: This analysis read the raw HTML source directly, which allowed us to assess meta tags, Open Graph tags, JSON-LD schema, heading structure, and image alt attributes as observed facts rather than inferences — these appear as diagnostic findings above. Two things remain outside what a source fetch can confirm. First, client-side rendering: the body copy, all five H2s, all four H3s, and all 198 <img> elements with their alt attributes are present in the server-delivered HTML, so the page is server-rendered and we recorded csr_detected as false — but we did not observe the page in a real browser with JavaScript disabled, and Squarespace applies lazy-loading to portfolio imagery whose behavior under a non-executing crawler we could not test. Second, we fetched with a desktop browser user-agent and did not compare the response served to declared AI crawler user-agents, so we cannot rule out edge-CDN variation in what bots actually receive. Confirming lazy-load behavior matters here because imagery is the overwhelming majority of this site's content mass — if lazy-loaded images are also invisible to crawlers, the alt-text finding above understates the problem rather than overstating it.
Recommended action: Load the homepage in Chrome DevTools with JavaScript disabled and confirm the portfolio images and their alt attributes still appear in the rendered DOM. Run the URL through Google Search Console's URL Inspection tool and review the rendered HTML Google actually received. Optionally curl the homepage with a GPTBot user-agent string and diff it against the desktop response to confirm no bot-specific variation. Each check is a few minutes; together they close out the residual uncertainty in this analysis.
This is not a sample One page analyzed is complete coverage, not partial. sitemap.xml declares exactly one URL, and a probe of 15 conventional agency paths (/about, /services, /work, /portfolio, /contact, /team, /blog, /clients, /case-studies, /pricing and five more) returned HTTP 404 for every one. The crawlable surface of polytechnicmarketing.com is a single document, and every score above describes that document in full. No pages were left unscored.
Why now Timing matters more in this category than in most:
The full audit will measure how often Polytechnic is cited across the buyer queries these personas actually run — "Bay Area agency with public agency campaign experience," "nonprofit rebrand agency near me," "naming agency for a startup launch," "who can produce a radio and out-of-home campaign for a transportation agency," and the budget-gap phrasings your buyers use ("the good agencies quoted us six figures to start"). You'll see exactly which of those queries return answers naming Project6, Circlepoint, Emotive Brand, or Big Duck but not Polytechnic Marketing — and what specifically is missing that would change it. The Layer 1 fixes below aren't waiting on any of that: doing them now raises the baseline before we measure it, so the audit reads your real position rather than an artifact of empty markup.
45–60 minutes. We walk through this document together, resolve the questions in the Pre-Call Checklist, and lock the inputs the query set is built from.
We generate buyer queries from the validated personas, competitors, capabilities, and pain points, then run them across the selected AI platforms and capture every response.
Visibility analysis, competitive positioning against the validated set, and a prioritized three-layer action plan — technical, content, and authority — ordered by what actually costs you citations.
Start now — engineering Three technical items your team can complete before the validation call. (1) Populate the entity schema: replace the empty LocalBusiness stub with a filled ProfessionalService or Organization node — name, legal name, Berkeley address, telephone, areaServed, founder, foundingDate, and a sameAs array pointing at the LinkedIn and Vimeo profiles. Right now the site asserts an entity with an empty address and no name, which is why data brokers are authoring your record. (2) Align the sitemap with the canonical: sitemap.xml lists only /home while the page declares the root canonical — fix the slug or add a canonical override, refetch to confirm the <loc> matches rel=canonical exactly, then resubmit in Google Search Console and Bing Webmaster Tools. (3) Close out the rendering unknowns: load the homepage with JavaScript disabled and confirm the portfolio images and alt attributes survive lazy-loading, run it through GSC URL Inspection, and diff a GPTBot user-agent fetch against the desktop response. Robots.txt does not need attention — AI crawler access is confirmed open. None of these depend on the rest of the audit, and they will improve your baseline visibility before we even measure it.
Two jobs before we meet. The questions on the left require your judgment — no one knows your business better than you. The engineering tasks on the right don't require the call at all.