Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

I use a custom post type in one of my sites for image slideshows. I have publicly queryable set to false/off but when Google crawls my site I see 404 errors for the URLs for my slideshows. I thought that by having publicly queryable off Wordpress would not create those front end URLs.

How can I completely turn off the front end URLs and pages for my custom post type?

---- EDIT ------------------------------------------------- By adding public => false, has_archive => false, publicaly_queryable => false, and query_var => false I have successfully gotten rid of the 404 errors in Google. I also added the function provided by @Norcross just for good measure.

share|improve this question
    
What is your URL? –  s_ha_dum Dec 1 '12 at 15:41
add comment

2 Answers

up vote 0 down vote accepted

Another option would be to set a 301 redirect for all the slideshow CPTs to redirect somewhere (like the home page). This would get picked up by Google, and also make sure no one accidentally gets on them

function rkv_slideshow_redirect() {
    global $wp_query;

    // redirect from 'slideshow' CPT to home page
    if ( is_archive('CPT_NAME_HERE') || is_singular('CPT_NAME_HERE') ) :
        $url   = get_bloginfo('url');

        wp_redirect( esc_url_raw( $url ), 301 );
        exit();
    endif;
}

add_action ( 'template_redirect', 'rkv_slideshow_redirect', 1);
share|improve this answer
    
Thanks! All of my slideshow 404 errors in Google are now gone. I added public => false, has_archive => false and publicly_queryable => false and they no longer show up as 404 errors. I did add the code you provided to my functions.php file "just in case". Thanks again! –  dkmojo Dec 3 '12 at 17:36
add comment

Apparently your slideshow, not WordPress, it revealing those URLs. I assume it is wrapping the images in the slideshow with links to the custom posts, which you don't want. You need to edit the slideshow so that it doesn't do that.

share|improve this answer
    
The slideshow uses wp_get_attachment_image_src to pull in the images within a loop so there is no link to the slideshow custom post type. I did just set the "public" parameter in my register custom post type method to false. I'll see if that helps. Thanks for your input! –  dkmojo Dec 1 '12 at 15:39
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.