joomla / joomla-cms

Home of the Joomla! Content Management System
https://www.joomla.org
GNU General Public License v2.0
4.76k stars 3.64k forks source link

RFC Can we move some items from the publishing tab to a new SEO tab #23233

Closed uglyeoin closed 5 years ago

uglyeoin commented 5 years ago

Is your feature request related to a problem? Please describe.

I would like the perception of Joomla! as less SEO friendly than other CMS's to change to one of "pretty easy to make SEO friendly"

I don't see that we're that bad but we call things awkward names and make people have to work too hard to achieve this goal.

Describe the solution you'd like

I would like to create a new tab in new/edit article, and also in single article menu called "SEO".
I would like these items in this tab: "page title" "page header" "Meta description" "keywords" although I would accept any counter argument to this item "robots"

I think these items all effect SEO and having them under the "publishing" tab makes it less obvious what they do and how helpful they are.

I would also like the marketing team (or whoever the right team is) to push this information from the centre out to the community as an SEO and usability improvement.

I would like the development team (if that's the right name) to push this information out (with the help or marketing or whoever) so that all developers of components make this action a uniform action in the future.

Additional context

I think this should be a J4 item because it would break some people's overrides and also asks extension developers to make changes that may do the same.

I can probably manage this change if people think it is worthwhile. But I need people to agree with me before I start work.

Quy commented 5 years ago

Related #15833

JoeJoomla commented 5 years ago

I agree with you that there is a perception in the marketplace regarding aspects of Joomla not being as good as others. This is one of them. Joomla is a lot better in many ways to our so called 'competitors' in the CMS space. Anything that can be done to help improve perceptions is a good thing.

If there is a perceived benefit that comes by simply reorganizing the UX experience then its a real benefit. Some are suggesting there's already too many tabs in the Content Editor. Opinions only go so far, somehow this should be tested and get real feedback on it.

uglyeoin commented 5 years ago

Closing because of the other issues opened. #12043 and #15833 both of which contain good ideas.

mbabker commented 5 years ago

I'm pretty sure some people are going to accuse me of blocking contributions or changes for voicing an opinion, but here it goes anyway.

In the grand scheme of things, I don't think this change brings any practical benefit, and I don't think that Joomla as a project can make any push (as a marketing group or development group) to "nudge" extension developers to follow suit (do an audit of most extensions in the ecosystem today and see how many of them already do not use best practices or have insulated themselves from core and do their own thing ignoring what happens in the core platform).

As proposed, the Joomla 4 UI is already a radical change in the Joomla admin experience, even bigger than the shift from the 1.5/2.5 UI (which was fairly consistent) to the 3.x UI (which retained much of the same structure but in Bootstrap form; probably the biggest changes came in moving sliders to tabs and the search filter changes). We're running a very high risk of alienating long term users already with some of this work, moving more fields around only further increases that risk.

If you want to make a change, I'd suggest using section headings on the publishing tab versus moving a large number of fields to another tab. It is less prone to breaking existing workflows and still adds to the UI (granted not as visible as a tab would be on its own) the "SEO" keyword that you seem to be pushing for to be present on screen.

In general there is another thing to keep in mind too. Forms are supposed to be fully customizable. Plugins are supposed to be able to add and remove fields to their heart's desire (not saying removing is the best of ideas but you can do it). Core sucks though at actually supporting this because so many of the edit layouts are hardcoded to render specific fields in specific places instead of using the form API's functionality, or improving it to do what people want (i.e. the bug reports that keep coming up because captcha isn't at the bottom of a form since there's no control of field order in a form). I'd rather see effort put into actually using the Form API in the best way possible (and stop hardcoding features to specific plugins, here's staring at you plg_system_rememberme and all the places that remember me functionality depends on that specific plugin) and having core demonstrate that use, which would allow integrators and developers to more easily customize the backend UI and not be forced to shove something in because that's the only spot you can actually dynamically add/remove fields through the onContentPrepareForm event.

uglyeoin commented 5 years ago

@mbabker whether they accuse you or not is irrelevant, your feedback is imperative as you know the system so well and see things that I and others would never see. So thank you for taking the time to respond.

I understand your point about using a heading, and you seem to understand my counterpoint about making it a tab so it is very much obvious that we are SEO friendly.

Part of the problem with using a heading and one of the reasons for my suggestion is that all of the fields are on different tabs. So having a heading might work but we would still have to remove certain things. It would be pretty useful if a single article menu item was empty it inherited the article items when loaded (or a new one created). Then people wouldn't have to enter this data twice. This whole request is about making life easier and quicker.

Yes, you could alienate users, but you can overcome that with good communication. One easy way to do this would be by using the dashboard to feedback UX changes. I see that we have notices for certain things such as the actions log being implemented, but it still requires people to click to read them if they were placed in view automatically as a module instead of a different screen that would help somewhat. I am very much for educating users and definitely against alienating them. Perhaps we could do a survey in the back end of Joomla? I know someone will resist this, but surely this could be a possibility?

There will always be people who do things the wrong way. I probably do. But I think that's mainly because I find it hard to find the right way to do things. By communicating efficiently to these developers you might find that they are less resistant to change as they get things right in the first place. It's always going to be harder to make them redevelop a component. But as you point out, the irregularities in core make it very hard to copy an example and know it is the right way of doing things.

In any case please don't stop feeding back your opinion, as even though I think I disagree you have educated me on some of the challenges the project faces.

mbabker commented 5 years ago

This whole request is about making life easier and quicker.

Once upon a time, a software project that was a predecessor to what Joomla is today had a very simple slogan: Power in Simplicity. I'd say Joomla's powerful but nowhere near simple. Be it in how the user interacts with the UI or how things are done in the PHP API. I dare say there are parts of Joomla that are heavily over-engineered, and are overly complex simply because of the types of things we try to support (such as the parameter inheritance for articles from categories and menu items and whatever other chains are in place), and that it's really time to look at everything from top to bottom, every line of HTML and PHP code, and simplify things massively. How we get there, I don't know, and I'm sure I'm going to disagree with people on what that means like they'll disagree with my opinions, but clearly some of the conventions that exist today are things that need to be deprecated.

uglyeoin commented 5 years ago

Then that should be a discussion to occur. Not on Github, but by reaching out. Too many things happen in small teams (silos) without asking the users. Ask the users in the backend. Ask the JUGs. Ask in Glip. Ask the Volunteers. I don't see any of that stuff happening. It sounds like you're suggesting something huge which I probably can't comprehend, but I think I probably agree with you. By making my change you can probably remove the need to look to the article if a menu item exists.

mbabker commented 5 years ago

And that's why I do feature work on GitHub and not in private silos 😉

Yeah, if we really were to break things down and re-evaluate Joomla as a whole, it would be a big ask and a big change. I think it's needed though. Because there is still no answer to what we are building Joomla to do and who we are building Joomla to serve, so Joomla continues to be built as a jack of all trades and a master of none. We have options on top of options and a heavily opinionated default UI to keep people from having to touch PHP/HTML layout files and no convention of what a "page" is within Joomla (the closest thing is a menu item and that's controversial at best because of things like the "home" item being the system default or wanting to assign modules some place without having menu items for every single thing), among quite a fair number of other quirks and oddities. Without that core vision or answers to the most important questions, Joomla keeps moving along as a platform where we take most things that people throw at us because it fits or loosely solves a problem. We don't have an opinionated core as it relates to what features we will (or won't) support, and when we say something is best left to the extension ecosystem that is often taken as a demeaning or derogatory comment about a feature being seen as not good or important enough for core. And I think we need to shake things up, massively, in a way that's going to be good for everyone (and I think I've openly said this before but I'll say it again now, if that comes at the expense of no longer being a CMS for 3% of the internet then so be it).

uglyeoin commented 5 years ago

@mbabker you confuse putting things publically in Github with putting things publically. Someone still needs to know that it is you making it. A newcomer will have no idea that you are the cogs of Joomla! It still requires someone to go to your Github to find out what you're up to. These things can be communicated much more efficiently. For example, I just found Joomla! PWA on your Github which is news to me. Joomla! only communicates inwardly. And not to its users, contributors or fans, unless they join a team.

ggppdk commented 5 years ago

This change is really correct, and some 3rd party extensions have already made it [EDIT] ... i mean the SEO Tab

About Joomla it needs to be / look simpler regardless of how many options it has or does not have

we need to have support for partial forms

we either have all the attributes presented in the form or all of them not present

because currently "binding" cannot handle partially posted attributes (unless you have a different "binding" implementation ...)

Removing all non needed attributes and saving the form without data loss is not possible

Furthermore, the UI should not show things only based on ACL / access but also on what is needed and the rest should be hidden (either completely unavailable or be available via a some "Advanced" button toggler)

Simplicity is must , and i know it is purpose of Joomla 4 , but the above are not present in Joomla 4

JoeJoomla commented 5 years ago

Without that core vision or answers to the most important questions, Joomla keeps moving along as a platform where we take most things that people throw at us because it fits or loosely solves a problem.

And I think we need to shake things up, massively, in a way that's going to be good for everyone (and I think I've openly said this before but I'll say it again now, if that comes at the expense of no longer being a CMS for 3% of the internet then so be it).

Based on my experience on the Capital Team the 'fuzziness' of what Joomla is all about caused some major potential sponsors to shy away from supporting or sponsoring Joomla. They said,

We need something to get behind and we don't know what Joomla is for so when you figure out why Joomla exists let us know

@mbabker - Your suggestions would at least solve sponsorship issues like the one above. Clarity is always a good thing.

uglyeoin commented 5 years ago

@ggppdk please comment on #15833 as I have closed this issue to keep things in harmony.
@JoeJoomla & @mbabker all excellent, valid and appreciated points, but taking the discussion away from this RFC. If there's another place to discuss I'm happy to have the discussion as it needs to be had. But I also thought we had a plan of action as to who we were targetting.