Your roof doesn't usually fail all at once. Most Mercer County homeowners notice a stain on the ceiling, a few shingles in the yard, or granules piling up in the…
# Penn Ohio Roofing — AI Search / Schema Implementation All blocks below are paste-ready. Install **WPCode** (Plugins → Add New → search "WPCode"), then create snippets as described. --- ## BLOCK 1 — Sitewide Entity Schema **WPCode setup:** - Add Snippet → Add Your Custom Code → Snippet Type: **HTML Snippet** - Title: `Sitewide Organization Schema` - Insertion: **Site Wide Header** - Toggle Active → Save ```html ``` ### TO DO before pasting 1. Verify the geo coordinates against the actual Google Business Profile pin. 2. Add the Google Business Profile URL to `sameAs` (open GBP → Share → copy link). Also add BBB, Yelp, Angi, HomeAdvisor if they exist. More `sameAs` entries = stronger entity resolution. This is one of the highest-leverage fields in the whole block. 3. Confirm 24/7 hours are literally true. If the office is 8-5 and only emergency calls are 24/7, change the hours block to real office hours. ### DO NOT Do not add an `aggregateRating` block unless it reflects real, verifiable reviews displayed on the page. Fabricated ratings are a manual-action penalty risk with Google and get stripped by AI crawlers that cross-check against GBP. --- ## BLOCK 2 — Service Page Schema (template) Add per service page. WPCode → HTML Snippet → Insertion: **Page Specific → Insert Before Content**, or use a Location rule targeting the single page. Example shown for Roof Repair. Duplicate and swap the bracketed values for each service. ```html ``` **Priority order** — do these six first, they carry the most search volume: 1. Roof Repair 2. New Roof Installation 3. Siding 4. Asphalt Shingle Roof 5. Metal Roofs 6. Commercial Roofing --- ## BLOCK 3 — FAQ Schema + Content This is the block that actually earns citations. AI engines quote self-contained answers. Add the Q&As as **visible text on the page** (Elementor accordion or plain headings), then add this schema. Schema without matching visible content is ignored and can be flagged as spam. Answers must be 40–60 words with a specific number or range. Vague answers do not get cited. ```html ``` ### Price ranges The dollar figures above are placeholders based on typical regional pricing. **Confirm them with the client and adjust before publishing.** Specific numbers get cited; wrong numbers create refund conversations. --- ## BLOCK 4 — robots.txt Check `https://pennohiorc.com/robots.txt`. If any of these are disallowed, remove the disallow. If robots.txt is missing entirely, that is fine — but explicit allows are safer because some plugins inject blanket bot blocks. ``` User-agent: GPTBot Allow: / User-agent: OAI-SearchBot Allow: / User-agent: ChatGPT-User Allow: / User-agent: PerplexityBot Allow: / User-agent: ClaudeBot Allow: / User-agent: Claude-SearchBot Allow: / User-agent: Google-Extended Allow: / User-agent: Applebot-Extended Allow: / ``` **Also check Wordfence.** Wordfence → Firewall → Blocking, and Rate Limiting. If unknown crawlers are being throttled or blocked, whitelist the user agents above. Wordfence blocking AI crawlers is extremely common and completely invisible unless you look. --- ## Validation After pasting, run every modified URL through: - https://validator.schema.org/ (catches syntax errors) - https://search.google.com/test/rich-results (catches eligibility problems) Then in Google Search Console: URL Inspection → Request Indexing for each page. --- ## Order of operations | # | Task | Time | |---|------|------| | 1 | Fix the years-in-business contradiction sitewide (1996 = 30 years) | 10 min | | 2 | Fix broken `www.pennohiorc.com/roofing-services/...` internal links | 10 min | | 3 | Check robots.txt + Wordfence bot blocking | 10 min | | 4 | Install WPCode, paste Block 1 | 10 min | | 5 | Add GBP and other profile URLs to `sameAs` | 10 min | | 6 | Block 2 on the six priority service pages | 30 min | | 7 | Block 3 FAQ content + schema on those same six pages | 90 min | | 8 | Validate and request indexing | 20 min | Roughly three hours for the full pass. --- ## What schema alone will not do Schema makes the business machine-readable. It does not make it *citable*. AI engines weight third-party corroboration heavily — the business needs to exist in places the models already trust: - **Google Business Profile** fully filled out, with services, photos, and Q&A section used - **Consistent NAP** (name, address, phone) across GBP, BBB, Yelp, Angi, Nextdoor, and the Owens Corning / IKO / GAF contractor directories — they already have those certifications, so those listing pages are free authoritative citations - **Review volume** on Google specifically; AI answers about "best roofer in X" lean on it - **Location + service pages** that name real towns (Hermitage, Farrell, Greenville, Grove City, Sharpsville, New Castle, Youngstown) rather than generic copy The blog posts already going up are the right instinct. Keep them question-shaped and locally specific. Realistic timeline: schema is read within days to a few weeks. Meaningful movement in AI answers takes 2–3 months. Set that expectation with the client now.