Thirty-seven days to the primary.
Failing.
By any rigorous standard, 36 of 100 is failing. The campaign is competing in a five-way Democratic primary against a sitting incumbent, with no Republican on the ballot, which means the primary is effectively the general. Visibility to AI search assistants is partial and unclaimed, the foundation carries indexed dev artifacts and broken navigation, and measurement is absent across every paid channel. The work in this report moves the score into competitive territory (the seventies) inside ninety days.
Executive Summary
The condition of the campaign's digital presence, what it is doing well, and the three strategic priorities that compound fastest in the days remaining.
marcelluscrews.com sits on a flexible WordPress foundation with the All in One SEO plugin installed and a working sitemap. AI crawlers are not blocked. The candidate's name appears in answers when a voter asks ChatGPT or Claude who is running for County Executive. Those are real wins. Beneath that foundation are pages with copy-paste meta descriptions, an indexed 'hello-world' default post, a 404 on the volunteer call to action, no voter information page, no endorsements page, no Spanish presence, no Person schema, and no FEC 'Paid for by' disclaimer surfaced anywhere. The sitting incumbent runs a different stack, but she runs it with a Wikipedia article, a knowledge panel, and the county government's own staff directory anchoring her presence.
This is a verdict of urgency, not failure. The race is winnable. With no Republican on the ballot, the Democratic primary is the office. The foundation is sound enough that the work can be reframed for the window. Perfecting Core Web Vitals or chasing backlinks will not move a vote in thirty-seven days. Owning the searches the five-way primary's undecided voters will run between now and June 23 will.
- Win the disambiguation. A voter searching 'Marcellus Crews' shares results with a former NFL personality of the same first name who is in negative national news. The campaign's homepage title does not contain the word 'Marcellus.' Until the site declares clearly, in machine-readable signals, who this candidate is and what office he is running for, every other ranking gain leaks into the wrong identity.
- Own the voting-logistics search window. The next twenty-five days will see a surge of high-intent queries about June 23, mail ballots, early voting locations, and polling places. That traffic is currently flowing to the Prince George's County Board of Elections and Maryland Matters coverage. None of it is reaching the campaign.
- Claim the candidate-comparison SERP in a five-way primary. Five Democrats are on the ballot. The incumbent has institutional advantage. The other three challengers have not yet claimed the head-to-head search either. The campaign that publishes a substantive 'Crews vs Braveboy' or 'Crews vs the field' page first shapes the comparison for every undecided voter.
Field Notes
Observations from sitting with the site, not from running a crawler. The things a table cannot quite catch.
Three names, one candidate.
The committee is registered as 'Citizens for Crews.' The site brands itself 'Crews for County Executive.' The candidate's first name is 'Marcellus.' The homepage's title tag in Google reads simply 'Home - Crews for County Executive.' A voter searching the candidate by his first and last name is reading three different versions of the same campaign, and a search engine is being asked to resolve them into one entity without help.
The candidate's first name is missing from his own homepage title.
The browser tab and Google snippet both render as 'Home - Crews for County Executive.' The word 'Marcellus' appears nowhere in the homepage title, meta description, or H1. For a candidate sharing a first name with a former NFL personality currently in negative national news cycles, this is the single most consequential disambiguation signal the site refuses to send.
The opponent is the incumbent. Her name appears nowhere on the site.
Aisha Braveboy holds the office. She has Wikipedia, a knowledge panel, and the Prince George's County government's own staff directory entry. She is unnamed across every page of marcelluscrews.com. A voter searching 'Braveboy vs Crews' or 'who is challenging Braveboy' finds news media coverage, not a comparison the campaign has authored.
The default WordPress post is still indexed.
A page titled 'Website Coming Soon!' lives at marcelluscrews.com/hello-world/. It is currently in the sitemap, currently in Google, and currently the only entry in the campaign's post-sitemap. The dev artifact that ships with every new WordPress install was never deleted. For a candidate whose entire brand is technology and innovation, a 'hello-world' page in production reads as the opposite of the message.
'Volunteer' is a call to action with no destination.
The homepage features a 'Volunteer' button prominently. The /volunteer/ URL returns 404. A separate page exists at /our-vision-copy/ titled 'Volunteer - Marcellus Crews LETSGO!' that ranks for the brand. The button most likely points to a Google Form or a third-party signup, but the public path that would carry organic search value is missing.
The platform reads as four banners.
The 'East Coast Silicon Valley' framing is a strong, ownable positioning move. Underneath it, each of the four platform blocks is a slogan and a paragraph. Voters researching positions on housing, public safety, or workforce development find county government documents and news media coverage before they find a substantive position from the campaign itself.
The biography reads about him, not from him.
The About page opens 'Marcellus Crews has called Maryland home for over 40 years and has built a life centered on service, leadership, and innovation.' It is third-person, past-tense, and marketed. Compared to a campaign that speaks in the candidate's own voice, the page feels published. The single direct quote ('Prince George's County possesses tremendous intellectual capital') is the strongest beat on the page, and it is buried.
The 2024 Senate race still dominates the candidate's record online.
Ballotpedia, FEC.gov, Bethesda Magazine's voter guide, Frederick News-Post, and Maryland Matters all index the candidate as a 2024 U.S. Senate primary loser. None of them currently rank a 2026 County Executive update. A voter doing first-pass research finds a candidate running for a different office, in a different year, who lost. The story is two years stale.
'Paid for by Citizens for Crews' appears nowhere a voter can see.
The footer carries '© CITIZENS FOR CREWS' as a copyright line. The federal and Maryland state requirement for a 'Paid for by' authority line on campaign communications is not visibly present on the homepage, the contact page, or any sub-page audited. This is not just an SEO finding. It is a compliance exposure for a sitting candidate.
Keyword Opportunities
The terms Prince George's County Democratic-primary voters will actually type. Opportunity scores are directional, calibrated to county search demand and SERP intent.
| Keyword | Opportunity | Rank | Intent |
|---|---|---|---|
| marcellus crews | High | #1 | Navigational |
| marcellus crews prince george's county | High | #1 | Navigational |
| marcellus crews county executive | High | Mid-page | Navigational |
| prince george's county executive candidates 2026 | High | Not ranked | Informational |
| crews vs braveboy | High | Not ranked | Research |
| braveboy challenger 2026 | High | Not ranked | Research |
| prince george's county democratic primary 2026 | High | Not ranked | Research |
| june 23 primary maryland | High | Not ranked | Transactional |
| early voting prince george's county 2026 | High | Not ranked | Transactional |
| upper marlboro county executive | High | Not ranked | Research |
| bowie county executive candidate | High | Not ranked | Research |
| hyattsville county executive 2026 | High | Not ranked | Research |
| largo county executive | Medium | Not ranked | Research |
| prince george's county housing crisis | Medium | Not ranked | Informational |
| prince george's county public safety | Medium | Not ranked | Informational |
| east coast silicon valley maryland | High | Not ranked | Informational |
| marcellus crews crewsing technologies | Medium | Off-site | Navigational |
| how to vote prince george's county primary | Medium | Not ranked | Transactional |
| crews endorsements county executive | Medium | Not ranked | Research |
| votar elecciones primarias prince george's | Medium | Not ranked | Transactional |
| rebuilding with love and concern | Medium | #1 | Navigational |
| democratic candidate prince george's county | Medium | Not ranked | Research |
| marcellus crews donate | Low | #1 | Transactional |
On-Page Issues
Where the campaign's current pages fall short of what voters need to find and what search engines need to rank them. Severity is calibrated to the thirty-seven-day window.
| Page | Issue | Severity | Impact if Unaddressed |
|---|---|---|---|
| Homepage | Title tag omits the candidate's first name | Critical | The browser tab and Google snippet read 'Home - Crews for County Executive.' The word 'Marcellus' is absent from the most consequential ranking signal on the site. With a former NFL personality of the same first name dominating national news, the disambiguation gap is widening daily. |
| All indexed pages | Meta descriptions are duplicated | Critical | AIOSEO is auto-generating descriptions from the same homepage paragraph across every page. Google rewrites duplicated descriptions, which costs control over the snippet on every search result. |
| /hello-world | Default WordPress post is indexed and in the sitemap | Critical | The page titled 'Website Coming Soon!' is currently the only entry in the campaign's post-sitemap. For a campaign whose signature framing is 'innovation' and 'East Coast Silicon Valley,' a hello-world dev artifact in production reads as the opposite of the message. |
| All pages | No image alt text | High | Lost ranking value from every image. Accessibility violation. Screen readers cannot identify the candidate's photo. WordPress media library makes this trivially fixable; it has not been done. |
| All pages | No Person, Organization, or PoliticalCandidate schema | High | AIOSEO injects a basic WebPage schema. There is no Person schema declaring jobTitle, affiliation, areaServed. The site does not tell AI engines or rich-result algorithms what kind of entity this page represents. |
| Homepage | Only working calls to action are 'Donate' and 'Contact me today!' | High | The 'Volunteer' button leads to a 404. Undecided voters and supporters looking for voting information have nowhere to go. The campaign captures money from people who already know they want to give, and turns away everyone earlier in the funnel. |
| /platform | Each policy block runs roughly 150 to 200 words | High | Pages cannot rank for the issues they target. Voters researching positions on housing, public safety, education, or workforce development find county government documents and news media coverage before they find a substantive position from the campaign. |
| /about | Bio is third-person, marketed, with one buried direct quote | Medium | The page reads as a press release written about the candidate rather than from him. Press has no clean URL to cite for a candidate-voice quote. Biographical search queries find media coverage where the framing belongs to someone else. |
| Site-wide | No /endorsements page | High | Credibility signals are invisible. In a five-way Democratic primary against a sitting incumbent, voters research candidates by looking for who is backing them. The campaign offers no answer. |
| Site-wide | No voter information page | Critical | Voters searching for the June 23 primary date, early voting locations, or mail ballot information find the Prince George's County Board of Elections and Maryland State Board of Elections sites. The campaign captures none of this peak-intent traffic. |
| Site-wide | No Spanish language version | High | Prince George's County is approximately twenty percent Hispanic, with communities concentrated in Hyattsville, Langley Park, Adelphi, and West Hyattsville. Every Spanish-language search for the office, the candidates, or voting information currently flows to county government or news media. |
| Homepage and footer | No 'Paid for by Citizens for Crews' disclaimer surfaced | Critical | The footer shows only '© CITIZENS FOR CREWS' as a copyright line. The Maryland State Board of Elections requires an authority line on campaign communications. Missing this is a formal compliance flag, not just an SEO finding. |
| /our-vision-copy | Legacy URL slug still ranks for 'volunteer' | Medium | Google has indexed a draft/duplicate URL whose slug betrays it as a copy. The volunteer CTA leads here in some contexts, the 404 in others. Authority is split between two near-identical paths. |
| Site-wide | WordPress and plugin versions exposed in source | Medium | Generator tags expose 'WordPress 6.9.4,' 'AIOSEO 4.9.5.1,' and 'Give v4.14.6.' Each version disclosure is a reconnaissance signal for an attacker probing for known plugin vulnerabilities. Low-effort, high-leverage attack surface. |
| OG metadata | og:type set to 'article' on homepage | Medium | The homepage declares itself an article rather than a website. Social platforms parse this differently, and rich-result eligibility patterns differ. A small but consistent miscategorization across every share. |
| Sitemap | Sitemap dated April 21 with only one post (hello-world) | High | Search engines see a campaign that has published one piece of content since launch, and that piece is a default WordPress installer page. Crawl frequency drops, freshness signals collapse, new pages will take longer to index. |
Content Gaps
The pages that should exist but do not. Sequenced by what compounds before June 23 versus what positions for the general election cycle and a four-year term.
Pre-primary the next twenty-five days
Pre-general the next four years
Technical Review
Crawlability, structured data, and the infrastructure that determines whether the rest of this work can rank at all.
| Check | Status | What this means |
|---|---|---|
| HTTPS | Pass | Site is served securely. No reader warnings, no Chrome 'Not Secure' labels. |
| Mobile-friendly | Pass | Mobile rendering is responsive and the viewport is configured correctly. |
| robots.txt present | Pass | Search crawlers can discover the sitemap. AI crawlers are not blocked. |
| AI crawler access | Pass | GPTBot, ClaudeBot, PerplexityBot, Google-Extended are not blocked. The AI search channel is open by default, which is the inverse of most Squarespace and Wix sites. |
| XML sitemap | Warning | Sitemap exists and is referenced. The post-sitemap currently contains only the default WordPress 'hello-world' page. Search engines read this as an abandoned content operation. |
| Canonical tags | Warning | AIOSEO injects canonical tags. The /our-vision-copy/ versus /volunteer/ split needs an explicit canonical declaration. Authority is otherwise leaking between near-identical URLs. |
| Page speed | Warning | Not measured in this pass. WordPress with AIOSEO, Give, and Events Calendar plugins typically lands in the 40 to 55 mobile range. Slow homepages cost organic rankings and drop conversion on mobile devices. |
| Core Web Vitals | Warning | Real-user performance signals affect mobile rankings directly. Currently unverified. |
| Structured data | Warning | AIOSEO injects a single WebPage schema block. There is no Person schema, no Organization, no PoliticalCandidate. The site is ineligible for the rich results and AI-assistant entity recognition that political candidates need. |
| Open Graph metadata | Warning | AIOSEO populates basic OG tags but the homepage declares og:type='article,' the og:description duplicates across pages, and og:image is not always set. Social shares may render with the wrong image or a wall of text. |
| Title tags | Fail | Homepage title is 'Home - Crews for County Executive.' The candidate's first name is missing. Every page repeats the same pattern. The single most consequential ranking signal does not contain the search-target phrase. |
| Meta descriptions | Warning | AIOSEO is auto-generating descriptions from the same homepage paragraph across every page. Google rewrites duplicated descriptions, which costs control over the snippet on every search result. |
| Image alt text | Fail | None detected. Lost ranking value, lost accessibility, lost rich-result eligibility on images. WordPress media library makes this trivially fixable; it has not been done. |
| Internal linking | Warning | Body copy contains few contextual links between pages. Authority does not flow through the site, and voters reading one page have no path to the next. |
| Broken links and 404s | Fail | The 'Volunteer' button on the homepage leads to /volunteer/, which returns 404. /press, /press-kit, /media, /vote, /endorsements, /faq, /es all 404. Each broken link wastes crawl budget and frustrates a voter who clicked with intent. |
| WordPress and plugin versions | Warning | Source code exposes 'WordPress 6.9.4,' 'AIOSEO 4.9.5.1,' and 'Give v4.14.6.' Each version disclosure is reconnaissance for an attacker probing for known vulnerabilities. |
| FEC and Maryland State BOE disclaimer | Fail | Not visibly confirmed on any page. Maryland State Board of Elections requires an authority line on campaign communications. Separate from SEO, this is legal compliance exposure. |
Competitor Analysis
The incumbent's site, head to head with marcelluscrews.com, on the dimensions that determine which candidate the voter finds first. The other three Democratic challengers (Bridges, Ferguson, Holmes) are not currently the search-engine competition; the incumbent is.
| Dimension | marcelluscrews.com | aishabraveboy.com | Winner |
|---|---|---|---|
| Pages indexed | ~12 (incl. 'hello-world') | ~7 (clean, no orphans) | Braveboy |
| Content depth | ~150-200 words per platform block | Seven priority sections plus transition news | Braveboy |
| Publishing frequency | 0 substantive posts | Transition News section, active | Braveboy |
| News / press | No /news; /press 404 | Transition News index | Braveboy |
| Spanish content | None | None visible | Tie (open lane) |
| Endorsements | None (/endorsements 404) | Implied via Gallery; not isolated | Tie (open lane) |
| Voter Information | None (/vote 404) | Primary dates June 11 to 23 referenced | Braveboy |
| Newsletter signup | Not visible | Not externally surfaced | Tie (open lane) |
| CTA variety | Donate works; Volunteer 404 | Donate, Volunteer, 'Invest in Results' | Braveboy |
| Linked social presence | FB, X, IG, LinkedIn, YouTube, TikTok (inconsistent handles) | Not surfaced on homepage | Tie (Crews has more accounts, Braveboy has institutional accounts) |
| Structured data | AIOSEO WebPage only | None visible | Tie (both weak) |
| Brand name rank | #1 for 'Marcellus Crews' | #1 for 'Aisha Braveboy' | Tie |
| Wikipedia entity | No personal article | Yes, full Wikipedia article | Braveboy |
| Knowledge Panel | None | Yes, via county-executive role | Braveboy |
| AI assistant visibility (May 17 test) | Appears in answers; site cited #1 for navigational query | Appears in answers; institutional sources dominate | Tie |
| Incumbent advantage | N/A | County-government staff page, official socials, full transition team | Braveboy |
Performance & Speed
How quickly marcelluscrews.com loads, renders, and becomes interactive on the devices voters actually use. Speed is not a vanity metric. It is a conversion variable and a Google ranking factor.
| Check | Status | What this means |
|---|---|---|
| Mobile Performance | Warning | WordPress with AIOSEO, Give donation, and Events Calendar plugins typically renders in the 40 to 55 mobile range. Mobile is where most political research happens, and Google demotes slow pages in mobile rankings. |
| Largest Contentful Paint (LCP) | Warning | The hero image is the LCP element. On WordPress with no preload hint, no WebP confirmed, and a multi-image carousel on the homepage, the hero typically renders in 3 to 5 seconds on mobile. Above 2.5 seconds Google considers the experience poor. |
| Image Optimization | Fail | No WebP serving detected, no responsive srcset confirmed, no lazy-load attribute on below-fold imagery. The homepage carousel alone references nine images. Every image costs more bandwidth and time than it should. |
| Render-Blocking Scripts | Warning | AIOSEO, Give, Events Calendar, and theme scripts bundle into the head and block first paint. The page cannot render until they finish downloading and parsing. |
| Font Loading | Warning | Web fonts loaded without preconnect to font CDN. Text renders in fallback fonts first, then shifts when real fonts arrive. Visual chaos that costs CLS. |
| Cumulative Layout Shift (CLS) | Warning | Images without explicit dimensions and the Give donation form cause the page to shift as they load. Each shift costs CLS, and CLS above 0.1 hurts mobile rankings directly. |
| Caching and CDN Configuration | Warning | WordPress hosting performance varies wildly. Whether a caching layer (Cloudflare, WP Rocket, server-side cache) is configured is not externally visible. |
| Mobile Viewport | Pass | Viewport tag is set correctly. Mobile rendering scales appropriately to device width. |
| PageSpeed Insights Live Test | Warning | Live test rate-limited at audit time. A full per-page Core Web Vitals report is recommended as a Phase I deliverable to set the performance baseline. |
Local Presence
How the campaign and the candidate show up in local discovery surfaces. Google Maps, Apple Maps, NextDoor, local citations, NAP consistency. A county race is won by being everywhere local voters look.
| Check | Status | What this means |
|---|---|---|
| Google Business Profile (Campaign) | Fail | No GBP identified for the campaign. Voters who search 'Marcellus Crews campaign office' or 'Crews for County Executive Capitol Heights' on a phone are routed to unrelated results or to CREWSING Technologies's existing listing. |
| Google Business Profile (CREWSING Technologies) | Warning | The candidate's existing business (CREWSING Technologies, headquartered in Capitol Heights) may carry a separate GBP. Its visibility, reviews, and content are not aligned with the campaign and may carry over in name-based searches. |
| NAP Consistency | Fail | Campaign Name, Address, Phone exist (phone is (301) 325-8898) but are not syndicated to local directories. NAP consistency across data brokers is the foundation of local search ranking. |
| Apple Maps Listing | Fail | No campaign listing on Apple Maps. Approximately half of mobile map queries on iPhone route through Apple Maps, not Google. Major coverage gap in a county with heavy iPhone use. |
| Bing Places | Fail | No campaign listing on Bing Places. Bing serves DuckDuckGo, Yahoo, ChatGPT search, and a meaningful share of older desktop traffic. |
| Local Directory Citations | Fail | No Yelp, BBB, local Chamber of Commerce, or Maryland political directory listings for the campaign. Each citation is a small ranking signal. None are stacked. |
| NextDoor Presence | Fail | NextDoor reaches hyperlocal voters at the neighborhood level. Upper Marlboro, Bowie, Hyattsville, Largo, College Park, and Laurel are heavily active on NextDoor. The campaign is absent. |
| Local News Citations | Warning | Maryland Matters, Washington Informer, The DBK (University of Maryland's student paper), and the Bay Net cover the County Executive race, but most current coverage names Crews briefly in lists alongside Braveboy, Bridges, Ferguson, and Holmes. Fresh local press is the strongest local signal. |
| Municipality Engagement | Warning | Prince George's County has roughly 30 incorporated municipalities, each with its own council and political ecosystem. Engaging publicly with municipal leaders produces local signals that AI engines and search engines both weight, and shows voters the candidate knows their town. |
AEO · Answer Engine Optimization
How the campaign shows up when voters research the race through AI assistants (ChatGPT, Claude, Perplexity, Google AI Overviews, Gemini). A separate game from traditional search, with different rules and rapidly growing stakes.
| Check | Status | What this means |
|---|---|---|
| AI Crawler Access | Pass | robots.txt does not block GPTBot, ClaudeBot, PerplexityBot, or Google-Extended. The campaign site is open to the AI search channel by default, which is the rare positive in this audit and the reason the candidate appears in answers at all. |
| Google Knowledge Panel | Fail | No verified knowledge card appears for the candidate when his name is searched. The incumbent has one through her county government role. Branded searches show only blue links instead of the authoritative entity panel. |
| Wikipedia Entry | Fail | No encyclopedic article exists for Marcellus Crews. AI engines weight Wikipedia disproportionately as a source of entity truth, and its absence reads as 'this person is not yet notable enough for a separate article.' The 2025 special election does have a Wikipedia entry; the candidate is not named in it. |
| Ballotpedia Profile | Warning | Present from the 2024 Senate cycle. The strongest non-Wikipedia signal AI engines use for political candidates is partially populated. Bio is thin, no campaign site link verified, platform summary stale to the prior race. |
| Person Schema | Fail | The site never declares to a machine what kind of entity it represents. AIOSEO injects a generic WebPage schema. There is no Person schema with disambiguatingDescription, no PoliticalCandidate marker, no sameAs links. AI engines must guess at the candidate's identity. |
| FAQ Coverage and Schema | Fail | The exact questions voters type into AI assistants ('Is Marcellus Crews a Democrat?,' 'When is the Prince George's primary?,' 'What does Crews say about housing?') are not answered in a format AI can extract. The site has no FAQPage schema anywhere. |
| Cross-Profile sameAs Links | Warning | Social profiles, the Ballotpedia entry, the FEC candidate page, the YouTube channel, and the campaign site exist as disconnected islands. AI engines cannot resolve the candidate's various presences into a single recognized entity. |
| Citation-Worthy Content Structure | Warning | Platform pages describe positions in slogan-and-paragraph form rather than extractable statements. AI engines reward declarative phrasing ('Marcellus supports X. Marcellus opposes Y.') because it is quote-ready. Today the platform reads as 'East Coast Silicon Valley' followed by a paragraph that does not isolate a position. |
| Disambiguation from Same-Name Public Figures | Fail | A voter searching 'Marcellus Crews' shares the SERP with Marcellus Wiley, a former NFL player and television personality who is the subject of active sexual-assault litigation. The campaign site provides no disambiguation signal. AI engines may carry sentiment between adjacent entities when context is thin. |
| AI Assistant Live Test | Warning | Tested live on May 17, 2026 against three queries voters actually ask. Query one: 'Who is running for Prince George's County Executive in 2026.' Marcellus Crews appeared in the answer, named alongside Braveboy, Bridges, Ferguson, and Holmes. The campaign site was cited. A real win and the inverse of most challenger campaigns. Query two: 'Is Marcellus Crews a Democrat or Republican.' Answer correctly identified him as a Democrat. Sources cited were Ballotpedia, BlueVoterGuide, and WBOC. The campaign site itself was not the cited source. Query three: 'What is Marcellus Crews's position on affordable housing in Prince George's County.' Answer gave a generic restatement of the homepage paragraph: 'expand healthcare access, increase affordable housing, strengthen workforce development.' Marcelluscrews.com appeared in the source list, but the answer pulled the wall-of-text meta description, not a substantive policy position. Visible across all three queries. Ungoverned in all three answers. |
Tracking & Measurement
Whether the campaign can measure what it is already paying for. Without tracking pixels and analytics in place, every dollar spent on ads, social, or email flies blind. No attribution, no retargeting, no learning loop.
| Check | Status | What this means |
|---|---|---|
| Google Analytics 4 (GA4) | Fail | Not detected on the homepage source. The campaign cannot answer basic questions about traffic, sources, or visitor behavior. Every campaign decision is being made without data. |
| Google Tag Manager (GTM) | Fail | Not detected. GTM is the container that orchestrates every other tracking script. Without it, adding pixels later requires touching the site repeatedly. With it, every future tag is a config change, not a code change. |
| Facebook / Meta Pixel | Fail | Not detected. Required to retarget Facebook and Instagram visitors with paid ads. Required to measure conversion from Meta campaigns. Without it, Meta ad spend is unmeasured and unretargetable. |
| Google Ads Conversion Tracking | Fail | Not detected. Required to measure ROI on any Google search ads or YouTube ads. Every search ad dollar without conversion tracking is a guess. |
| LinkedIn Insight Tag | Fail | Not detected. Required for high-dollar donor acquisition campaigns via LinkedIn. Without it, LinkedIn cannot build a retargeting audience of donors and prospects. PGC has substantial federal-government and contractor donor populations. |
| X / Twitter Pixel | Fail | Not detected. Required to retarget X visitors with paid ads. Lower-priority than Meta Pixel but still relevant for political audiences. |
| Conversion Events Defined | Fail | No measurable conversion events configured anywhere. 'Donation,' 'newsletter signup,' 'voter pledge,' 'polling place lookup' all need event tracking to be optimizable. |
| Give Donation Plugin Reporting | Warning | Give v4.14.6 carries its own reporting layer. It shows donation volume but does not attribute to traffic source, campaign, or channel without GA4 integration. Useful for accounting, useless for marketing optimization. |
| UTM Parameter Strategy | Fail | No UTM convention visible on the donation link or social posts. The campaign cannot attribute donations or signups to the channel that drove them. Every shared link is unattributable. |
| Server-Side Tracking (Conversions API) | Fail | Not configured. iOS 14+ and increasing browser privacy restrictions have made client-side tracking less reliable. Server-side tracking is the modern fix. |
Brand SERP & Reputation
What a voter actually sees when they Google the candidate's name. The first page of search results is the campaign's de facto landing page, whether the campaign controls it or not.
| Check | Status | What this means |
|---|---|---|
| Google Knowledge Panel | Fail | No verified knowledge card appears for the candidate. The incumbent has one through her county-government role. Voters who search the candidate's name see only blue links instead of the authoritative entity card Google promotes politicians with. |
| Image Pack | Fail | Google does not display an image carousel for the candidate's name. The visual band Google reserves for recognizable figures is empty, which signals 'lower-profile candidate' to every voter scanning the SERP. |
| Same-Name Disambiguation | Fail | A voter searching 'Marcellus' shares results with Marcellus Wiley, a former NFL player and ESPN/Fox Sports personality currently named in sexual-assault litigation. The disambiguation is uncontrolled. Voters who skim headlines may carry the wrong sentiment to the candidate's brand. |
| People Also Ask | Fail | Google's PAA questions for the candidate route to Ballotpedia, Bethesda Magazine voter guide, and Maryland Matters, not to the campaign site. The campaign does not answer the questions voters are explicitly asking. |
| First Page Result Mix | Warning | Top ten results for 'Marcellus Crews' are dominated by LinkedIn, Instagram, Ballotpedia, Maryland Matters tag page, Bethesda Magazine's 2024 voter guide, FEC.gov candidate overview, YouTube, OVOU.com (digital business card), and Wikipedia (where he is not the article subject, only a name in the 2024 Senate race article). marcelluscrews.com ranks #1, which is the win. The rest of the page is a mix of stale and tangential. |
| 2024 Senate Race Bleed-Through | Warning | Coverage of the 2024 U.S. Senate primary (which the candidate did not win) is the most-cited current biographical record online. Voters who land on stale coverage walk away with the wrong frame: a Senate candidate, not a County Executive candidate. |
| Shadow Search · 'controversies' | Pass | Google searches for 'Marcellus Crews controversies' return no significant negative content about this candidate. Search engines do confuse the candidate with Marcellus Wiley, which the campaign must defend against, but the candidate himself surfaces clean. This is a real asset and the right time to lock it in by owning more of the SERP. |
| Shadow Search · 'ethics OR scandal' | Pass | No ethics-related negative content surfaces for the candidate. Clean record online. Strong defensive position before any opposition mailer or news cycle. |
| Reputation Risk Surface | Warning | Today's clean SERP is fragile. A single news cycle, opposition mailer, or social attack can flip the first page. Without owned content density, there is no defensive moat. The same-name disambiguation issue is a latent risk that opposition could exploit. |
| Brand Search Rank | Pass | marcelluscrews.com ranks #1 for 'Marcellus Crews' searches. A foundational win and a base to build defensive real estate from. |
Accessibility & Compliance
Where the site sits against WCAG 2.1 AA, ADA exposure, and the campaign-specific compliance obligations (FEC, Maryland State BOE, SMS, cookies). For a public official, this is legal risk in addition to UX risk.
| Check | Status | What this means |
|---|---|---|
| Color Contrast (WCAG 2.1 AA) | Warning | The site uses a gold-on-dark palette in places that has not been verified against the actual text. Insufficient contrast fails ADA, loses voters with low vision, and shows up in formal complaints. |
| Keyboard Navigation | Warning | Tab order, focus indicators, and skip links have not been tested. Voters with motor impairments cannot navigate the site without a working tab order. WordPress theme defaults are inconsistent across themes. |
| Image Alt Text | Fail | None detected on any image, confirmed in the On-Page section. The single most-cited WCAG violation in formal complaints. Screen readers cannot identify the candidate's photo. |
| ARIA Labels on Interactive Elements | Warning | The Give donation form, contact buttons, and navigation toggle likely lack proper ARIA labels. WordPress theme defaults vary widely. Without ARIA, assistive technology cannot describe what each element does. |
| Form Accessibility | Warning | The Give plugin's donation form is the highest-stakes form on the site. WordPress contact forms (if added) and any future signup forms must have programmatically associated labels. |
| FEC 'Paid for by' Disclaimer | Fail | Not visibly present on any page audited. The federal requirement for political committees. Missing or inconsistent placement is a compliance flag and can prompt complaints. |
| Maryland State Board of Elections Disclosure | Warning | Maryland has state-level disclosure requirements separate from federal FEC obligations. Coverage on the site has not been verified. |
| Cookie Consent and Privacy Posture | Warning | No cookie consent banner visible. WordPress, AIOSEO, and Give all set functional cookies by default. Visitors from California, Europe, or other regulated jurisdictions trigger consent requirements that are not being collected. |
| SMS Compliance (TCPA, A2P 10DLC) | Warning | No SMS terms page identified on the site. Political SMS is one of the most heavily regulated channels in modern marketing, and the absence of public terms suggests the campaign has not yet built or registered the channel. |
| Privacy Policy | Warning | Privacy policy presence on the site has not been verified during this audit pass. Coverage against CCPA (California), GDPR (EU visitors), and Maryland privacy regulations needs review. |
| Accessibility Statement | Fail | No accessibility statement on the site. Best-practice for any public-facing site, and a defensive document for an ADA complaint. |
Crisis Preparedness
How prepared the campaign is for the moment a reporter, opponent, or news cycle puts it under pressure. A campaign with no crisis infrastructure becomes the story on the day a crisis hits.
| Check | Status | What this means |
|---|---|---|
| /press URL | Fail | Returns 404. No press kit page exists at any conventional path (/press, /press-kit, /media all 404). A reporter calling at 11pm has nowhere to grab bio, headshot, or fact sheet. The story runs without them. |
| Press Release Page | Fail | No /news, /press-releases, or /announcements path exists. The only post in the sitemap is the WordPress default 'hello-world.' Campaign has no record of its own statements. |
| Downloadable Bio and Headshot | Fail | No downloadable assets identified anywhere on the site. The campaign cannot push approved imagery and bio language out at speed. |
| Rapid Response URL | Fail | No /response, /facts, /clarification, or comparable path exists. When false claims circulate (including the same-name disambiguation risk with Marcellus Wiley), the campaign has no canonical rebuttal URL to push out across social and press. |
| Media Contact Surface | Fail | No dedicated media contact identified. The /contact page is a phone number and a QR code. There is no email, no press contact name, no after-hours protocol. A reporter who cannot reach the campaign by 6pm publishes without them. |
| Pre-Approved Statements Library | Fail | No internal library of pre-approved candidate positions on common topics. When a question lands during a press hit or social storm, the response is improvised. |
| Social Pinned Crisis Capacity | Warning | When a crisis hits, social profiles need pinned-post infrastructure to push a unified message. The campaign has multiple social accounts with inconsistent handles; coordination is the question. |
| Defensive SERP Real Estate | Fail | Covered in the Brand SERP section. Without owned content density on the first page of Google, a negative news cycle dominates the SERP and the campaign cannot push back. The same-name disambiguation issue with Marcellus Wiley makes this even more acute. |
| SMS Rapid Notification | Fail | No SMS channel identified. Texting opt-in supporters is the fastest crisis channel a campaign can deploy. The campaign does not appear to have built one yet. |
| Owned Domain Variant Defense | Warning | Whether marcelluscrews.org, marcelluscrews.net, crewsforcountyexecutive.com, citizensforcrews.com, and similar variants are owned by the campaign is not externally visible. Variant domains are how opposition attack sites get registered. |
Phased Methodology
Three phases, sequenced for the calendar. Each phase is defined by outcomes, not tasks. Together they describe the arc of work between today and a four-year term as County Executive.
Foundation
Now through June 5Stabilize the on-page integrity of the existing site, fix the broken pieces (404s, hello-world, version exposure), claim disambiguation against same-name public figures, install measurement infrastructure, and own the high-intent searches voters will run before early voting opens.
- Every existing page rendered with the search engine context that lets it rank, including the candidate's first name in every title tag.
- A dedicated voter-information presence claims peak-intent traffic before early voting opens on June 11.
- A standing comparison page defines the five-way primary in the campaign's terms.
- Person schema with disambiguatingDescription resolves the same-name confusion with public figures the candidate does not control.
- AI engines recognize the campaign site as the canonical source for the candidate's positions, not Ballotpedia or news media.
- Measurement infrastructure (GA4, GTM, Meta Pixel) is in place so every dollar of paid spend is attributable from day one.
- A press kit URL, downloadable bio, headshot, and dedicated press email exist before the campaign needs them.
- FEC and Maryland State Board of Elections disclaimers are surfaced on every page, closing a compliance exposure.
Penetration
June 6 through June 23Move the campaign into the searches voters actually run in the final stretch, capture late-deciding voters in a crowded primary, consolidate entity recognition across AI engines, and unify the campaign's voice across every social platform.
- A consistent news cadence keeps the campaign fresh in algorithmic eyes and visitor perception.
- Issue-level depth secures rankings on the policy questions PGC voters research, with the 'East Coast Silicon Valley' framing as a signature pillar.
- Endorsement and credibility signals are surfaced where undecided voters look for them, before primary day.
- Spanish-language presence reaches the bilingual voters every other candidate in the field has ceded.
- FAQ schema and declarative content position the campaign as the answer when voters ask an AI assistant about the race.
- Social profiles speak in one coordinated voice across Facebook, X, Instagram, LinkedIn, YouTube, and TikTok, with unified handles where platforms permit.
- Newsletter and email capture compound the campaign's owned audience daily through primary day.
Durability
June 24 through the 2030 cycleConvert the primary win into a durable digital presence that anchors a four-year term as County Executive across search engines, answer engines, local discovery surfaces, and the moments of pressure that decide close re-elections.
- Municipality-level pages outflank media coverage on geo-specific PGC searches across Upper Marlboro, Bowie, Hyattsville, Largo, College Park, Laurel, and beyond.
- Third-party authority (Maryland Matters, Washington Informer, dbk News, Ballotpedia, Wikipedia, Knowledge Panel) anchors the candidate as the credible County Executive across every modern surface.
- Local presence (GBP, Apple Maps, Bing Places, NextDoor, municipal engagement) saturates the discovery surfaces voters use to navigate their own neighborhoods.
- Full accessibility remediation closes ADA exposure and broadens the voter reach into communities the campaign has not yet won.
- Crisis infrastructure is hardened: rapid-response URL, statements library, defensive domain variants, SMS protocol, same-name disambiguation defense.
- Performance optimization (WebP, lazy load, preconnect, deferred JS) lifts the speed sub-score into competitive territory and supports paid-traffic conversion.
- The campaign's online presence reads, by November and into the 2030 cycle, as the institutional equal or better of the county-government's own page across Google, the AI answer layer, every social platform, and every local map.
The Reality
Every dollar this campaign spends on social media, mailers, flyers, paid ads, door-knocking, or voter outreach assumes one thing: that when a voter actually researches the candidate, what they find reinforces the message. If that research surface is broken, and across sixteen sections this audit shows it is, those dollars do a fraction of the work they should. A Facebook ad that drives traffic to a site without conversion tracking generates fundraising volume and zero attributable insight. A mailer that prompts a voter to look up the candidate sends them to a site whose homepage title does not contain his first name. A canvass conversation that ends with 'check out the site' competes with a search engine that thinks the candidate might be a former NFL player. This is the hamster wheel. Velocity without compounding. Activity without leverage.
This audit is not a tactical to-do list. It is a description of the foundation every other marketing investment will sit on top of. The work in Phases I through III does not replace social media, advertising, direct mail, or field operations. It makes those investments work. Without this foundation, the campaign spends harder and converts less, and the gap between dollars in and votes out widens with every cycle of activity. With it, every channel compounds.
One dimension this audit deliberately did not address, because it warrants its own engagement, is the candidate's professional online presence. Voters who take a candidate seriously do not stop at the campaign site. They look at LinkedIn. They look at CREWSING Technologies, the candidate's existing tech-services firm with its own SERP, GBP, OVOU digital-card profile, and decade-plus of online history. They look at coverage from prior cycles (the 2024 U.S. Senate run is the dominant biographical record online today). They look at personal social profiles that predate the candidacy. Today, those surfaces have not been deliberately aligned with the campaign's story. A voter who reaches LinkedIn finds a CGIT executive. A voter who reaches the campaign site finds a Democratic candidate for County Executive. They are the same person. The two narratives have not been merged. This is an unaddressed alignment problem and a quiet credibility risk that becomes audible the day a reporter, an opponent, or an undecided voter starts looking past the homepage.
Given the depth of execution, $52,000+ is a very conservative market value for this scope. Everything described in this report sits within Integrity Agency's scope to deliver, in partnership with Nexcite. Where specialist hands are required: campaign counsel for FEC, Maryland State Board of Elections, and TCPA compliance review, a Wikipedia editor for the encyclopedic article, and formal accessibility certification.
We front-end load the value.
This document was prepared by Integrity Agency in partnership with Nexcite Entertainment. Volumes and difficulty estimates are directional and calibrated to publicly available Prince George's County search data. The candidate's professional online presence (LinkedIn, CREWSING Technologies, prior-cycle coverage, personal social profiles) is not covered in this report and is recommended as a separate engagement.
Social & Cross-Channel
How the campaign coordinates across platforms voters live on. A campaign that speaks in one voice across six channels is harder to dismiss than one that exists as six disconnected accounts.