Skip to main content

Visitor searches the directory

Persona​

A church seeker — new to an area, seeking a faith community, or looking for a specific church. They arrive via Google search or word-of-mouth. They want fast load times, accurate current information, and an easy way to contact the church. They may be visiting from mobile on Sunday morning.

Entry points​

  1. Google organic search — "churches near me Rockford IL" or church name → church listing from SERP.
  2. PewSearch homepage — pewsearch.com in address bar or Google ad landing.
  3. Directory page — pewsearch.com/directory with search bar or filters.
  4. Email or social media CTA — friend texts a link to pewsearch.com/churches/[slug].
  5. Denomination browse — visitor clicks a denomination in the footer or navigates to /denominations/[denomination].

Click-through flow​

Steps​

  1. Land on PewSearch homepage or search results — Homepage: large search bar, denomination links, featured churches. Directory page: map, search bar, state/denomination filters, paginated church cards. Results apply directory_visible=true and business_status='OPERATIONAL' filters.

  2. Browse search results — Church cards show name, address, rating, review count, denomination, photo, distance (if geolocation enabled). Premium churches show a small verified badge. 20 cards per page.

  3. View church listing page — Free listing: church name, address, phone, website link, denomination, service times (from scraped working_hours), map embed, rating, "Claim this church" banner. Premium listing: all of above PLUS custom hero photo, verified badge, staff grid with bios, ministries section, custom hours, "What to Expect" section.

  4. Contact the church — Phone number is a clickable tel: link. Website URL is a clickable link. If the church has chatbot_enabled = true on their church_voice_agents row, a floating chat bubble widget appears.

  5. Decide to engage or claim — Visitor may call, visit website, or open the chatbot. If they are clergy wanting to upgrade the listing, they click "Claim this church" → /claim/[slug] (see pastor-claims-listing.md).

Acceptance spec​

Canonical: knowledge/acceptance/pewsearch-premium.md (Touchpoints 1–2, 16).

Success criteria​

  • Search results appear within 1 second.
  • Listings show current, accurate contact information.
  • Premium listings display custom photos, staff profiles, and verified badge.
  • Visitor can easily contact the church via phone, website, or chat.
  • Page is readable and tappable on mobile (44px minimum touch targets).

Known failure modes​

  • Stale data on unclaimed listings. Scraped hours/address may be weeks old. "Claim this church" banner is the mitigation — claimed listings have current data.

  • Search geolocation disabled. Sort defaults to rating if geolocation fails; filter by state as fallback.

  • Chatbot not loading. Script timeout of 5 seconds; fallback to contact form. Graceful, not an error state.

  • directory_visible=false leak. All /directory and /churches/[slug] queries must enforce directory_visible=true filter. Omitting it exposes hidden/test churches. One deliberate exception on the detail page (2026-08-26, isServableChurch): a hidden row that has a premium_churches record still renders (with real metadata, noindex) so demos and suppressed customer listings keep their page; a hidden row with no premium record is a real 404 from the middleware, not a soft one.