Instead of using a simple 404 page, create a dynamic 404 page like the one below. In the following code, a text is written for the user and he is asked to type the desired word, after the user types the desired word, a text Beautifully displayed to him, this text and word can be changed by you. Having a dynamic 404 page makes your audience stay on the 404 page even longer.


HTML
<!-- This script got from www.devanswer.com  -->
<div class="container">
  <form class="four-oh-four-form">
    <input type="text" class="404-input">
  </form>
  <div class="terminal">
      <p class="prompt">The page you requested cannot be found right meow. Try typing 'kittens'.</p>
      <p class="prompt output new-output"></p>
  </div>
</div>
<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/velocity/1.2.2/velocity.min.js'></script><div id="bcl"><a style="font-size:8pt;text-decoration:none;" href="http://www.devanswer.com ">Developers Answer</a></div>
                        

CSS
@-webkit-keyframes cursor-blink {
    0% {
        opacity: 0;
    }

    50% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

@-moz-keyframes cursor-blink {
    0% {
        opacity: 0;
    }

    50% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

@keyframes cursor-blink {
    0% {
        opacity: 0;
    }

    50% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

body {
    background-color: black;
}

.four-oh-four {
    position: relative;
    top: 0;
    left: 0;
    min-height: 100vh;
    min-width: 100vw;
    z-index: 2;
    background-color: black;
    transition: opacity 300ms ease-out;
    background-position: center center;
    background-repeat: no-repeat;
}

    .four-oh-four .dJAX_internal {
        opacity: 0;
    }

    .four-oh-four form, .four-oh-four input {
        position: fixed;
        top: 0;
        left: 0;
        opacity: 0;
        background-color: black;
    }

.terminal {
    position: relative;
    padding: 4rem;
}

    .terminal .prompt {
        color: #1ff042;
        display: block;
        font-family: "AndaleMono", monospace;
        font-weight: bold;
        text-transform: uppercase;
        font-size: 0.9em;
        letter-spacing: 0.15em;
        white-space: pre-wrap;
        text-shadow: 0 0 2px rgba(31, 240, 66, 0.75);
        line-height: 1;
        margin-bottom: 0.75em;
    }

        .terminal .prompt:before {
            content: "> ";
            display: inline-block;
        }

    .terminal .new-output {
        display: inline-block;
    }

        .terminal .new-output:after {
            display: inline-block;
            vertical-align: -0.15em;
            width: 0.75em;
            height: 1em;
            margin-left: 5px;
            background: #1ff042;
            box-shadow: 1px 1px 1px rgba(31, 240, 66, 0.65), -1px -1px 1px rgba(31, 240, 66, 0.65), 1px -1px 1px rgba(31, 240, 66, 0.65), -1px 1px 1px rgba(31, 240, 66, 0.65);
            -webkit-animation: cursor-blink 1.25s steps(1) infinite;
            -moz-animation: cursor-blink 1.25s steps(1) infinite;
            animation: cursor-blink 1.25s steps(1) infinite;
            content: "";
        }

.kittens p {
    letter-spacing: 0;
    opacity: 0;
    line-height: 1rem;
}

.kitten-gif {
    margin: 20px;
    max-width: 300px;
}

.four-oh-four-form {
    opacity: 0;
    position: fixed;
    top: 0;
    left: 0;
}
Javascript
var inputReady = true;
var input = $('.404-input');
input.focus();
$('.container').on('click', function (e) {
    input.focus();
});

input.on('keyup', function (e) {
    $('.new-output').text(input.val());
    // console.log(inputReady);
});

$('.four-oh-four-form').on('submit', function (e) {
    e.preventDefault();
    var val = $(this).children($('.404-input')).val().toLowerCase();
    var href;

    if (val === 'kittens') {
        showKittens();
    } else {
        resetForm();
    }
});

function resetForm(withKittens) {
    var message = "Sorry that command is not recognized."
    var input = $('.404-input');

    if (withKittens) {
        $('.kittens').removeClass('kittens');
        message = "Huzzzzzah Kittehs!"
    }

    $('.new-output').removeClass('new-output');
    input.val('');
    $('.terminal').append('<p class="prompt">' + message + '</p><p class="prompt output new-output"></p>');

    $('.new-output').velocity(
        'scroll'
    ), { duration: 100 }
}

function showKittens() {
    $('.terminal').append("<div class='kittens'>" +
        "<p class='prompt'>                                     ,----,         ,----,                                          ,---,</p>" +
        "<p class='prompt'>       ,--.                ,/   .`|       ,/   .`|                     ,--.              ,`--.' |</p>" +
        "<p class='prompt'>   ,--/  /|    ,---,     ,`   .'  :     ,`   .'  :     ,---,.        ,--.'|   .--.--.    |   :  :</p>" +
        "<p class='prompt'>,---,': / ' ,`--.' |   ;    ;     /   ;    ;     /   ,'  .' |    ,--,:  : |  /  /    '.  '   '  ;</p>" +
        "<p class='prompt'>:   : '/ /  |   :  : .'___,/    ,'  .'___,/    ,'  ,---.'   | ,`--.'`|  ' : |  :  /`. /  |   |  |</p>" +
        "<p class='prompt'>|   '   ,   :   |  ' |    :     |   |    :     |   |   |   .' |   :  :  | | ;  |  |--`   '   :  ;</p>" +
        "<p class='prompt'>'   |  /    |   :  | ;    |.';  ;   ;    |.';  ;   :   :  |-, :   |   \\ | : |  :  ;_     |   |  '</p>" +
        "<p class='prompt'>|   ;  ;    '   '  ; `----'  |  |   `----'  |  |   :   |  ;/| |   : '  '; |  \\  \\    `.  '   :  |</p>" +
        "<p class='prompt'>:   '   \\   |   |  |     '   :  ;       '   :  ;   |   :   .' '   ' ;.    ;   `----.   \\ ;   |  ;</p>" +
        "<p class='prompt'>'   : |.  \\ |   |  '     '   :  |       '   :  |   '   :  ;/| '   : |  ; .'  /  /`--'  /  `--..`;  </p>" +
        "<p class='prompt'>|   | '_\\.' '   :  |     ;   |.'        ;   |.'    |   |    \\ |   | '`--'   '--'.     /  .--,_   </p>" +
        "<p class='prompt'>'   : |     ;   |.'      '---'          '---'      |   :   .' '   : |         `--'---'   |    |`.  </p>" +
        "<p class='prompt'>;   |,'     '---'                                  |   | ,'   ;   |.'                    `-- -`, ; </p>" +
        "<p class='prompt'>'---'                                              `----'     '---'                        '---`'</p>" +
        "<p class='prompt'>                                                              </p></div>");


    var lines = $('.kittens p');
    $.each(lines, function (index, line) {
        setTimeout(function () {
            $(line).css({
                "opacity": 1
            });

            textEffect($(line))
        }, index * 100);
    });

    $('.new-output').velocity(
        'scroll'
    ), { duration: 100 }

    setTimeout(function () {
        var gif;

        $.get('http://api.giphy.com/v1/gifs/random?api_key=dc6zaTOxFJmzC&tag=kittens', function (result) {
            gif = result.data.image_url;
            $('.terminal').append('<img class="kitten-gif" src="' + gif + '"">');
            resetForm(true);
        });
    }, (lines.length * 100) + 1000);
}

function textEffect(line) {
    var alpha = [';', '.', ',', ':', ';', '~', '`'];
    var animationSpeed = 10;
    var index = 0;
    var string = line.text();
    var splitString = string.split("");
    var copyString = splitString.slice(0);

    var emptyString = copyString.map(function (el) {
        return [alpha[Math.floor(Math.random() * (alpha.length))], index++];
    })

    emptyString = shuffle(emptyString);

    $.each(copyString, function (i, el) {
        var newChar = emptyString[i];
        toUnderscore(copyString, line, newChar);

        setTimeout(function () {
            fromUnderscore(copyString, splitString, newChar, line);
        }, i * animationSpeed);
    })
}

function toUnderscore(copyString, line, newChar) {
    copyString[newChar[1]] = newChar[0];
    line.text(copyString.join(''));
}

function fromUnderscore(copyString, splitString, newChar, line) {
    copyString[newChar[1]] = splitString[newChar[1]];
    line.text(copyString.join(""));
}


function shuffle(o) {
    for (var j, x, i = o.length; i; j = Math.floor(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x);
    return o;
};