You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Since I’m out of time, I’d like to use the visibility of this contest to share an idea, not just about the PHP 8.5 website, but about PHP as a whole.
Personally, I don’t think PHP needs a specific redesign tied to a release. The current website works fine and could probably stay the same for decades and still serve its purpose. But that doesn’t mean there aren’t good reasons to make a change.
PHP is a powerful and versatile language. It’s now very secure and ready for large-scale projects, but that’s not how many people see it, especially newer generations.
In recent years, PHP’s popularity has dropped compared to the rise of other ecosystems like JavaScript (Node, TypeScript, React, Vue, NextJS, and so on). Maybe it looks like a trend, but it’s been a steady decline for a while.
Part of this comes from PHP’s image. The idea that PHP is “insecure,” “old,” or “outdated” is still common, even though that’s no longer true. Any language can be insecure with bad practices, but changing that general perception is hard. Regular updates and the growth of modern frameworks have helped, but there’s still more that can be done.
One small but meaningful step could be refreshing the official website. Not just for looks, but to better reflect the modern, solid language PHP really is. Throughout this issue, I’ll be adding comments to better explain some key points of the design. This is my proposal.
Of course, it’s far from perfect the goal is to gather as much feedback as possible to understand what direction to take if this moves forward.
PHP has a very distinctive color scheme. Some recent design ideas include the well-known purple along with blur or glass effects. While that can look nice, I think instead of changing the colors or design language, the best approach is to harmonize the existing palette.
For this demo, I used a color palette generated with Material You, using PHP’s branding color as the seed. Personally, I think the latest iteration of Material does a great job defining clear color roles and generating consistent variants for both light and dark themes.
The current website has an issue with color consistency. There seems to be a dark theme (with a dark background and dark search modal) but most of the main content, like blog posts, manual pages, examples, and even the PHP 8.4 release page, mostly use a light theme.
While this can be good for readability, it creates some confusion in how the content is presented. The simplest solution would be to properly support both themes and let users choose whichever they feel more comfortable with.
Main links stay the same, they work well and there’s no strong reason to change them.
Added a user tools area with the search bar, language selector, theme switcher, and a link to the GitHub repo. At first, I thought about including more detailed icons with their own colors. In the end, I wasn’t fully convinced (I’m also not great at creating illustrations, since everything on the page was made by hand). I decided to leave them as they are for now, partly due to time and partly in case there’s interest in using that style instead of the classic shapes.
For the search box, it could be nice to include suggested links maybe based on common queries, related topics, or current events followed by the actual search results.
Footer:
No major changes here, just include the logo, motto and add links to the official social media accounts.
The first element is the classic featured announcement, in this case highlighting the PHP 8.5 release. Whether it’s a major release or an event, the goal is to show something relevant without taking attention away from the main CTAs.
Next comes the PHP title with a short tagline that highlights a key strength. In this case, “The Engine of the Internet”, which is true since PHP powers a huge number of websites. After that, a short paragraph introducing PHP in a clear way.
Then come the CTAs. The current page shows buttons for the new version and for downloading. Since new releases can also be highlighted in the main banner or navbar, the idea here is to focus on encouraging downloads and directing users to the documentation, the first step for newcomers to the language.
A small “Hello World” snippet is also included, ready to copy. This could be replaced by a slightly more complete snippet showing common operators, or even by an image version.
Final decoration: the start of a sphere symbolizing the internet, tying in with the title.
This section comes right after the hero, not only to highlight the new features of the release but also to reinforce the idea of PHP’s continuous growth, giving a sense of “something new.” Each item links directly to the detailed documentation of the feature, which also improves the experience for developers already using the language.
At the end of the section, it’s good to include deprecations and major changes, along with links to the migration guide or release notes, both are expected and useful interactions.
If that still doesn’t feel strong enough, the section could instead focus on key reasons to stay up to date with the latest releases, supported by illustrations to create more visual impact.
Right now, this section takes up most of the homepage and mainly lists release announcements. It would help to include a small label or icon to quickly identify the type of post, release, event, or general notice and to limit the number of visible items. A direct link to a dedicated news page with better filtering options would improve usability.
This section could stand out more, especially for those supporting the project. A background image or a card-style layout could help give it stronger visual emphasis.
Final CTA
It should be directly tied to the main CTA at the top, creating a consistent navigation flow.
Current situation:
How do we get to Getting Started from the homepage?
Navbar > “Documentation” > Select a language > View the index and choose “Getting Started” > Select “Introduction” (or one extra step if the Getting Started index is clicked first) > Done.
Why is it so many clicks away?
The current flow lets users pick a language and shows general info.
It includes links to download the documentation.
It explains how documentation URLs are structured.
It provides info on how to contribute and links to older documentation versions (3, 4, 5).
Proposed solutions:
The “Documentation” link should take users directly to Getting Started, removing all the extra navigation.
Adding a language selector to the navbar removes the need for a separate language selection page, the docs already include their own selector on page view so it can be removed too. Users can switch languages from anywhere from the navbar selector.
The option to download documentation could stay in its section, but we could also centralize all download options in a single dedicated page.
Some sections share info about URL structure or contribution guidelines; these could be moved to dedicated pages, simplifying navigation and avoiding duplication.
Helps users understand the state and behavior of a specific version more clearly and consistently, while improving how old versions are preserved.
Sidebar navigation:
Right now, articles use breadcrumbs for navigation (visible only on desktop; they disappear on mobile). The right side usually shows related links, but if users want to explore other topics, they have to go back to the main index or use the search bar.
Adding a sidebar navigation would help new users understand the structure and learning path of PHP, while making it easier for returning users to jump to specific sections or categories.
A good approach would be to use a category-based sidebar similar to MDN.
Article progress aside:
Related articles could be integrated into the main content or listed in the sidebar. The aside area could instead show an article outline, allowing users to jump to sections of interest.
Main content:
Improve readability by setting a reasonable maximum width for text. This also helps shorter articles look cleaner, though it’s better to avoid dedicating a full page to one-line topics.
@CarlosEGuerraSilva, thank you for working on this design. Unfortunately, it was submitted after the application period had ended, so it wasn’t considered. Still, we encourage you to join the implementation discussion at #1592. You clearly have a lot of great ideas.
@CarlosEGuerraSilva, thank you for working on this design. Unfortunately, it was submitted after the application period had ended, so it wasn’t considered. Still, we encourage you to join the implementation discussion at #1592. You clearly have a lot of great ideas.
There are a few details I haven’t covered yet in this issue. Regarding this proposal, should I mention it during the discussion along with the missing details, or talk about how we’ll approach the ideas there?
Activity
CarlosEGuerraSilva commentedon Nov 2, 2025
PHP has a very distinctive color scheme. Some recent design ideas include the well-known purple along with blur or glass effects. While that can look nice, I think instead of changing the colors or design language, the best approach is to harmonize the existing palette.
For this demo, I used a color palette generated with Material You, using PHP’s branding color as the seed. Personally, I think the latest iteration of Material does a great job defining clear color roles and generating consistent variants for both light and dark themes.
The current website has an issue with color consistency. There seems to be a dark theme (with a dark background and dark search modal) but most of the main content, like blog posts, manual pages, examples, and even the PHP 8.4 release page, mostly use a light theme.
While this can be good for readability, it creates some confusion in how the content is presented. The simplest solution would be to properly support both themes and let users choose whichever they feel more comfortable with.
CarlosEGuerraSilva commentedon Nov 2, 2025
Core elements
Navigation bar:
Footer:
CarlosEGuerraSilva commentedon Nov 2, 2025
Landing page - Hero section
The first element is the classic featured announcement, in this case highlighting the PHP 8.5 release. Whether it’s a major release or an event, the goal is to show something relevant without taking attention away from the main CTAs.
Next comes the PHP title with a short tagline that highlights a key strength. In this case, “The Engine of the Internet”, which is true since PHP powers a huge number of websites. After that, a short paragraph introducing PHP in a clear way.
Then come the CTAs. The current page shows buttons for the new version and for downloading. Since new releases can also be highlighted in the main banner or navbar, the idea here is to focus on encouraging downloads and directing users to the documentation, the first step for newcomers to the language.
A small “Hello World” snippet is also included, ready to copy. This could be replaced by a slightly more complete snippet showing common operators, or even by an image version.
Final decoration: the start of a sphere symbolizing the internet, tying in with the title.
CarlosEGuerraSilva commentedon Nov 2, 2025
Next section: What’s new in PHP 8.5
Note
This section comes right after the hero, not only to highlight the new features of the release but also to reinforce the idea of PHP’s continuous growth, giving a sense of “something new.” Each item links directly to the detailed documentation of the feature, which also improves the experience for developers already using the language.
At the end of the section, it’s good to include deprecations and major changes, along with links to the migration guide or release notes, both are expected and useful interactions.
If that still doesn’t feel strong enough, the section could instead focus on key reasons to stay up to date with the latest releases, supported by illustrations to create more visual impact.
CarlosEGuerraSilva commentedon Nov 2, 2025
News section
Right now, this section takes up most of the homepage and mainly lists release announcements. It would help to include a small label or icon to quickly identify the type of post, release, event, or general notice and to limit the number of visible items. A direct link to a dedicated news page with better filtering options would improve usability.
CarlosEGuerraSilva commentedon Nov 2, 2025
Community section
CarlosEGuerraSilva commentedon Nov 2, 2025
Acknowledgments section
This section could stand out more, especially for those supporting the project. A background image or a card-style layout could help give it stronger visual emphasis.
Final CTA
It should be directly tied to the main CTA at the top, creating a consistent navigation flow.

CarlosEGuerraSilva commentedon Nov 3, 2025
Documentation
Current situation:
How do we get to Getting Started from the homepage?
Navbar > “Documentation” > Select a language > View the index and choose “Getting Started” > Select “Introduction” (or one extra step if the Getting Started index is clicked first) > Done.
Why is it so many clicks away?
Proposed solutions:
CarlosEGuerraSilva commentedon Nov 3, 2025
Documentation improvement proposal
Main changes
Version selector:
Sidebar navigation:
Article progress aside:
Main content:
pronskiy commentedon Nov 5, 2025
@CarlosEGuerraSilva, thank you for working on this design. Unfortunately, it was submitted after the application period had ended, so it wasn’t considered. Still, we encourage you to join the implementation discussion at #1592. You clearly have a lot of great ideas.
CarlosEGuerraSilva commentedon Nov 5, 2025
There are a few details I haven’t covered yet in this issue. Regarding this proposal, should I mention it during the discussion along with the missing details, or talk about how we’ll approach the ideas there?