Creating Many SEO-Friendly Listing Pages Using Attributes

Hi HivePress community :waving_hand:

We’re building a real estate marketplace using HivePress and wanted to sanity-check an approach before implementing it at scale.

What we want to achieve

We want to create SEO-friendly listing pages that automatically show properties based on combinations of attributes like:

  • Property type (villa, apartment, land)

  • State / city

  • Neighborhood

  • Price range

Example pages:

  • /properties/properties-in-colorado/

  • /properties/villas-in-aspen/

  • /properties/villas-in-downtown-aspen/

  • /properties/villas-in-aspen-under-500k/

Each page should:

  • Be a real, indexable URL

  • Show listings that match those conditions

  • Have unique, valuable content - not thin content

  • Scale to hundreds or thousands of combinations without creating manual pages


The workaround we’re considering

Since filtered URLs are not ideal for SEO, we’re considering modeling each SEO page as an attribute option.

How this would work

  1. Create one Select attribute called “Properties”

    • Slug: properties
  2. Create an option for each SEO page.

  3. Assign each listing to the relevant option(s).

Example structure

Level 1

  • Properties in Colorado
    /properties/properties-in-colorado/

Level 2

  • Villas in Colorado
    /properties/villas-in-colorado/

  • Apartments in Colorado
    /properties/apartments-in-colorado/

Level 3

  • Villas in Aspen, Colorado
    /properties/villas-in-aspen-colorado/

  • Villas in Colorado under $500k
    /properties/villas-in-colorado-under-500k/

This technically gives us:

  • Clean URLs

  • Indexable pages

  • Automatic listing filtering


Our main concern: scale

If we follow this approach, it likely means:

  • One Select attribute

  • With thousands or even tens of thousands of options

  • Every listing must be manually tagged to one or more options

Before committing to this, we want to make sure this is safe and reasonable in HivePress.

Questions

  1. Is it okay to have a Select attribute with thousands of options in HivePress?

  2. Are there any known performance issues with this (admin UI, listing edit screens, queries, filters)?

  3. Are there any recommended limits for:

    • Number of attribute options

    • Attribute usage at scale?

  4. Is this approach considered reasonable, or would you recommend a different pattern for achieving similar results?

We’re mainly trying to avoid building something that works short-term but becomes hard to manage or slow as the site grows.

Any guidance from the HivePress team or community would be greatly appreciated :folded_hands:
Thanks in advance!

Hi,

This approach isn’t very scalable if you only need it for locations combined with property types. We are planning to add this feature in the future.

If this is urgent for you, here’s what I’d recommend:

  1. Use Geolocation with Regions: This way, locations and all possible areas will be automatically generated based on where you actually have listings. You won’t have empty location pages, only ones where listings exist.

  2. Mark your Property Type attribute as Public: If you already have a property type attribute (like “Villa” in your example), marking it as Public will create SEO-friendly pages like /listing-attributename/villa.

  3. Generate pages for the intersection of Regions and Property Types: You could either use Categories for this purpose, or if you’re already using Categories, create a Select attribute instead. This is the shortest path to achieving what you’re looking for, and it’s likely how we’ll implement this feature in future updates as well.

Let me know if you need more guidance on setting this up.

Thank you for the quick and detailed response :slight_smile:

Can you please help me with Option 3? How can I generate pages for the intersection of Regions and Property Types? If this is possible, it will solve my problem to a great extent :slight_smile:

Thank Youu

Unfortunately there’s no simple code snippet for this, but I recommend using the add_rewrite_rule WordPress function add_rewrite_rule() – Function | Developer.WordPress.org to register the URL route like “/properties/{type}-in-{region}”, and when this URL is visited, you can fetch the type and region from the URL, filter and show the corresponding listings on a page (this can be done by using the existing listings template or blocks).

Hope this helps

Thanks, Ihor :raising_hands:

One last question: I tried creating these pages using a CPT, and I noticed that HivePress Blocks currently includes:

  1. a Listings block
  2. a Search Form block

Are there any plans to introduce a Listings Filter block, as well as pagination support for the existing Listings block?

If so, that would potentially solve all of the issues I’m running into.

Thank you :slightly_smiling_face:

Yes, we plan to make the filters form available as a block, but unfortunately there’s no way to fully re-create the Listings page layout outside of the template context (for example, pagination will not be availalble as a block).

I recommend using the add_rewrite_rule approach as with a custom post type, you’d have to generate a post for every property type / location combo. With a custom rewrite rule, you can simply fetch the intended location / type from the URL and show the corresponding listings (by re-using the Listings page template).

We’ll also try to deliver this feature as soon as possible, we understand that it’s important for SEO.

Perfect, thank youu :folded_hands:

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.