CPFS · SEO & GEO Playbook

Findability and AI-search strategy

Website rebuild project · Shopify build · centuryfoodsolutions.com

Version 1.0 Prepared by Savage AdFox Inc. Date May 2026
i
How this playbook was built

This playbook is grounded in the CPFS brief, the current centurypacificfoodservice.com footprint, and a fresh competitor and SERP scan across the PH foodservice category (Unilever Food Solutions PH, Ajinomoto Cookmunity, San Miguel's Great Food Solutions, MSCS PrimeGoods, Mega Global, Dimax).

Documented: Audience segments, three pillars, three page templates, 6 product categories, schema intent on recipes. Researched: Keyword tiers, competitor SERP gaps, GEO/AIO baseline, schema markup specs. Proposed (pending validation): Specific keyword targets per page and outreach angles; these should be reviewed with CPFS marketing before lock.

Own "foodservice solutions" before owning "foodservice supplier"

The brief's third pillar is INCREASE REACH, and SEO sits at the centre of it. Today, the SERP for "tuna supplier Philippines foodservice" is dominated by distributors (MSCS PrimeGoods, 5S Distributors, Mega Global). For chef-led recipe content, Unilever Food Solutions and Ajinomoto's Cookmunity own most of the consumer-facing real estate.

CPFS isn't a distributor and isn't a consumer recipe blog. The opportunity is to claim the gap in the middle: "foodservice solutions" – a partner that supplies branded ingredients, supports menu development, and scales with the operator. That's the position the new architecture, schema, and content programme are built to win.

01 / ELEVATE
Recipe content for inspiration
Recipe schema, structured ingredients and procedures, linked to the CPFS SKUs that make each dish work at FS scale. This is the top-of-funnel and the GEO play.
02 / SCALE UP
PDPs for procurement
Product schema with case config, yield, dilution, shelf life. Built for chefs and procurement leads making sourcing decisions. The high-intent layer.
03 / INCREASE REACH
Solutions hub + commerce
Service pages for customisation, co-creation and partnership. The high-value, low-volume B2B query layer where CPFS can dominate quickly.

A quick scan of the current centurypacificfoodservice.com site and the new SERP landscape:

SignalStatus todayPriority for v1
Brand keywordsRanking well for "Century Pacific Foodservice" and brand-name SKUs (Century Tuna, 555, Argentina, Birch Tree, Coco Mama)Protect
Category keywordsWeak. Distributors and aggregators outrank CPFS for "tuna supplier Philippines", "foodservice supplier Manila"Aggressive target
Recipe SEORecipes exist but no Recipe schema, weak headings, generic titlesRebuild
B2B intent terms"Customisation", "co-branding", "private label" mentioned on About page but no dedicated landing pagesCreate pages
AI search citationsNot appearing in ChatGPT / Perplexity / Google AIO answers for "best foodservice supplier Philippines"GEO programme
Domain consolidationThree new domains planned: .com, .ph, .com.ph301 strategy needed
Four-tier keyword model
Keywords are organised by intent and competitiveness. Tier 1 protects brand and SKU searches CPFS already wins. Tier 2 targets long-tail B2B queries where strong on-page SEO and structured data can put CPFS on page 1 quickly. Tier 3 targets medium-competition category terms dominated by distributors and aggregators. Tier 4 captures inspiration and how-to queries that feed AI Overviews and the GEO programme.
Tier 1 - Already ranking
Queries where CPFS should rank #1. The migration plan must preserve every URL with current rankings and 301 the rest cleanly.
century pacific foodservice century pacific food solutions cpfs foodservice century tuna foodservice 555 sardines foodservice blue bay tuna institutional argentina corned beef foodservice birch tree powdered milk wholesale coco mama coconut milk foodservice unmeat plant based foodservice hunt's tomato sauce foodservice angel evaporated milk wholesale
Tier 2 - Target aggressively
Long-tail queries with low competition and high commercial intent. These are the wins. Strong on-page SEO and schema put CPFS on page 1 within the first 3-6 months.
Keyword Target page Intent
foodservice tuna supplier philippinesHome / Marine categoryTransactional
institutional canned tuna philippinesMarine / Blue Bay PDPTransactional
bulk corned beef supplier restaurants phMeat / Argentina PDPTransactional
coconut milk for restaurants philippinesCoconut / Coco Mama PDPTransactional
plant based meat supplier philippinesPlant-Based / unMeat PDPTransactional
wholesale powdered milk for cafesMilk / Birch Tree PDPTransactional
private label canned goods manufacturer phSolutions / CustomisationTransactional
co-manufacturing food philippinesSolutions / Co-creationTransactional
foodservice supplier for hotels manilaSolutions / HotelsTransactional
commissary food supplier philippinesSolutions / CanteensTransactional
halal certified tuna supplier philippinesMarine + certifications pageTransactional
tomato sauce wholesale food business phTomato / Hunt's PDPTransactional
case config tuna for restaurantsMarine PDPsInformational
Tier 3 - Compete via schema + authority
Dominated by distributors (MSCS, 5S, Dimax), San Miguel's Great Food Solutions, and aggregators like Alibaba. CPFS won't outrank them on link authority alone, but strong product schema, certification signals, and a clear FS positioning can win the rich-result spots in the SERP.
tuna supplier philippines foodservice supplier manila food distributor philippines restaurant supplier philippines canned goods supplier philippines hotel food supplier ph b2b food supplier philippines wholesale food supplier metro manila filipino food brands wholesale
Tier 4 - Feed AI search engines
CPFS won't dominate ranking #1 for "Filipino pork recipes" (Cookmunity, Panlasang Pinoy, Kawaling Pinoy do). But foodservice-scale recipe content with proper Recipe schema can earn citations in Google AI Overviews, ChatGPT, and Perplexity when those engines answer questions like "what's a high-margin tuna dish for a canteen menu". This is the GEO play.
tuna pasta recipe for canteen bulk corned beef recipes restaurant coconut milk recipes filipino menu plant based ulam restaurant menu profitable canteen menu philippines commissary recipe yield calculation food cost calculation filipino restaurant how to scale a recipe for catering filipino hotel breakfast menu ideas canteen menu cycle planning food business startup philippines supplier
Title tags are the single highest-impact on-page signal. Every template uses a fixed formula so titles stay consistent, keyword-rich, and within Google's ~60 character limit.
Page Formula Example
Home [Brand] · [Primary Position] · [Locale] Century Pacific Food Solutions · Foodservice Partner · Philippines
Category [Category] for Foodservice · [Brand] Marine Products for Foodservice · CPFS
PDP [Product Name] · [Pack Size] · CPFS Blue Bay Tuna Flakes in Oil · 6 × 1.7kg Case · CPFS
Recipe [Dish Name] · [Yield] Recipe for Foodservice Tuna Carbonara · 10-Serving Recipe for Foodservice
Solutions [Service] for [Audience] · CPFS Private Label Manufacturing for Food Brands · CPFS
News/Blog [Article Title] · CPFS Insights Menu Engineering for Profitable Canteens · CPFS Insights
Meta descriptions don't directly affect rank but they drive CTR from the SERP. Stay under 155 characters. Lead with the value, end with a soft CTA. No corporate language.
PageExample meta description
Home From inspiration to purchase. CPFS partners with hotels, restaurants, canteens and emerging food businesses across the Philippines. Explore the range.
Marine category Foodservice tuna, sardines and marine products built for case-config buying. Yield, dilution and shelf life on every PDP. Browse Century Tuna, 555 and Blue Bay.
PDP Blue Bay Tuna Flakes in Oil. 6 × 1.7kg case. Yields up to 30 servings per can. 36-month shelf life. Request a foodservice quote.
Recipe A 10-serving Tuna Carbonara built for canteen menus. Costed per serving, scalable to 50. Featured CPFS SKUs and full procedure inside.
Solutions Private label, co-manufacturing and co-branding for food businesses. We customise formulation, packaging and labels. Talk to our team.
Every page uses one H1 (the page subject), with H2s scoped to the structured sections and H3s for sub-blocks. This is non-negotiable for accessibility, for SERP snippets, and for AI search engines to parse content cleanly.
Home: H1 = positioning headline. H2s = featured recipes, product spotlight, solutions, latest news, audience
Category: H1 = "[Category] for Foodservice". H2s = brand groupings (e.g. Tuna brands, Sardine brands)
PDP: H1 = product name. H2s = description, case config & yield, dilution, allergens, suggested recipes
Recipe: H1 = dish name. H2s = ingredients, procedure, featured CPFS SKUs, related recipes
Solutions: H1 = service name. H2s = how it works, what we customise, who it's for, talk to us
Image alt text serves accessibility first, search second. Write what's in the frame, not the keyword you want to rank for. Filenames should be human-readable.
AssetFilename patternAlt text pattern
Product pack-shot[brand]-[product]-[size].webp"[Product name], [pack size]"
Recipe hero[dish-name]-foodservice.webp"[Dish] plated at portion size for foodservice"
Hero bannercpfs-[campaign]-hero.webpDescribe the scene, not the campaign
Brand logo[brand]-logo.svg"[Brand name] logo"
Structured data is the difference between ranking and being cited

The brief explicitly calls out Schema.org markup on recipes. We extend that to every template. Schema is what turns a flat page into a SERP rich result and, crucially, what AI engines parse when deciding whether to cite a page in an answer.

Every template ships with JSON-LD blocks injected via Liquid. Marketing never edits schema by hand; it's generated from metaobject fields on each product, recipe, or page.

TemplateSchema typesWhy
HomeOrganization, WebSite, BreadcrumbListBrand identity + sitelinks search box
CategoryCollectionPage, BreadcrumbList, ItemListSurface product groupings in SERPs
PDPProduct, Offer, BreadcrumbListPack size, availability, B2B pricing on request
RecipeRecipe, NutritionInformation, HowToStep, BreadcrumbListRecipe rich snippet eligibility, AIO citation
SolutionsService, FAQPage, BreadcrumbListService pages get rich descriptions; FAQ answers in SERP
AboutOrganization, FAQPageEntity-level signals for E-E-A-T
ContactContactPoint, LocalBusinessOffice locations, sales channels
Generated from the Recipe metaobject. Every recipe must have all required fields populated; the template should fail validation rather than ship incomplete data.
{ "@context": "https://schema.org/", "@type": "Recipe", "name": "Tuna Carbonara for Foodservice", "image": ["https://cdn.centuryfoodsolutions.com/recipes/tuna-carbonara.jpg"], "author": { "@type": "Organization", "name": "Century Pacific Food Solutions" }, "datePublished": "2026-07-01", "description": "A canteen-ready carbonara built on Century Tuna and Angel Evaporated Milk.", "prepTime": "PT10M", "cookTime": "PT20M", "totalTime": "PT30M", "recipeYield": "10 servings", "recipeCategory": "Main course", "recipeCuisine": "Filipino", "keywords": "foodservice, canteen, bulk recipe, tuna", "recipeIngredient": [ "1 × 1.7kg can Century Tuna Flakes in Oil", "500g pasta", "2 × 410ml Angel Evaporated Milk" ], "recipeInstructions": [ { "@type": "HowToStep", "text": "Boil pasta to al dente, reserve 200ml water." }, { "@type": "HowToStep", "text": "Drain Century Tuna, reserving 2 tbsp oil. Sauté garlic in reserved oil." } ], "nutrition": { "@type": "NutritionInformation", "servingSize": "1 plate" } }
Standard Product schema is built for B2C ecom. For CPFS we extend it to communicate foodservice-relevant fields (case config, yield, dilution, shelf life) in the description, and use Offer with "PriceSpecification" only where pricing is published; otherwise we use "askForPrice" semantics via a contact-point Offer.
{ "@context": "https://schema.org/", "@type": "Product", "name": "Blue Bay Tuna Flakes in Oil", "image": ["https://cdn.centuryfoodsolutions.com/products/bluebay-flakes-oil-case.jpg"], "description": "Institutional tuna flakes in oil. Case of 6 × 1.7kg. Yields approx 30 servings per can. Shelf life 36 months.", "sku": "BB-TF-OIL-1705", "brand": { "@type": "Brand", "name": "Blue Bay" }, "manufacturer": { "@type": "Organization", "name": "Century Pacific Food Solutions" }, "category": "Foodservice / Marine / Tuna", "offers": { "@type": "Offer", "availability": "https://schema.org/InStock", "businessFunction": "https://schema.org/Sell", "eligibleCustomerType": "http://purl.org/goodrelations/v1#Business", "url": "https://centuryfoodsolutions.com/products/blue-bay-tuna-flakes-oil#quote" } }
Lives in the theme layout, injected on every page. Critical for entity recognition by Google and for AI search engines that build knowledge graphs from structured data.
{ "@context": "https://schema.org", "@type": "Organization", "name": "Century Pacific Food Solutions", "alternateName": ["CPFS", "Century Pacific Foodservice"], "url": "https://centuryfoodsolutions.com", "logo": "https://centuryfoodsolutions.com/cdn/cpfs-logo.svg", "parentOrganization": { "@type": "Organization", "name": "Century Pacific Food, Inc." }, "sameAs": [ "https://www.facebook.com/centurypacificfoodservice", "https://www.instagram.com/cpfsofficial", "https://www.linkedin.com/company/century-pacific-food-solutions" ], "contactPoint": [{ "@type": "ContactPoint", "contactType": "sales", "areaServed": "PH", "availableLanguage": ["en", "fil"] }] }
FAQ sections on Solutions and About pages get FAQPage schema. This is the cheapest, highest-ROI rich result to win in PH B2B SERPs because almost no competitor does it. Sample questions to seed: "Can CPFS do private label?", "What's the minimum order for customisation?", "Where do you deliver?", "Are your products halal certified?", "Can you support new menu development?"
The brief states site speed is non-negotiable. None of these items are optional; they're launch-blocking.
Single canonical domain chosen (recommend centuryfoodsolutions.com as primary, .ph and .com.ph 301 to it)
301 redirect map from centurypacificfoodservice.com to new domain, page-by-page
XML sitemap auto-generated and submitted to Google Search Console + Bing Webmaster
robots.txt explicitly allows GPTBot, PerplexityBot, ClaudeBot, Google-Extended (the GEO play)
All images served as WebP via Shopify CDN with automatic format negotiation
Lazy loading on below-fold images; hero images preloaded with <link rel="preload">
LCP target < 2.5s on 3G mobile (Lighthouse Performance score 90+)
Cumulative Layout Shift < 0.1; reserve space for all images and embeds
All internal links use clean Shopify URLs; no Liquid-generated query strings
Hreflang tags if .ph variant has Filipino content; otherwise canonical to .com
HTTPS everywhere with HSTS preload
Custom 404 page with search and category links (not a dead end)
Shopify locks the route prefix on every URL type. We can't ship /recipes/... or /for/hotels the way a Wordpress build could. Handles after the prefix are fully editable, so the SEO play is keyword-loaded handles within the constraints.
TemplateURL patternLocked or flexible
Homecenturyfoodsolutions.com/N/A
Category/collections/marine, /collections/coconutPrefix locked, handle editable
PDP/products/blue-bay-tuna-flakes-in-oil-foodservicePrefix locked, handle editable
Recipe/blogs/recipes/tuna-carbonara-for-canteensBlog prefix locked
Solutions sub/pages/private-label-manufacturing, /pages/co-creationPage prefix locked
Audience/pages/foodservice-for-hotels, /pages/foodservice-for-canteens-caterersPage prefix locked
News/blogs/news/[slug]Blog prefix locked
Handle conventions, not URL routes. The play is to load keywords into the editable part of the handle. /pages/foodservice-for-hotels reads as well in a SERP as a clean /for/hotels would, and Google weights the page handle far more than the route prefix. Audience landing pages are still a Tier 2 keyword play; we're just executing them as Shopify pages with keyword-rich handles.

The brief calls for recipes structured for Schema.org markup, with structured ingredients and procedures, linked to CPFS SKUs. Shopify gives us two options to deliver that, each with URL implications:

ApproachURLTrade-off
Blog "Recipes" + custom article template /blogs/recipes/[handle] Easiest to ship, native pagination, RSS feed. URL has the extra "/blogs/" segment.
Recipe metaobject + custom page template /pages/recipes/[handle] (via parent page) or /products/[handle] if treated as product More structured data control, harder pagination, custom Liquid required for listing pages.
Our recommendation: Blog-as-recipe with a custom article template. The URL trade-off (/blogs/recipes/...) is minor; Recipe schema is what wins rich results, not the slug. Pagination, tag filters and the "Related recipes" module are all faster to build natively on Shopify's blog object than on metaobjects.
Since the prefix is fixed, the handle is our keyword real estate. Rules for every editable slug:
Lowercase, hyphens only. No underscores, no special characters, no trailing slashes
3 to 6 words max. Long handles hurt CTR and look spammy in SERPs
Lead with the primary keyword. tuna-carbonara-for-canteens beats cpfs-recipe-tuna-carbonara
Drop stop words (the, a, of, for) unless they're part of the natural query
Match the user's search query, not the internal product name. Operators search "foodservice supplier for hotels" not "hotel solutions hub"
Lock the handle at launch. Changing slugs later requires 301 redirects and burns SEO equity

Internal links pass authority and tell crawlers what matters. The structure:

Home → Categories → PDPs: always 3 clicks or fewer to any product
Recipes → PDPs: every recipe links to its featured CPFS SKUs (the "Featured CPFS SKUs" block)
PDPs → Recipes: "Suggested recipes" reciprocates the link, building topical clusters
Audience pages → curated PDPs/recipes: each /pages/foodservice-for-[segment] deep-links the most relevant 8-12 SKUs
Solutions → contact form: every solutions page CTA links to the same /contact anchor for sales attribution
A site migration is where SEO equity dies if not handled carefully. The plan:
StepWhatWhen
1Crawl old site, export all URLs, current ranks via Search ConsoleWeek 1 of dev
2Map every old URL to a new URL or to "no equivalent" (then 301 to parent category)Week 2
3Build redirect rules in Shopify Liquid + URL Redirects adminWeek 4
4Test redirect map: zero 404s, zero chains, all 301 (not 302)Pre-launch
5Launch, then submit new sitemap to GSC same day; resubmit weekly for 4 weeksJuly 1
6Monitor GSC for 404s, rank drops; fix within 48hJuly–September
Generative Engine Optimisation

GEO is the practice of making content easy for AI search engines (Google AI Overviews, ChatGPT search, Perplexity, Claude, Gemini) to cite. Where SEO optimises for click-through from a ranked link, GEO optimises for being mentioned in the AI's answer itself, often without a click.

In the PH foodservice space, this matters because a chef typing "best canned tuna for canteen menus in the Philippines" into ChatGPT is no longer scrolling a SERP. They're reading an answer. CPFS needs to be inside that answer.

Prompt tests we ran against ChatGPT, Perplexity and Google AI Overviews in May 2026:
PromptWho gets citedCPFS status
"best foodservice supplier philippines"Great Food Solutions, MSCS, Mega Global, DimaxNot cited
"tuna supplier for restaurants philippines"Mega Global, MSCS PrimeGoods, 5S DistributorsNot cited
"where can I source canned goods for my new restaurant in manila"San Miguel, Unilever Food Solutions, generic Lazada/Shopee linksNot cited
"private label canned goods manufacturer philippines"Mostly generic B2B aggregatorsWide-open gap
"plant-based meat for foodservice philippines"Generic global brands, very little local contentunMeat could own this
The opportunity: there's no PH-specific authority on B2B foodservice content. The biggest brand in the category (CPFS) isn't being cited because there's no structured, citable content for AI engines to pull from. Building it is the GEO play.

Five rules that make content citable by AI engines:

Answer the question in the first sentence. AI engines extract the lede. Bury the answer and you don't get cited.
Use clear H2 headings as questions. "What's the case yield of a 1.7kg tuna can?" not "Yield calculation".
Cite primary sources and quote them. When CPFS has a stat, attribute it ("per our 2025 foodservice survey of 200 PH operators..."). AI engines prefer attributable claims.
Structured data on everything. FAQ, HowTo, Recipe schemas are the AI engines' shortcut to understanding a page.
One topic per page. AI engines reward depth over breadth. A 2,000-word page on "tuna pasta for canteens" beats a 5,000-word generalist food blog post.
Content pieceTarget promptPage type
Foodservice tuna guide "What's the best canned tuna for a restaurant in the Philippines?" Pillar page
Case yield calculator "How many servings does a 1.7kg can of tuna yield?" Interactive tool + FAQ
Plant-based menu builder "How do I add plant-based options to my restaurant menu?" Long-form guide
Canteen menu cost guide "How much does it cost to run a corporate canteen in Manila?" Long-form guide
Private label playbook "How do I start a private label food brand in the Philippines?" Long-form guide
Coconut milk applications "What can I use coconut milk for in a restaurant kitchen?" Recipe cluster + guide
Some brands block AI crawlers by default. For CPFS, the opposite: we explicitly invite them. Without crawler access, AI engines can't cite the content.
# robots.txt - centuryfoodsolutions.com # Allow all major AI search crawlers User-agent: GPTBot Allow: / User-agent: PerplexityBot Allow: / User-agent: ClaudeBot Allow: / User-agent: Google-Extended Allow: / User-agent: anthropic-ai Allow: / # Standard crawlers User-agent: * Allow: / Disallow: /cart Disallow: /checkout Disallow: /account Sitemap: https://centuryfoodsolutions.com/sitemap.xml
Two recipes a week, one guide a month

The brief flags recipes and content as central to the site. SEO ROI compounds, but only when you publish consistently. The recommended rhythm for year one:

CadenceWhatSEO purpose
Weekly × 2Foodservice recipes (Recipe schema, scaled portions, costed)Tier 4 capture, Recipe rich results, GEO citations
Monthly × 1Long-form guide or pillar page (1,500+ words)Tier 2 + Tier 3 ranking, internal link hub
QuarterlyFoodservice insights / trend report (gated lead magnet)Backlinks, thought leadership, lead gen
Ad-hocNews and announcements (new SKU launches, partnerships, expo recaps)Freshness signal, social distribution
Recipes are CPFS's biggest content asset. Every recipe must meet these criteria before going live.
Yields scaled for foodservice (10, 25, 50, 100 servings) - not consumer-scale
Featured CPFS SKUs called out by name and pack size - never generic ("tuna in oil" → "Century Tuna Flakes in Oil, 1.7kg can")
Cost per serving calculated and displayed - this is the operator's primary decision metric
Prep time, cook time, total time populated for Recipe schema
One hero shot at portion size matching foodservice scale, not a styled food-magazine plate
Related recipes module linking 3 other dishes using overlapping SKUs
"Request bulk pricing" CTA directly under the featured SKUs block
WeekRecipe dropLong-form / guide
W1 (July)Tuna Carbonara (10/25/50 servings); Argentina Beef Caldereta (canteen)Launch announcement + brand story
W2Coco Mama Laing for events; 555 Sardine pasta
W3unMeat Burger Patty menu rotation; Birch Tree milk tea base
W4 (Aug)Hunt's tomato sauce pizza base; Century Tuna kinilawPillar 1: Foodservice tuna buying guide
W5Angel evaporated milk dessert bar; Blue Bay tuna salad bowl
W6Argentina corned beef silog (canteen); Coco Mama curry
W7Wow! meatballs (catering); 555 sardines fried rice
W8 (Sept)unMeat giniling pandesal filling; Hunt's pasta sauces (3 variations)Pillar 2: Canteen menu cost engineering guide
W9-128 more recipes balanced across all 6 product categoriesPillar 3: Plant-based menu adoption for PH restaurants
A note on production: CPFS already has chefs and R&D in-house. The recipes already exist; what's missing is the SEO scaffolding around them. Our retainer (optional Php 20k/mo) covers the SEO production work: schema injection, alt text, meta descriptions, internal linking, and editorial QA. CPFS supplies the recipe content; we make it findable.
Metrics tree, top to bottom

SEO measurement is layered. Vanity metrics at the top, business metrics at the bottom. We report on all of them, but optimise toward the bottom.

LAYER 1 / TRAFFIC
Organic sessions
Total organic sessions, by landing page type (Home, PDP, Recipe, Solutions). Tracked in GA4.
LAYER 2 / RANK
Keyword positions
Position tracking for the Tier 1-3 keyword set. Tracked in Search Console + a third-party tool (Ahrefs / Semrush).
LAYER 3 / BUSINESS
Qualified leads
Quote requests and contact form submissions from organic traffic. Tracked in GA4 + CRM.
Realistic, not optimistic. Baselines are estimates from the current site; targets are 12 months post-launch.
MetricToday (est.)Month 6Month 12
Organic sessions / month~3,5008,00015,000
Tier 1 keywords ranking page 1~81215+
Tier 2 keywords ranking page 10-1512+
Recipe rich results in SERP02575+
Lighthouse Performance (mobile)~5590+90+
Quote requests from organic / month~51530+
AI search citations (sampled prompts)0~30% of prompts~60% of prompts
Weekly (first 8 weeks): migration health check - 404s, ranking shifts, page speed
Monthly: full SEO report - traffic, ranks, conversions, content performance, recommendations
Quarterly: GEO audit - prompt tests against the AI engines, citation rate review
Annually: strategy review and next-year plan with refreshed keyword tiers and content roadmap
ToolPurposeCost
Google Search ConsoleRank, indexing, technical issuesFree
Google Analytics 4Traffic, conversions, attributionFree
Bing Webmaster ToolsSecondary index coverageFree
Ahrefs or SemrushKeyword rank tracking, competitor analysis, backlink monitoring~Php 5-7k/mo
Schema validatorValidate JSON-LD on every new template releaseFree
PageSpeed InsightsCore Web Vitals monitoringFree
Prompt-testing logManual quarterly GEO audit across ChatGPT, Perplexity, Claude, AIOInternal

The optional Php 20k/month retainer covers the ongoing SEO and GEO work that's separate from the build itself:

Monthly SEO report against the targets above
Schema QA on new recipes and PDPs added by CPFS marketing
Quarterly GEO prompt audit and content recommendations
Search Console monitoring and issue triage
Editorial QA on the recipe pipeline (titles, meta, alt text, internal links)
Migration safety net for the first 90 days post-launch