Every page on easyhotelrfp.com must stay accurate, technically sound for structured data, and optimized for both traditional search engines and generative AI systems. This governance framework ensures nothing goes stale.
Every page on the site enters a quarterly review cycle. The cycle aligns with calendar quarters: January, April, July, October. Each review must be logged with date and reviewer initials.
| Quarter | Review Window | Deliverable |
|---|---|---|
| Q1 | 1 — 14 January | Full audit of all pages. Annual data refresh. Schema freshness check for every page. |
| Q2 | 1 — 14 April | Blog content accuracy review. Glossary term additions. OG image validation. |
| Q3 | 1 — 14 July | Mid-year statistics refresh. Competitive landscape check. Broken link scan. |
| Q4 | 1 — 14 October | Pre-peak-season content push. New page planning for next year. Schema type expansion review. |
dateModified matches the actual last edit dateDuring every quarterly review, run these schema-specific checks across all pages:
dateModified on every page matches the last meaningful content edit (not cosmetic CSS changes)sameAs URLs (LinkedIn, social profiles)@id references between pages to confirm they resolve correctly in the site-wide graphdateModifiedUpdate the dateModified field in JSON-LD when any of these occur:
Do not update dateModified for:
Evaluate adding a new schema type when:
| Trigger | Schema Type to Consider | Page |
|---|---|---|
| New blog post published | BlogPosting + Person (author) |
The new blog post |
| FAQ section added to any page | FAQPage |
The page with the FAQ |
| New product feature announced | Update SoftwareApplication featureList |
Homepage or product page |
| Pricing page created or changed | Offer nested in SoftwareApplication |
Pricing page |
| Video or webinar embedded | VideoObject |
The page with the embed |
| Event (webinar, conference) promoted | Event |
Dedicated event page or blog |
| New author joins the team | Person with full bio schema |
About page + any authored posts |
| How-to guide published | HowTo with HowToStep |
The guide page |
@id consistency. New entities must use a predictable URL-fragment pattern (e.g., https://easyhotelrfp.com/page#entity) and cross-reference existing IDs for publisher, isPartOf, author.Every blog post follows this exact pipeline. No step may be skipped.
BlogPosting JSON-LD with: headline, datePublished, dateModified, author (linked Person), publisher (linked Organization), image, description, and mainEntityOfPage.og:title, og:description, og:image (1200x630 minimum), og:url, og:type=article, and twitter:card=summary_large_image. Test the OG image renders correctly at target size.Person schema @id in the post matches the About page @id.alt attributes. Run a quick Lighthouse accessibility audit (target 90+).sitemap.xml with the correct lastmod date. Verify the sitemap validates (no duplicate URLs, correct XML structure).When updating an existing blog post (correcting data, adding a section, refreshing statistics):
dateModified in the BlogPosting JSON-LD to matchlastmod for that URL in sitemap.xmlGenerative Engine Optimization (GEO) ensures easyhotelrfp.com content is cited, surfaced, and accurately represented by AI systems including ChatGPT, Perplexity, Gemini, Claude, and Microsoft Copilot. This routine runs on the first week of every month.
Maintain and execute a bank of test prompts across multiple AI platforms. The prompt bank lives in the GEO tracking spreadsheet.
| Task | Detail |
|---|---|
| Run the prompt bank | Execute all test prompts (target: 80+ rows) across ChatGPT, Perplexity, Gemini, Claude, and Copilot. Record verbatim responses. |
| Score citations | For each response, note: (a) was Easy RFP mentioned? (b) was the mention accurate? (c) was a link provided? (d) which competitor was mentioned instead? |
| Compare to prior month | Track month-over-month citation rate changes per platform. Flag any platform where citations dropped by more than 10%. |
| Identify new prompts | Add 5--10 new test prompts based on new content published, new features launched, or trending industry queries. |
| Log results | Record all results in the GEO tracking CSV/sheet with: date, platform, prompt, response summary, cited (yes/no), accuracy (correct/partial/wrong/absent). |
Monitor traffic from AI systems using GA4 segments configured for AI referral sources:
Review server and CDN logs for AI crawler activity to ensure our content is being indexed by generative AI systems:
robots.txt still explicitly allows GPTBot, ClaudeBot, PerplexityBot, and other target crawlersllms.txt and /.well-known/llms.json are still accessible (200 response, correct content)robots.txt, evaluate and add an explicit Allow ruleAfter completing sections 4a through 4c, produce a summary with these deliverables:
robots.txt or llms.txt changes neededThis summary is reviewed by the content owner before any changes are implemented.
| Activity | Frequency | Owner | Key Tool |
|---|---|---|---|
| Full page audit + schema freshness | Quarterly | Content lead | Rich Results Test, Schema Validator |
| Blog publish pipeline | Per post | Author + reviewer | Lighthouse, GSC, Bing Webmaster |
| Schema update when content changes | Per edit | Whoever deploys | Rich Results Test |
| Prompt testing across AI platforms | Monthly | GEO lead | ChatGPT, Perplexity, Gemini, Claude, Copilot |
| AI referral traffic review | Monthly | Analytics lead | GA4 |
| Bot log and crawler audit | Monthly | GEO lead | Cloudflare Analytics |
| Sitemap validation | Per deploy | Whoever deploys | XML sitemap validator |
| OG unfurl testing | Per publish | Author | LinkedIn Post Inspector, Twitter Card Validator |
This document is maintained by the Easy RFP content team. It is not indexed by search engines. For questions or proposed changes, contact the document owner listed above.