Add html to cpt main page / admin edit.php

You could do this by adding a notice, they appear in that spot.

Something like this would add a notice just for pages. You would obviously need to adjust the if statement for your CPT and to show on what pages you want.

function my_admin_notice() {

    global $pagenow;

    if (( $pagenow == 'edit.php' ) && ($_GET['post_type'] == 'page')) {
        echo '<div class="updated custom-notice"><p>My Notice</p></div>';
    }
}

add_action('admin_notices', 'my_admin_notice');

You could easily add an image or whatever else you want and style it by the custom-notice class.

enter image description here

And technically…

Of course you could use JS but if you just wanted to add a bit of text, you could even just use CSS. I know this won’t be a popular solution, but it is an option 🙂

For example, creating an admin stylesheet and adding the following would add text under the Pages title. Just adjust the class post-type-page

body.wp-admin.post-type-page .wp-heading-inline:after {
    content: "Here is some text";
    display: block;
}

enter image description here