Site map
Every page on this site, grouped by section, with a one-line summary of each. Search engines read the same list in sitemap.xml, and AI tools in llms.txt.
Main pages
- Experienced help for the digital work your business needs done: Chris Abraham diagnoses web problems, directs developers, and builds with OpenAI Codex and Claude Code. Consulting, automation, and SEO from Gerris Corp.
- Services: Every Gerris service: fractional technical lead, developer specs, AI automation, project rescue, technical SEO, site speed, migrations, AI search, and more.
- Guides: Plain, current guides by Chris Abraham to technical SEO, Cloudflare, Core Web Vitals, AI search, migrations, analytics, and email, and the fix for each problem.
- Case studies: Anonymized case studies from Chris Abraham: JavaScript rendering failures, migrations, developer specs, app takeovers, multi-location schema, and data cleanup.
- About Chris Abraham: Chris Abraham has built websites since 1994, worked at New Media Strategies and Edelman, and runs Gerris Corp, founded in 2012, from Arlington, Virginia.
- What I can take on in your stack, layer by layer: Every layer of a website Chris Abraham works in, from Linux servers and DNS to repositories, build pipelines, rendering, schema, and data, with proof for each.
- Work with me: How engagements with Chris Abraham work: a paid diagnostic first, then implementation, migration reviews, advisory, or support, all tracked in writing.
- Frequently asked questions: Practical answers about working with Chris Abraham at Gerris Corp: how projects start, timelines, payment, access, platforms, and confidentiality.
- Editorial standards: How Chris Abraham writes the guides and case studies on gerriscorp.com: firsthand work, cited documentation, checked AI drafts, anonymous clients, corrections.
- Colophon: How gerriscorp.com is made: the water strider logo by Oliver Uberti, a Plone inspired design, a Python generator, GitHub Pages, and checks every page passes.
- Contact: Email Chris Abraham at Gerris Corp with your site, the problem, and your budget, or call or text. Every engagement is scoped in writing before work starts.
- Privacy: How gerriscorp.com handles your information: Google Analytics for visit statistics, no advertising or tracking cookies in the UK and EU, and email you send me.
- Index: an A to Z list of the people, companies, tools, and problems the site covers, each linked to its pages.
Consulting and technical direction
- Fractional technical lead: Chris Abraham owns your web stack part time: diagnoses problems, writes specs, directs developers and vendors, ships fixes, and reports in plain English.
- Developer specs and implementation QA: Chris Abraham turns a diagnosis into a prioritized developer spec with evidence and acceptance criteria, then verifies on the live site that the fix shipped.
- Agency partner and white-label support: Chris Abraham works inside agencies' client relationships as a technical SEO and AI search specialist, under NDA, in your Basecamp, with your branding.
- Project rescue, takeovers, and legacy migrations: Chris Abraham takes over stalled or inherited web projects: inventories code, servers, accounts, and DNS, stabilizes them, and moves sites off dead software.
- AI agents and automation, built safely: Chris Abraham builds AI tools with OpenAI Codex and Claude Code: reviewed actions, tests, secrets outside Git, and backups with a tested restore path.
- Data cleanup and AI-output audits: Chris Abraham cleans and dedupes contact lists and CRMs with Python, and audits AI-generated spreadsheets for fabricated or wrong data before you rely on them.
- Analytics and measurement you can trust: Chris Abraham audits GA4 and Search Console data, removes ghost traffic, fixes conversion tracking, and explains what your numbers can and can't actually prove.
- AI use policy and staff training: Chris Abraham learns how your staff already use AI, writes a two-page policy they will follow, picks the approved tools, and trains the team with real examples.
- Strategic advisory and briefings: Chris Abraham advises founders and executives on AI, search, reputation, and technology, and writes second opinions on rebuilds, migrations, and vendor plans.
- AI workflow testing and acceptance reviews: Test an AI pilot against real tasks before expanding it. Chris Abraham checks outputs, permissions, failure handling, and evidence with a repeatable test set.
- B2B catalog SEO for manufacturers and distributors: B2B catalog SEO for manufacturers and distributors: product specifications, part discovery, crawlable templates, and quote paths tested on a focused pilot.
Search and site performance
- Technical SEO forensics and fixes: Chris Abraham diagnoses traffic drops, indexing problems, slow pages, and redirect errors with evidence, then works with your developers until the fixes ship.
- SEO engineering for sites built in code: On sites built in code, titles, canonicals, sitemaps, redirects, and schema are code. Chris Abraham writes them, tests each build, and checks the release.
- Content the crawler never sees: Pages that look complete to visitors and empty to Google and AI crawlers: how Chris Abraham finds the cause on Magento, WordPress, and React sites.
- SEO for large and programmatic sites: Chris Abraham manages crawling and indexing on large and programmatic sites: segmented sitemaps, parameter URLs, index bloat, internal linking, and quality.
- E-commerce SEO: templates, catalogs, and product data: Chris Abraham fixes ecommerce SEO at the template level: product data, duplicate URLs, faceted navigation, product schema, rendering, and migrations.
- On-page SEO: Chris Abraham makes each page say plainly what it covers: titles, descriptions, headings, internal links, images, and structured data, written and published.
- Site speed, Core Web Vitals, and Cloudflare: Chris Abraham makes sites fast on real phones: Core Web Vitals, image and script optimization, caching, and Cloudflare CDN setup, rules, and redirects.
- WordPress care: caching, hardening, or moving off: For WordPress sites that are slow, exposed, or costly to keep: Cloudflare page caching, hardening for what the cache can't shield, or a move to static pages.
- Website accessibility remediation: Chris Abraham fixes the accessibility barriers in your website templates, tests with keyboards and screen readers, and documents the work for ADA and EAA.
- Google Search Console setup, cleanup, and indexing fixes: Chris Abraham sets up Google Search Console and Bing Webmaster Tools properly, reads the indexing reports, and fixes the problems they reveal, page by page.
- Website migrations: Chris Abraham helps you change platforms, domains, or URL structures and keep your search visibility, with URL inventories, 301 redirect maps, and checks.
- AI search visibility: How ChatGPT, Claude, Gemini, Perplexity, and Google AI Overviews describe your business, where those answers come from, and the work that improves them.
- Your customers meet an AI answer before they meet you. I help you check whether it names you.: Gerris audits how AI answers describe your business, corrects the sources they rely on across Google, ChatGPT, Perplexity, and Gemini, and measures monthly.
- Fact-checked writing in your voice: I write articles, essays, and pages in your voice with AI, then check every name, date, number, and quote against its source and report what I changed.
- Site indexes and glossaries: Chris Abraham builds a hand-made A to Z index and a plain-language glossary for content-heavy websites, so readers, crawlers, and AI tools can find every topic.
- Podcast websites, built and run for you: I build a podcast a website it owns: every episode on its own page with a transcript, generated from the RSS feed, hosted free, and refreshed every morning.
- Ongoing SEO and website support: A set amount of experienced help each month from Chris Abraham: SEO fixes, publishing, Search Console monitoring, troubleshooting, and developer coordination.
- Internal linking strategy and implementation: Connect your website's services, articles, products, and case studies with an internal linking plan: crawl evidence, clear anchors, and verified changes.
Local, reputation, and email
- Multi-location and connected businesses: Chris Abraham untangles multi-location brands and sister businesses: entity structure, location pages tied to Google profiles, service areas, and schema.
- Reputation and perception management: Discreet perception management from Chris Abraham: search results, data broker removal, AI answers, and monthly reporting for founders and executives.
- Google Business Profile hard cases: Suspended, unverifiable, or split Google Business Profiles: Chris Abraham starts with a written diagnostic and then scopes any appeal as its own step.
- Email authentication and DNS: Chris Abraham sets up SPF, DKIM, and DMARC, diagnoses deliverability, consolidates domains, and moves DNS and hosting without breaking email or search.
- Domain portfolio audit: Chris Abraham inventories every domain a company holds, moves each into a company-owned account, locks it down, and documents renewals, DNS, and access.
Guides
- Turn an SEO audit into developer tickets that get shipped: Turn SEO findings into specific developer tasks with evidence, scope, acceptance criteria, release checks, and a clear owner for the business decision.
- How to fact check a confident AI answer about SEO before you act on it: A claim by claim method for checking polished AI answers about SEO, using a real exchange about brand names in page titles and what the evidence supports.
- How to measure AI search citations, referrals, and actual leads: Build an honest AI search report that separates citations, referral visits, and leads using Bing Webmaster Tools, GA4, repeatable checks, and clear limits.
- Citation gap analysis: finding the sources AI cites instead of you: Collect the pages AI assistants cite when they name your competitors, sort them by type, and turn the ones that leave you out into a ranked outreach list.
- How to write a content brief for pages AI search will quote: A one page brief that fixes the question, answer, evidence, and limits before anyone writes, so the finished page answers first and holds up when quoted.
- Your public GitHub README is a source AI search reads: AI assistants with web search read public repositories and quote README files as fact. Keep the README current, point it to the live site, and keep secrets out.
- Speculation rules: make the next page open instantly in Chrome: One script tag tells Chrome to fetch a page while the reader decides to click. How prefetch and prerender differ, which eagerness to pick, and what to exclude.
- IndexNow, Bing, and a practical AI search workflow for fall 2026: Build a reliable publishing workflow for AI search with IndexNow, Bing Webmaster Tools, tested deployments, full-text feeds, and measurable checkpoints.
- How AI assistants decide what to say about your business: Where ChatGPT, Claude, Gemini, Perplexity, and Google AI Overviews get their answers about a business, which crawlers feed them, and what you can do about it.
- When a Customer Asks for the Best, a Machine Answers: Google's AI Overviews now answer most review searches. What the machines say about untended businesses, and the audit, sprint, and measurement that fix it.
- How to tell if JavaScript is hiding your content from Google and AI: A practical test for JavaScript SEO: compare raw and rendered HTML, check Search Console, find content that needs a scroll or click, and fix it on the server.
- React hydration errors and what they mean for SEO: What React error 418 and other hydration mismatches are, why Google usually still indexes the page, what they cost in speed and analytics, and how to find them.
- How to give an outside SEO safe access to your code repository: A safe setup for letting an SEO consultant into your GitHub or GitLab repository: one repo, the Read role first, reviewed pull requests, and no secrets.
- A Next.js SEO checklist for the App Router: A Next.js App Router SEO checklist: metadata, canonicals, title templates, streamed metadata, sitemap.ts, robots.ts, 308 redirects, real 404s, and schema.
- How to add SEO regression tests to your website's build: Automated SEO checks that run on every build and pull request: titles, descriptions, canonicals, noindex, schema, sitemaps, headings, and links, with examples.
- Traffic fell after a site migration: how to find what broke and get it back: A recovery plan for a website migration that lost search traffic: rebuild the old URL list, test every redirect, compare old and new pages, and fix in order.
- The SEO tools for a website migration, and the job each one does: The tools that carry a website migration safely: crawlers, Search Console, redirect testing, crawl comparison, and analytics, with the job each one does.
- Diagnosing Core Web Vitals with MCP and an AI coding assistant: How to diagnose LCP, INP, and CLS with an AI coding assistant through MCP: Chrome DevTools traces, real-user CrUX data, and Screaming Frog at scale.
- How to get your email off a blocklist and back into the inbox: A recovery plan for a small business whose email lands in spam or bounces: find the listing, fix the cause, request removal, and rebuild your reputation.
- "Crawled, currently not indexed": what it means and how to fix it: What Google Search Console's Crawled, currently not indexed status means, how it differs from Discovered, and a step-by-step method to find the real cause.
- The website migration SEO checklist: A step-by-step website migration SEO checklist: URL inventory, 301 redirect map, template review, launch day checks, and the weeks of monitoring after.
- SPF, DKIM, and DMARC for every domain that sends email: What SPF, DKIM, and DMARC records do, example records, the Gmail, Yahoo, and Microsoft sender requirements, and how to reach DMARC enforcement safely.
- How to remove your personal information from data brokers and search: How data brokers and people search sites get your information, how to opt out, how Google Results about you works, and what California's DROP changes.
- How to diagnose a Google traffic drop in Search Console: A step-by-step method for finding why organic traffic fell: confirm the drop is real, isolate pages and queries, check updates and indexing, and name the cause.
- When two problems hit at once, keep them on separate tracks: When a traffic loss has two causes, one blended story produces the wrong fix. How to split the evidence, test each cause alone, and join them only on proof.
- Deleting hundreds of location pages: why core rankings fall, and the fix: What happens when a site prunes hundreds of city or area code landing pages: why core pages can drop, how to decide each URL's fate, and how to recover.
- The year-end SEO check: one afternoon that protects next year: A one-afternoon year-end SEO check for small and midsize sites: indexing, sitemaps, analytics retention, domains and certificates, listings, and AI answers.
- Canonical tags: how Google chooses which URL to index: How rel canonical works, why Google sometimes overrides it, the Search Console statuses that reveal canonical problems, and the mistakes that misdirect signals.
- How robots.txt works, and the mistakes that cost traffic: How robots.txt rules are matched, why a Disallow rule still lets pages be indexed, how to handle AI crawlers, and how to test robots.txt changes before launch.
- Structured data in 2026: which schema markup is worth adding: Which schema.org markup still earns rich results in Google, which types were retired, how JSON LD helps search engines and AI understand entities, and testing.
- How to plan 301 redirects that keep your rankings and links: Which redirect to use, how to map old URLs to new ones, where to implement redirects on common platforms, how to test them, and how long to keep them live.
- Faceted navigation SEO: filters, parameters, and crawl budget: How product filters create millions of crawlable URLs, when crawl budget becomes a real problem, and how to decide which filter pages deserve to be indexed.
- hreflang for English-language sites serving the US, UK, Canada, and Australia: When an English language business needs hreflang for the US, UK, Canada, Australia, Ireland, and New Zealand, how to write the tags, and errors that void it.
- Core Web Vitals explained: LCP, INP, CLS, and the fixes that work: What Google measures with Largest Contentful Paint, Interaction to Next Paint, and Cumulative Layout Shift, how to read field data, and the fixes for each one.
- Cloudflare settings that help or hurt SEO and AI crawlers: The Cloudflare settings that decide whether Googlebot, Bingbot, and AI crawlers can reach your site, plus the caching, HTTPS, and redirect choices that help.
- What Cloudflare's cache leaves exposed on a WordPress site: Full-page caching keeps most visitors away from WordPress and MySQL. Here is the traffic that still reaches your server, and how to harden each path it takes.
- Google Consent Mode v2 for GA4: a practical setup guide: What Consent Mode v2 controls in GA4 and Google Ads, how basic and advanced mode differ, how to set regional defaults, and how to check that it really works.
- Why business email lands in spam, and how to find the cause: How to find out why legitimate business email lands in spam or bounces: authentication results, reputation, blocklists, content, list hygiene, and tools.
- How to use AI coding assistants on a business website safely: A practical workflow for OpenAI Codex, Claude Code, and GitHub Copilot on business websites: written specs, project context, automated checks, and human review.
- How to vet an AI vendor's pitch before you sign anything: Twelve questions that expose AI washing in a vendor pitch, the SEC and FTC cases that define it, and why a technical skeptic belongs on the sales call.
- How to hire and manage developers when you can't read code yourself: A founder's method for hiring web developers: own the accounts first, interview for judgment, pay for a trial task, review pull requests, and manage AI use.
- Hype or real shift? Eight tests for judging a new technology wave: Eight tests for telling a lasting technology shift from a hype cycle, drawn from online communities, blogs, social media, crypto, and the AI wave of 2026.
- Repositories plus super intelligence: the SEO superpower nobody told you to learn: Repositories and AI coding assistants help SEOs ship fixes. How Git, OpenAI Codex, Claude Code, and GitHub Copilot connect search findings to changes in code.
- Build a podcast website with Codex or Claude Code, GitHub Pages, and Cloudflare: Build a podcast website with OpenAI Codex or Claude Code, GitHub Pages, and Cloudflare: a page for every episode, stable links, and daily feed updates.
- The state of search in 2026: every Google update so far, and the AI shift behind them: Every 2026 Google core and spam update with dates, the new spam rule against manipulating AI answers, what Bing and ChatGPT now report, and what to do now.
- Ranking yourself first in a "best of" list now backfires in AI answers: How self-ranked best agency lists came to steer AI answers, why Google, Anthropic, and the data now push back, and what earns a real AI recommendation instead.
- SEO 101: a first principles primer for any website: SEO from first principles for absolute beginners: how search works, people-first content, E-E-A-T, titles, links, alt text, speed, and accessibility.
- Podcast SEO: get every episode found in Google and AI search: How to make podcast episodes findable in Google, Bing, and AI answers: episode pages on your own domain, transcripts in the HTML, schema, and alt text.
- Starting a podcast to build your brand: what it really takes: What a podcast does for a personal or business brand, the commitment behind it, and the cheap gear and AI tools that take the friction out of every episode.
- Lynx for website QA: text browser checks before every launch: How to use the Lynx text browser to check content, links, and noindex tags across a whole site before launch, plus online options for teams without a terminal.
- ADA website compliance for businesses: lower risk, better SEO: What the ADA expects of business websites, the six fixes that cover most of the risk, what to skip, and why the same work improves search, AI answers, trust.
- Glossary of SEO, AI search, and technical website terms: Plain definitions of technical SEO, AI search, site speed, and email terms: AEO, GEO, canonical tags, Core Web Vitals, DMARC, IndexNow, llms.txt, and many more.
- Test an AI pilot with the work it is supposed to do: Turn an AI demonstration into a testable pilot: real examples, expected results, permissions, retries, failure records, and a decision your team can explain.
- A website handover needs more than a zip file and a password: A website handover checklist for owners: account control, reproducible builds, hosting, DNS, data, backups, renewals, and proof a new maintainer can operate it.
- B2B catalog SEO: help the right buyer choose the right part: Help technical buyers find specifications, compare parts, and request a useful quote. A B2B catalog SEO guide with a pilot and measurement plan.
- Podcasting as an investment in being found by AI search: A podcast is an asset that keeps paying. Each episode's notes are copied word for word by hundreds of directories, and AI answers quote them for years to come.
- Your Google business reports are getting a new scoreboard: Google is testing rebuilt performance reports for business profiles, with five new sections. I explain what each one tells an owner and what to check monthly.
- How to vet an influencer or creator before your brand pays them: A provenance check for creators before a sponsorship: the archive, the audience, the disclosures, the claims, and what the FTC holds the brand responsible for.
- How to freeze an old website as static HTML without losing a single link: Retire a website stuck on a dead CMS without losing its links: count every URL, keep addresses exactly, handle feeds and query strings, and cut over safely.
- Build a website incident timeline before changing code: Reconstruct a website failure with dated observations, release records, cache checks, and competing explanations before choosing the next repair to make.
- The European Accessibility Act for US companies: Since June 28, 2025, sites selling to EU consumers must meet the European Accessibility Act. Who it covers, the microenterprise exemption, and what to fix.
- Domain security: the registrar account comes first: Who holds the login to your domain decides who controls your website and email. Registrar locks, Registry Lock, two-factor access, and DNSSEC, in order.
- Website restore drills: A backup is only proven when you have restored from it. How I run a website restore drill, what to time and record, and the gaps it usually uncovers.
- How to write a company AI use policy: A practical AI use policy for a small company: approved tools, what data never goes into a chatbot, review before publishing, disclosure, and who owns it.
Case studies
- Magento store: product content Googlebot never saw: How Chris Abraham traced a Magento and Hyvä store's falling traffic to Alpine.js sections that never rendered for Googlebot, and kept two problems apart.
- WordPress media site: a consent banner hiding every article: A bilingual WordPress review site indexed on Bing but barely in Google: Chris Abraham traced it to consent blocking that left article tabs empty.
- React event platform: 2,000 pages Google couldn't reach: A Create React App event platform with 2,000 pages Google never found: Chris Abraham wrote a 13 page developer spec ranked P0 to P3 and verified the fixes.
- Clinical practice: WordPress to Netlify, with search intact: Migration oversight for a clinical practice leaving WordPress: redirect decisions for every URL, an AI-assisted repository analysis, and a careful disavow.
- Local service business on Sanity and Vercel: SEO in the repository: A local service business on Sanity and Vercel: Chris Abraham set SEO priorities, merged metadata changes through GitHub, and verified the prerendering.
- Specialty retailer: cleaning up after Squarespace to Shopify: A premium fly fishing store moved from Squarespace to Shopify and left 3,400 404s and duplicate URLs behind: a four part audit and theme schema work.
- Consumer brand: taking over a stalled React application: A consumer skincare brand's React application changed hands after an outage. Chris Abraham inventoried code, hosting, and DNS and fixed the server over SSH.
- Programmatic site: managing crawling and indexing at scale: A trading card price site of 20,000+ pages on an expired domain lost indexing after a strong start. How Chris Abraham manages crawling at scale.
- Health-testing store: recovering after an SEO plugin outage: A WooCommerce health testing store lost indexing, traffic, and AI referrals after its SEO plugin was briefly disabled: how the recovery was checked.
- Multi-location brand: untangling the parent from its first location: A custom closets brand with locations in several states and one website: Chris Abraham separated the parent brand from its first location in schema.
- Seasonal retailer: a staged plan around the peak: A multi store seasonal retailer with related sites and profiles: audit findings and a staged plan that keeps risky changes away from the peak season.
- Therapy practice: a suspended Google Business Profile reinstated: A hypnotherapy practice's suspended Google Business Profile, reinstated in February 2025 after Chris Abraham reviewed the listing and built a documented appeal.
- Two B2B companies on Umbraco: publishing and technical operations: Two B2B companies on Umbraco: 54 city landing pages and steady publishing for one, and a homepage overhaul with cache and template fixes for the other.
- AI company: search visibility for recruiting engineers: An AI company recruiting engineers in the Bay Area wanted to appear in AI answers about jobs. Chris Abraham audited its footprint and planned the fix.
- Contact data: three cleanups and an AI audit: Python pipelines that cleaned an 88,900 contact list, merged two 28,800 record exports at 94% email coverage, and caught an AI tracker inventing its data.
- A founder's public record: tracing AI errors to the pages behind them: AI answers about me got a founding year wrong, invented a company rename, and doubted a real award. Each traced to a page, and the archive settled the rest.
- Four static sites: a speed and AI crawler pass in one afternoon: Four static sites I own, measured with mobile Lighthouse, fixed in one afternoon, and measured again: analytics deferred, images resized, robots rules verified.
- Built with Codex and Claude Code: How Chris Abraham directs OpenAI Codex and Claude Code, with original Claude Code builds of a tested assistant, a legacy blog migration, and this website.
Files for machines
- sitemap.xml: the XML sitemap for search engines.
- llms.txt: a plain summary of the site for language models, linking to Markdown versions of every page.
- llms-full.txt: the full text of the site in one file.
- feed.xml: an Atom feed of the guides. RSS is available at rss.xml.
- robots.txt: crawler rules; every search engine and AI crawler is welcome.
Updated
