Automattic / Automattic/jetpack
Portfolio slug remains reserved after disabling Portfolio
- Dominant language
- PHP
- Stars
- 1.8k
- Forks
- 898
- Avg merge
- 1d 18h
- Merged PRs (30d)
- 774
Description
### Impacted plugin
Jetpack
### Quick summary
After enabling and then disabling `Portfolio` , the /portfolio slug appears to remain permanently reserved. This prevents users from properly restoring a custom page at /portfolio/, and child pages return 404 errors while the "Portfolio" is enabled. Then the parent and child pages redirect to the homepage after disabling the "Portfolio."
**References:**
Similar issues had been previously reported:
* [https://github.com/Automattic/jetpack/issues/995]()
* [https://github.com/Automattic/jetpack/issues/30788]()
### Steps to reproduce
1. While the "Portfolio" is disabled (not previously enabled), create a page with the slug /portfolio.
2. Create child pages, and assign the "Portfolio" page as the parent page.
3. See the parent and child pages work as expected.
4. Enable "Portfolio" on Settings → Writing
5. See the child pages now return a page not found error.
6. Disable "Portfolio" on Settings → Writing and both the parent and child pages of the "Portfolio" page will redirect to the homepage.
### Expected Behavior:
After disabling "Portfolio", the /portfolio slug should become available again for pages and the child pages will work.
### Actual Behavior:
The /portfolio slug stays reserved, and its child pages redirects to the home page.
### Site owner impact
Fewer than 20% of the total website/platform users
### Severity
Critical
### What other impact(s) does this issue have?
*No response*
### If a workaround is available, please outline it here.
*No response*
### Platform (Simple and/or Atomic)
Simple
Contributor guide
Research direction
Start by reproducing the Portfolio enable/disable sequence from the issue through Settings → Writing, focusing on page routing and slug reservation. Trace what happens to the /portfolio parent and its child pages after Portfolio is disabled; done means the slug is available again and both parent and child pages load normally.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- php, wordpress
- Domain
- backend, web-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100