Go Back   vb.org Archive > vBulletin Modifications > vBulletin 4.x Modifications > vBulletin 4.x Add-ons
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
HTTP Error Response Codes by BOP5 (Soft 404 Solution) Details »»
HTTP Error Response Codes by BOP5 (Soft 404 Solution)
Version: 2.2.1, by BirdOPrey5 (Senior Member) BirdOPrey5 is offline
Developer Last Online: Aug 2023 Show Printable Version Email this Page

Category: Mini Mods - Version: 4.x.x Rating:
Released: 03-10-2014 Last Update: 05-26-2014 Installs: 92
Supported Uses Plugins
Re-useable Code  

Brought to you by BirdOPrey5 / Qapla.com

This issue was brought to my attention by Sherrie at TAZ in this thread.

The issue is that when Google crawls a site and runs into the vBulletin No Permission message or other standard vBulletin error pages vBulletin gives the standard "200" HTTP response code which means everything is OK, even though there is no real content on these pages. Therefore Google considers these "soft errors" and they can damage overall SEO of your site if there are too many of them.

What this does is make vBulletin return standard HTTP "Error" responses- by default 403 (Not Authorized) for No Permission pages and 404 (Not Found) for general error messages. When Google sees these responses (as opposed to 200) it knows not to bother indexing the page and everyone is happy.

As of version 2.2 new options have been added to return custom response codes when the forum is closed or when the forum is busy. It will also send a retry header telling the crawler they can try again later. As of version 2.0 there is also a separate response code for search.php errors.

A limitation of this mod is it works best with PHP 5.4.0 or higher. As of version 2.0 If you are on an older version of PHP it may not work, but it should not cause any errors, so it is worth trying.

There are no instructions, once installed it is enabled by default. In Admin CP -> Settings -> Options -> HTTP Error Responses by BOP5 you can enable/disable the mod and choose the response codes you want for the different error types. You can use any standard HTTP response code available from this list at wikipedia.

The mod works fine on VB 3.x or 4.x including VB 3.8.8 (still in Beta) and VB 4.2.2.

To test that it is working use a free online status checker such as: http://httpstatus.io/
(Note the site will cache your result for a while so test with a unique URL each time.)

Before you install the mod any URL that will show a no-permission or other vBulletin error will show a status code of 200. After installing the same page will show a 403, 404, or other code that you have configured.

Added Boothby as a "co-author" as thanks for his contribution of code and ideas. :up:

------------------------------------------------------

Please "Mark as Installed" if you use this.
Donations always appreciated. :up:
[s]Nominate MOTM if you LOVE it! [/s] (You did, Thanks!)

Download Now

File Type: xml product-httpserrorresponsesbop5-v2.2.1.xml (7.4 KB, 238 views)

Screenshots

File Type: jpg http_codes_ss_settings-v2.jpg (107.6 KB, 0 views)

Supporters / CoAuthors

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.
10 благодарности(ей) от:
dandanch, DemOnstar, djbaxter, Max Taxable, Mecho, Mickie D, RichieBoy67, SaN-DeeP, tbworld, TheLastSuperman

Comments
  #112  
Old 02-26-2015, 02:22 PM
geovadim geovadim is offline
 
Join Date: Nov 2003
Posts: 32
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Great mod. Thanks.
Reply With Quote
  #113  
Old 04-14-2015, 01:02 AM
hilaryl hilaryl is offline
 
Join Date: Jan 2006
Location: Brisbane, Australia
Posts: 110
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Our PHP version is currently 5.2.11 - what can we do to effectively get the same result as this mod?
Reply With Quote
  #114  
Old 04-14-2015, 07:06 AM
BirdOPrey5's Avatar
BirdOPrey5 BirdOPrey5 is offline
Senior Member
 
Join Date: Jun 2008
Location: New York
Posts: 10,610
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

It may work on PHP 5.2 but it works best on PHP 5.4 or higher. You should try it, I don't think there is any major difference between 5.3 and 5.2 and I know it works OK on 5.3.
Reply With Quote
  #115  
Old 04-15-2015, 12:03 AM
hilaryl hilaryl is offline
 
Join Date: Jan 2006
Location: Brisbane, Australia
Posts: 110
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by BirdOPrey5 View Post
It may work on PHP 5.2 but it works best on PHP 5.4 or higher. You should try it, I don't think there is any major difference between 5.3 and 5.2 and I know it works OK on 5.3.
Thanks.

I was also wondering - I only wanted to change the response header for the No Permission pages, and just leave the other pages for now.

Is there a way I can do this? With the plugin, or just by creating my own plugin for those particular pages?

Cheers
Reply With Quote
  #116  
Old 04-15-2015, 07:34 AM
BirdOPrey5's Avatar
BirdOPrey5 BirdOPrey5 is offline
Senior Member
 
Join Date: Jun 2008
Location: New York
Posts: 10,610
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by hilaryl View Post
Thanks.

I was also wondering - I only wanted to change the response header for the No Permission pages, and just leave the other pages for now.

Is there a way I can do this? With the plugin, or just by creating my own plugin for those particular pages?

Cheers
Easiest way would be to set the options you don't want to change to 200 in the mod settings. 200 is what they would be normally. Keep only the No Permission pages as 403/404 whatever you choose.
Reply With Quote
  #117  
Old 04-29-2015, 12:14 AM
hilaryl hilaryl is offline
 
Join Date: Jan 2006
Location: Brisbane, Australia
Posts: 110
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Just thought I would update to say that I have successfully implemented this plugin in vBulletin 4.1.9 - running PHP 5.2.11.

All response headers are returning as per the settings.

Cheers!
Reply With Quote
  #118  
Old 05-14-2015, 11:44 PM
hilaryl hilaryl is offline
 
Join Date: Jan 2006
Location: Brisbane, Australia
Posts: 110
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hi BOP5,

I've added the plugin to our site and all is going well.

I've found that in addition to pages that require a user login to access particular areas, we also have pages where the administrator sets a specific password just for that forum.

With the plugin installed the pages header response code is returning a 404, where as it would be better if this was a 403 response, like the other login required pages.

Is that possible?

We only have a small amount of these pages, so it's not a big deal - just thought I would ask.

Thanks,
hilaryl
Reply With Quote
  #119  
Old 05-15-2015, 04:26 PM
Stratis's Avatar
Stratis Stratis is offline
 
Join Date: Jan 2010
Posts: 738
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Tested in PHP 5.2.17

PHP Code:
Date:Fri15 May 2015 18:20:28
GMTServer
:Apache
X
-Powered-By:PleskLin
Cache
-Control:private
Pragma:private
X-UA-Compatible:IE=Edge
X
-PHP-Response-Code:404 
I will see after some days with google, thank you very much, I appreciate this.
Reply With Quote
  #120  
Old 05-15-2015, 04:35 PM
BirdOPrey5's Avatar
BirdOPrey5 BirdOPrey5 is offline
Senior Member
 
Join Date: Jun 2008
Location: New York
Posts: 10,610
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I'm sure it's not impossible but it isn't something I can implement quickly. VB just uses the generic error call to display the request for the password so the response code will be whatever you have configured for generic errors, 404 by default.

To be honest very few people use forum passwords so I don't think I'll be adding functionality just for forum passwords.
Reply With Quote
  #121  
Old 05-17-2015, 09:36 PM
hilaryl hilaryl is offline
 
Join Date: Jan 2006
Location: Brisbane, Australia
Posts: 110
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by BirdOPrey5 View Post
I'm sure it's not impossible but it isn't something I can implement quickly. VB just uses the generic error call to display the request for the password so the response code will be whatever you have configured for generic errors, 404 by default.

To be honest very few people use forum passwords so I don't think I'll be adding functionality just for forum passwords.
Hi BOP5,

That's cool - I wasn't sure how that page was generated, but that makes sense as to why it's returning the 404.

Thanks for your quick reply.

Cheers
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 10:58 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.08872 seconds
  • Memory Usage 2,354KB
  • Queries Executed 27 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)bbcode_php
  • (3)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (4)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (1)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (10)post_thanks_box_bit
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (2)postbit_attachment
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • fetch_musername
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • post_thanks_function_fetch_thanks_bit_start
  • post_thanks_function_show_thanks_date_start
  • post_thanks_function_show_thanks_date_end
  • post_thanks_function_fetch_thanks_bit_end
  • post_thanks_function_fetch_post_thanks_template_start
  • post_thanks_function_fetch_post_thanks_template_end
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_attachment
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete