Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature request: an ability to use the same collection with different patterns #60

Open
AlexDede opened this issue Jan 11, 2022 · 12 comments
Labels
enhancement New feature or request

Comments

@AlexDede
Copy link

AlexDede commented Jan 11, 2022

Feature request

Summary

Can you add an ability to specify a few patterns for the same collection?

For example I have collection products and I want to have a few patterns for it. For example:

/products/[id]
/products/[id]/another-slug-1
/products/[id]/another-slug-2

Why is it needed?

A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Suggested solution(s)

There are 2 options for that:

  • If it possible to extend this dialog to have a few patterns (and have priority and changefreq for each pattern)

Screenshot 2022-01-11 at 20 23 38

- Allow to use the same collection a few times for URL bundles (I think this is more preferable way)
@boazpoolman
Copy link
Member

Hey @AlexDede

Thank you for the feature request.
I just want to clarify a couple of things.

How do you want to use the multiple patterns for a single collection type?

  • Have multiple URLs going to the same page
  • Select which pattern to use for each collection entry

@boazpoolman boazpoolman added the Needs investigation Further information is requested label Jan 12, 2022
@AlexDede
Copy link
Author

Hey @boazpoolman

Thank you for the reply.

How do you want to use the multiple patterns for a single collection type?

In my case I only need this for multi collection type. But I think that in some cases single collection type can be used for a few URLs on a site too (use different parts of data from single collection type).

Select which pattern to use for each collection entry

In my case I need each pattern for each collection entry and I think it will be enough for first version of this feature. In the future maybe it is possible to add an ability to select patterns to the block on a screenshot below.

image

@boazpoolman
Copy link
Member

So if I understand correctly; you would end up with multiple URLs in the sitemap which will go to the same page?

Like:
/products/1
/products/1/addition
/products/1/other-addition

Which all correspond to the same entry (id: 1) in Strapi.
And also all show the same page in your website.

Why would you want that?

@AlexDede
Copy link
Author

AlexDede commented Jan 12, 2022

you would end up with multiple URLs in the sitemap which will go to the same page?

Not exactly. In our case all this pages will be related to the same product but will show different parts of information related to this product. For example:

/products/1 -> some general information about the product with id=1 (like name, image, description, etc.)
/products/1/specifications -> specification of the product with id=1 (like width, height, weight, etc.)
/products/1/addition -> addition information about the product with id=1

But all this part of data will be saved in the same collection in Strapi with the same entry with id = 1.

@boazpoolman
Copy link
Member

Ah allright, I get it.

Let me think about this for a little.
Probably just allowing a collection type to be used multiple times in URL bundles does the trick.

@boazpoolman boazpoolman added enhancement New feature or request and removed Needs investigation Further information is requested labels Jan 13, 2022
@boazpoolman boazpoolman added this to the v2.1.0 milestone Apr 23, 2022
@boazpoolman boazpoolman removed this from the v2.1.0 milestone May 9, 2022
@saeed-f
Copy link

saeed-f commented Nov 7, 2023

Probably just allowing a collection type to be used multiple times in URL bundles does the trick.

We also need this feature in our project, we need multiple URL bundles for one collection type. is there an update on this? or any other solution we could use?

If you could give me a general idea of how it works or where to start, I'd be happy to give it a try and make a PR if it works.

@Namstel
Copy link

Namstel commented Nov 24, 2023

Hey @boazpoolman.

We too need this.
Here's why:

  • We're looking to generate a Google News sitemap for a certain amount of recent articles.
  • We're looking to generate a sitemap for a number of recent articles (less than 7 days old) with the changefreq of hourly
  • Older articles would then have a changefreq of monthly

I had a pop at getting this working myself in a fork, but not having any React experience is really holding me back, and it all seems tighly coupled based on ContentTypes, making it very hard to have URL bundles be an array rather than a key-value based object where the key is the ContentType.

If you could point me in the right direction, I'd love to give it another go, but at this moment, the plugin doesn't meet our requirements.

@Namstel
Copy link

Namstel commented Feb 8, 2024

I hate to be a nag, but are there any updates on this?

@MSACC
Copy link
Collaborator

MSACC commented Feb 8, 2024

For our interest: Is this a feature you would pay for? We can then maybe give this priority on our roadmap.

@Namstel
Copy link

Namstel commented Feb 9, 2024

That would then be something I'd have to pay out of my own pocket, which I'm willing to do, but it's not going to be hundreds of dollars.

@TMSchipper
Copy link
Collaborator

@Namstel Hi, I have created a ticket for our scrum board so that this issue gets a higher priority. We are busy with a project related with Strapi so that the issue/bug process will be a lot faster in the future. We are also still expanding and maintaining our plugins. You will hear from us as soon as we have something ready for this issue, I hope to have informed you sufficiently.
Kind regards, Tim Schipper.

@ilnytskyi
Copy link
Contributor

I have an use case where I have a complex content type. And based on different columns I can have listing pages or single item pages.

Let's say

/item/[id]
/items/[city]
/items/[city]/[other_filter_param]

So I have all items in the city, single item or items in the city limited by param. Depending of combination each page can have its own unique content.

I'd even suggest that we do not have multiple sitemaps for same content type but rather multiple sitemaps based on custom filters. Same map can include one or several content types.

e.g. separate map for products and product images can be generated from same content type.

All maps together can work as composite sitemap.

At some point it can get to complex Feeds generator plugin.
But by limiting the scope to just sitemaps it should be possible to create them in a more flexible way.

my json suggestion

"sitemaps": {
    "some_sitemap": {
      "contentTypes": [
        {
          "type": "api::type.type",
          "languages": {
            "und": {
              "pattern": "/en/[city]/[other_filter_param]",
              "changefreq": "daily"
            }
          }
        },
        {
          ...same type with different filters or different content type
        }
        ]
      }
  },

for now the workaround is to either hook into plugin or decompose entity into different content types

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

7 participants