SEO for churches on WordPress
SEO for churches is local SEO: people new to an area search "churches near me", a denomination plus the town, or "Christmas Eve service" plus the town, and Google answers mostly from Business Profiles. A complete profile with the right category, correct service times on your website, and a clear page for first-time visitors do most of the work.
The most common problem is simple. Service times, events and sermons live on Facebook, in a graphic or in a calendar widget, so the website cannot answer the one question every visitor has: when should I come?
Pages every churches site needs
- Plan your visit page. Service times, address, parking, what to expect, what to wear, children's programs and accessibility. It is the page first-time visitors need.
- Service times page. Every regular service with day, time and language, as text. Link it from the header.
- Sermon pages. One page per sermon with the title, speaker, date, passage, a short summary and the video or audio.
- Ministries and groups pages. Youth, children, small groups and outreach, each with who it is for and how to join.
- Holiday services page. Christmas and Easter service times on one lasting URL that you update each year.
- Beliefs and leadership pages. What you believe and who leads, which answers the questions visitors research before coming.
Service times as text, everywhere
Put service times in plain text in your site header or footer, on the plan-your-visit page and in your Business Profile, and make them identical in all three. A graphic with the times in it looks nice but cannot be read by search engines or screen readers.
In the Business Profile, choose the most specific category that applies (for example a denomination such as "Baptist church" or "Catholic church"), add your hours around services and office times, and post updates before special services. Add photos of the building entrance so first-time visitors recognize it. Keep the church name the same everywhere, including whether you use "St." or "Saint".
Sermon archives that are more than embeds
A sermon page with only a YouTube embed gives search engines almost nothing, and YouTube itself will usually rank instead. Add the sermon title, speaker, date, scripture passage and a paragraph or two summarizing it. A transcript, if you have one, makes the page much more useful and searchable.
Hydrogen SEO's video sitemap scans posts for embedded and self-hosted videos and publishes their details at /video-sitemap.xml; it is off by default. Organize sermons by series and speaker with categories so the archive is browsable, and noindex empty or near-empty archives.
Church schema and seasonal events
Church is a schema.org subtype of PlaceOfWorship, with narrower types such as CatholicChurch. Add the address, phone, geo coordinates and a URL, and describe regular services in text on the page. Hydrogen SEO's Local Business entry on the Schema screen holds those details, and a developer can switch the printed type to Church with the hydrogen_seo_schemas filter.
For special services and events, use Event markup with the date, place and eventStatus. Keep one holiday page (/christmas/) and update it each year instead of creating /christmas-2025/ and /christmas-2026/. The lasting URL keeps its links and rankings, and nobody finds last year's times.
Church schema example
A starting point for your site. Replace every value with your own, and only mark up what is visible on the page.
{
"@context": "https://schema.org",
"@type": "Church",
"@id": "https://example.org/#church",
"name": "Grace Hill Community Church",
"url": "https://example.org/",
"telephone": "+1-317-555-0158",
"image": "https://example.org/images/entrance.jpg",
"address": {
"@type": "PostalAddress",
"streetAddress": "2450 N Delaware St",
"addressLocality": "Indianapolis",
"addressRegion": "IN",
"postalCode": "46205",
"addressCountry": "US"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 39.80257,
"longitude": -86.15489
},
"event": {
"@type": "Event",
"name": "Christmas Eve Candlelight Service",
"startDate": "2026-12-24T19:00:00-05:00",
"eventStatus": "https://schema.org/EventScheduled",
"eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode",
"location": {
"@type": "Place",
"name": "Grace Hill Community Church",
"address": "2450 N Delaware St, Indianapolis, IN 46205"
}
}
}
Checklist
- Show service times as text in the header or footer
- Match service times across site, Business Profile and social pages
- Choose your denomination as the profile's primary category
- Build a plan-your-visit page and link it from the homepage
- Add a title, speaker, passage and summary to every sermon page
- Turn on the video sitemap for sermon videos
- Keep one holiday services URL and update it each year
- Mark up special services with Event and eventStatus
- Remove past events from the calendar or mark them as past
Common questions
Does a church need a Google Business Profile?
Yes. Most "church near me" searches are answered from Business Profiles in the map pack, and the profile is where many people check service times.
Should sermons go on YouTube or our site?
Both. Upload to YouTube for reach and publish a page on your site with the embed, a summary and details so your site has something to rank.
Can a church website rank without a blog?
Yes. Clear service times, a visitor page, ministry pages and sermon pages matter more than blog posts for most churches.