Be real careful with this.
I've been doing this for years, no issues until May 29th broad core update. Google doesn't really go into detail on "doorway pages" in their spam policy, but I've always taken it to mean "don't copy/paste/change city name" or don't have a zillion URL's with exact match keywords forwarding to your main URL. I've always believed showing a relevant result to a specific search term was useful, it's what I like when I surf the web.
We laid out our sites as follows:
Home
About
Services
- service 1
- service 2
- service 3
service area
- Area 1
-service 1
-service 2
- service 3
- Area 2
-service 1
(and so on for each area and service)
Gallery
Contact
Of course, that's a lot of content and we would usually offer ongoing content of 1-3 pages per month to show activity to Google, while filling in the gaps.
The template for our home page and each specific service area pages was the same, but we always hand wrote content. We would link each service area to their specific service pages, if they didn't have a specific service page, we linked it to the main service page and changed the link if/when we wrote the area specific service page.
On the individual service pages, we would create a widget area side bar that would have links to the area specific service pages or the main page if there wasn't an area specific service page. This made it easier to update the link structure on the specific service area pages (instead of on every service page).
This year, 75% of my customers have seen major ranking drops. May 29th, Sept 12th, October 20th. If they weren't impacted by one, they were impacted by the next.
At the same time, sites in the same industry with a flat URL structure
https://example.com/service-service-area x20 with duplicate content seem to have gained rank, much to my dismay.
What I'm doing at this point is:
- Removing indexed (but no impression) pages
- Fleshing out about pages
- For each service area page adding photos of projects completed in that service area, taken by the customer.
- Checking GMB to make sure that random services aren't being added (keep a spreadsheet of each category/service for those categories) Making sure the website reflects this list.