How should an error page (404) behave?

Should she redirect to another page? How long after?

Should

Have an index? A box and free search? Or already do the search suggesting pages based on what was typed?

Should she demonstrate that it is a mistake? Should it show the 404? Or is it better something cleaner and look like something normal and that just need to do something else?

Should the page maintain the design of the site or have something neutral? It should be well cleaned or with maximum information possible? Should you take advantage of something else? Publicity?

The error can be from the site or the user who typed something wrong, or even from who put a wrong link to it, then it can be from third parties. Is this a concrete case for to apologize or not?

Anyway, what has to be noted on page 404?

This question has already been asked in user experience . I wanted a more appropriate response to our culture. Note that the answers there were quite objective. Do the same here. Only answer if you know how to substantiate, even if it is from your experience, but you need the foundation.

Author: Vinicius Brasil, 2017-02-08

3 answers

Perhaps unfortunately, the error is classic. The Wikipedia defines it like this:

The HTTP response indicating that the client has communicated with the server, but the server cannot find what it was requested

Either by a link shared wrong by third parties or a link on your own page that no longer exists.

Should the page redirect to another page?

The requested page no longer exists or even never existed. There is no point in redirecting the user to some other page. He went to Page X because he wants to consume the content he was looking for in X, not Y or even XY.

What you can do is give similar content options, as I approach further, in " should the page have a search field?".

As pointed out by @ Anderson , if by chance you know which Page your client wanted to go to - this will happen if the page has been moved, HTTP return 301-redirect without showing the error page, which is more convenient. Think of it as a catch block, you treat the error and in some situations don't make it clear to the user. This happens with planes all the time during their flight, modules and sub-modules stop working and others take over.

"treating the error is better than showing it" is one of 10 usability heuristics. I recommend reading "Preventing User Errors: Avoiding Unconscious Slips" from Page Laubheimer, UX specialist at Nielsen Norman Group, an American UX and user experience consultancy.

Should the page have a search field?

This point focuses on giving an alternative to those who access. If a restaurant no longer has the shrimp to Alfredo sauce that you usually ask for, what answer is friendlier?

  1. we no longer have that dish.
  2. we no longer have this dish, but what do you think of shrimp to sauce White?

As a consumer, I prefer to have a similar option, I go with the two.

Provide a link to the home page or a search field. Or both! Whatever it is, a page that reports an error but does not give any solution attempt or escape hurts the user experience.

If you can know the intention of the user, as in the case of shrimp, and you have the search field, fill in the field with something relevant to the intention. Sometimes the user is useless go to https://www.maniero.com.br/qwe8jas0 (the correct page was /qwe8jas1) and you fill the search field with qwe8jas0.

In this case, it would be interesting to rethink your link structure to something friendlier, like https://www.maniero.com.br/blog/csharp/tratando-erros and fill the search with tratando erros maybe.

In addition to filling the search can add links such as:

  • looking for a blog?
  • looking for C # content?

Since you acknowledge that your site has /blog and /blog/csharp.

Of course, all this is it's possible. Sometimes it followed a totally unintelligible link or a shortened link like https://ux.stackexchange.com/q/84856/106770.

You can use subdomains as well. If I am in office.microsoft.com and access a page that does not exist, a link appears saying " Looking For Office products?". see in action.

Should the page demonstrate that it is an error?

Yes, the page must demonstrate that it is a error. But depending on your audience it doesn't have to be so clear as to show the code 404. Here are some examples:

  • cannot find the requested page. The page you are looking for is not available on the market for your region or no longer exists. (taken from the MS Office store)
  • the page you are looking for was not found. [search field]. Or look at the sitemap. (removed from apple.com/br)
  • looking for something? Sorry, but the page you typed does not exist on our site. Go to the home page of Amazon.com.br (removed from Amazon)
  • Oops! Looks like we lost your page. Sorry, we couldn't find the page you were looking for. Why not do a quick search to be if we can find the information you were looking for? [search field]. [sitemap in the form of a subway map]. (withdrawn from hallaminternet.com)

Jakob Nielsen, author of several usability and UX books, defined, in 1990, heuristics for interface design, in heuristic evaluation of user interfaces (do not click on the link if you do not want to download the article by Google Scholar). It advocates clarity of the progress and status in which the application finds itself.

In 1995, to reinforce the heuristics defined by him, Nielsen publish :

Error messages should be expressed in plain language (without codes) and accurate to indicate the problem, and constructively suggest a solution.

In Contra partida, when working with a technical audience, such as developers, the error code can help indicate the problem and also lead the same to a certain path. A good example is the MSDN , Microsoft's development portal, which uses on its 404 pages the explicit error.

Should the page maintain the design of the site or have something neutral?

Keep your pattern. The discrepancy between the Amazon site and the error page makes this clear. If it were not for the logo I would say it was on another site.

Make it clear that something happened and the page was not found, give alternatives and only. Take a break from the ads and let the user find their way there.

Is this a concrete case for apologizing or not?

The customer is already frustrated because they may no longer be able to find the content they were interested in or something similar. Depending on your audience your page can be up to a little more humorous. If it is more formal, apologize or regret what happened ("unfortunately"). Be direct and provide a way to contact the developer so that there is a possible solution.

And what should my page look like?

  1. consistent. keep your layout pattern.
  2. Clara. be clear with the user of what is happening, without including error codes or technical data explicitly if they they don't add anything to your audience.
  3. alternative. Don't be generic, treat the problem give content options similar to what the user requested through links and a search field.
  4. minimal. seize the space for what matters, present what is relevant and cut out the superfluity.
  5. easily viewable. Avoid scrolling, let your content be viewed with design and practicality.

See a fragment of a 404 page of StackOverflow.

It gives many options, way of contact with developers, is clean and direct. As it works with a technical audience, it makes clear the HTTP code 404 (it is not in the image because it would get too big)

 18
Author: Vinicius Brasil, 2017-11-07 20:51:17

First, I think it's interesting to define what an error message is and what it's for.

According to the reliable dictionaries of the Portuguese language, Priberam, Michaelis and Aulete an error, synthesized, would be:

That which results from a poor understanding or poor analysis of a fact or a subject. Deception, inaccuracy or inaccuracy. Inaccurate conceptualization of an idea or flawed interpretation of a subject, of a theme; inaccuracy. Lack of correctness, accuracy, perfection, etc.; Failure; Defect; Imperfection.

About purpose of an error message, the following definition fits well:

The purpose of an error message is to help the user who encountered the error, learn how to avoid the behavior that caused the problem. The program has encountered a situation that it can not handle and needs to tell the user, so that the user (or someone else) understands and can avoid the situation that the program cannot handle. [...] Generic error message that says, "an unexpected error occurred" is totally useless in this goal. It gives the user no suggestions on what can be changed to avoid the problem, or even fix that problem.

By understanding this definition, it is possible to establish three important points for a good error message:

  • inform what the problem is.
  • make you feel like you there was something you could do about it.
  • speak like a human and be a consistent extension of the personality of the rest of the application.

Do a redirect to another page?

Should she redirect to another page? How long after?

Generally speaking, it is not recommended that you redirect the user to another page, especially if it is to a page outside your domain. The main reason is that you you never know for sure where the user really wants to go.

If the user is trying to access an old URL that has been moved, it is good to redirect them to the old URL and report that there has been a change of address, and then give the option to follow the link to the new page. But you really should be using a 3xx redirect instead of a 404.

HTTP Error Codes should never be exchanged and / or misused. Imagine if you for servicing a page that is returning error 500 (Internal Server Error), while in fact, the actual error is 403 (Access Denied). Unless you are a seer, and I apologize if you are, how are you going to find out where the error came from and how are you going to fix it?

Leave a search box?

Should

Have an index? A box and free search? Or already do the search suggesting pages based on what was typed?

Depends on what kind of application and the target audience is being treated. In more common cases, it is interesting to leave a box for free search. Especially if you already have a fixed navigation bar with a search box (as in the case of Stack Overflow ) that will show more links suggesting other locations, it is unnecessary to do both.

In these cases, adopting a page showing related topics is advantageous. It may not be the friendliest alternative in matters of UX ( some agree, others they disagree ), but as in the case of Stack Overflow that keeps the navigation bar constantly on all pages, the option of page suggestions is something to consider.

Show the error explicitly?

Should she demonstrate that it is a mistake? Should it show the 404? Or is it better something cleaner and look like something normal and that just need to do something else?

It is useful to show the number 404, for the following reasons:

  • he is a shorthand for error. The number 404 already synthesizes an error message;
  • the vast majority of people know what 404 means, even if in a simplified way;

Demonstrating the error is the best option. It is already public knowledge that escaping from problems, is not the best alternative (both in life, and in programming). The problem simply grows, turns into a snowball and will only generate more headaches. It even has Talking phrases addition:

Do not run away from your problems or despair. Face them face to face with courage and determination, for if you do not solve them today, you will certainly have to do it tomorrow because they will continue to exist until they are solved, prolonging your suffering.

Source: Thinker

Briefly, I already talked about this in another answer :

[...] In a synthesized way, explain the minimum for your user, but in a clear and understandable way, and if possible do something that allows the user to know that the problem is not being ignored. Let them take some action, such as sending the logs or sending an error report. Alternatively, let them know that the automatic action has already been taken and that your technical personnel have been automatically notified that this error has occurred and are working on it.[...]

How should the design of the error page look like?

A page should keep the design of the site or have something neutral? Should it be well cleaned or with as much information as possible? Should you take advantage of something else? Publicity?

The above excerpt already covers a part of the Question:

[...] In a synthesized way, explain the minimum to your user, but in a clear and understandable way, and if possible do something that allows the user to know that the problem is not being ignored. Let them take some action, how to send the logs or send an error report. Alternatively, let them know that the automatic action has already been taken and that your technical personnel have been automatically notified that this error has occurred and are working on it.[...]

Keep the design in the default of your site and the error message in a simple and understandable way. Some reasons to follow this idea are:

The error should be shown to whoever will solve the problem. Is it the user? No! So don't show him what he won't solve. Show a minimal, complete, and understandable error message that tells you why and if you can do anything to collaborate.

  • If you change the design of the error page, your user may think that he clicked on some improper link, and was redirected to some third-party website.

Try to maintain cohesion between error pages with the rest of your site. Be a consistent extension of the personality of the rest of the application. And please no ads when error is occurring. By doing this, the user could easily think: "it has time to place ads, but it does not solve this crap."

  • so alternatively, try to understand that when the most lay user sees an error message, the first thing he looks for, almost always, is the close button (it's amazing). You can give 2 lines of message, or a whole stack trace, and even then, there will be users who will not read.

Want an example of this? I'm sure that not half of the people of the same Stack Overflow in English know firsthand what appears written in the modal that appears when you click the button answer your question (I know you looked now to see what you had written). So from these and others, you can see that there is no reason to report multiple "strange" and "numerous error lines"codes.

Is it worth making an apology?

The error can be from the site or the user who typed something wrong, or even from who put a wrong link to it, then it can be from a third party. This is a case concrete to apologize or not?

Apologize . The user is accessing your website, your responsibility. Imagine the following situation: you go to the bakery and have no bread, for whatever reason, since the machine has broken, the power has run out, the Baker broke his leg, there was no more yeast, or there was no downhill harvest, and there were no ways to make flour. The owner of the bakery, will say:

I'm sorry, but it happened XYZ, and then blah, blah, blah...

Besides being a matter of education (it's good and I like it, and I believe you like it too), you'll be showing that you care about the user. There is also an excerpt from the excellent answer on the appropriate apology which reads:

[...] The fact is that the excuse is an important social lubricant, the character of which in the interaction also serves as a way to indicate the real intention of the interlocutor (something like "I really did not want to tell you"). hurt / Disturb on purpose"), and so it is traditionally used to start a conversation considering a possible interruption of any introspection / activity of the recipient of the message [...]

See that when you apologize, you are "preparing the atmosphere" of the interaction, which still makes it possible, in this case, to offer other products to your customer (just as the bakery owner does). If that were the case, he would say something like, " we don't have X today, but how about take a tasty Y and / or Z. We also have a and B available if you want".

Concluding

After these considerations, I believe you can also take a look at these 404 error pages, which exemplify what was said in this answer:

Notice that all, implements almost everything that has been said. Have apologies, synthesized information, search box, and the standard usage convention. Logical that there is no error page perfeita perfect. The logic of each page varies greatly with its target audience and the philosophy of the developers. But in general they follow conventional wisdom and " good practices ".

 8
Author: UzumakiArtanis, 2020-06-11 14:45:34

About 404:

  • Well, let's say the code 404 is just an HTTP protocol response code that notifies systems and APIs about an invalid search within that system. (TL; DR: wrong URL address within that domain). There are several other codes, and they have the sole purpose of helping the programmer to deal with exceptions about the application.

My view on the pages:

Most sites take advantage of this status code and display pages with this error code to your customers in case the URL accessed is incorrect.

  • in my view it is necessary that there be a brief and clear text of the possible error. Also do not make redirects and maintain the structure of the site, because it is important that the user knows where and why the error. (Leave an easy search or even create a mechanism that makes a suggestion by related words that URL is a valid solution also)

Examples:

  • User tried to access site.com/home but accessed site.com/hoem

  • User tried to access a page that no longer exists.

Notes:

It is also common to see the use of maintenance pages of the site (in case it is out of the air due to some error, problem or even a maintenance). On this page yes you should explain in a generic way about the problem and try redirecting to the same request fails over and over again.

 1
Author: Paulo Martins, 2018-06-05 12:00:07