#7085 closed defect (bug) (fixed)
Correct various "plugin type" issues
Reported by: | jonoaldersonwp | Owned by: | coffee2code |
---|---|---|---|
Milestone: | Priority: | high | |
Component: | Plugin Directory | Keywords: | seo performance |
Cc: |
Description
The Plugin directory's 'community'/'commercial' filtering options have several interconnected SEO problems (which are already causing problems), which need to be addressed in the following order:
- URLs are implemented as query strings, rather than pretty permalinks. We should instead use https://wordpress.org/plugins/commercial/, https://wordpress.org/plugins/browse/commercial/, or similar.
- Filtered states omit a canonical URL tag. This should be added.
- Requests to out-of-bounds filtered ranges (e.g., https://wordpress.org/plugins/browse/blocks/page/2/?plugin_business_model=community) trigger a 301 redirect to the wordpress.org homepage. This is a poor experience when you consider that the links are present within paginated states of taxonomies (such as https://wordpress.org/plugins/browse/blocks/page/2/), and there's no 'page 2' available for a filtered request. Therefore, out of bound requests should 301 to the community/commercial root.
- The 'all' link on paginated+filtered states (like https://wordpress.org/plugins/page/2/?plugin_business_model=community), links to a 404 result, as https://wordpress.org/plugins/page/2/ does not exist. This should instead link to the plugins page.
Change History (9)
#2
follow-up:
↓ 3
@
18 months ago
Not ideal, but we can live with that! We'll still need canonical URLs, then, which include the business model string.
#3
in reply to:
↑ 2
@
18 months ago
Replying to jonoaldersonwp:
We'll still need canonical URLs, then, which include the business model string.
Yep, I agree.
Some notes while looking at this:
Filtered states omit a canonical URL tag
https://wordpress.org/plugins/browse/blocks/?plugin_business_model=community doesn't contain a canonical link, as it's a multi-taxonomy query which we don't currently support canonical links for right now.
Because from a code point of view, it's not possible to determine which taxonomy is the "primary" one and which should appear as query vars. We can probably add minimal support by doing something like "if multi taxonomy, and only one has a pretty-permalink, we can assume that's primary".
Requests to out-of-bounds filtered ranges
https://wordpress.org/plugins/browse/blocks/page/2/?plugin_business_model=community is redirected by Plugin_Directory->custom_redirects:1278
, same thing which redirects urls like /plugins/browse/somethingrandom/
or /plugins/browse/blocks/sillyendpoint/
.
I don't think a redirect is actually the proper thing here, probably a 404 is more appropriate.
The actual problem I think is that https://wordpress.org/plugins/browse/blocks/page/2/ links to this problematic URL, the Community/Commercial links here should likely remove the pagination state.
The 'all' link on paginated+filtered states
Again, these urls should be omitting any pagination data I think, which I think would resolve this.
#4
@
18 months ago
Thanks, makes sense!
Ok, on tricky canonicals, let's noindex those instead. Especially as there might be more (compounding) filters/params etc in the future
For the redirects/404s etc, jut changing those links definitely seems like a more graceful fix.
Part of the problem here is that they're intentionally using query strings, as it's a filter on top of the existing permalinks, ie. https://wordpress.org/plugins/browse/blocks/?plugin_business_model=community is "/browse/blocks/ but limited to Community plugins".
#2753 (and others) will result in there being more filtered views like this in the future. It doesn't make sense to use pretty-permalink type URLs for all of these.
The rest of the issues here I believe are indeed something that needs resolving.