More than anything this is simply a thread to remind myself what coding changes I've made to vBulletin 3. That way when an upgrade happens, it's easy to redo them. "archive" folder changed to "library" (no longer doing) archive PHP file altered so the <TITLE> tag shows better info (individual forum name, individual post title, etc.) where appropriate (fixed in vB 3.0.1, so not needed) functions_online.php file references "library" instead of "archive" so the Who's Online functions display properly for people in the archive. (no longer doing) External syndication script added to write the five most recent topics to a text file instead of generating dynamically. That script is called within the newthread.php script (regenerated when someone posts a new thread). (Altered this so no changes to newthread.php is required [nothing needs to be redone on an upgrade]) In the functions.php file, I'm doing a few simple str_replace() functions so the URLs aren't so ugly. For example, when the board references the main forum, it will show as http://forums.digitalpoint.com/, instead of http://www.forums.digitalpoint.com/index.php? Takes into account URLs with session IDs in them so it doesn't mess them up. (functionality moved to variable replacement in Admin CP, so it carries over on upgrades, added str_replace to functions.php file so it also works for HTTP redirects) Altered the automatic robot detection (for suppressing session IDs within the URL) to support the new Yahoo Slurp spider as well as MSN Bot. (vB 3.0.1 added support for Yahoo, but still not MSN bot) Fixed bug in vBulletin where the username validation when sending a private message was using a case-sensitive query. In private.php, I changed WHERE username IN('" . implode("', '", $recipients) . "') to WHERE username=\"" . implode('", OR username="', $recipients) . "\" (fixed in vB 3.0.1 [thanks to me])
The last item on the list, I reported as a bug to the vBulletin developers (along with the code to fix it). Updated to vBulletin 3.0.1 today and low and behold, there was my code in there... so don't need to hack it during updates anymore. yay! - Shawn
In the functions.php file, I'm doing a few simple str_replace() functions so the URLs aren't so ugly. For example, when the board references the main forum, it will show as http://forums.digitalpoint.com/, instead of http://www.forums.digitalpoint.com/index.php? Takes into account URLs with session IDs in them so it doesn't mess them up Maybe the above statement should answer this question, but is there any reason why you used the subdomain format "forums.digitalpoint.com" rather than something like "www.digitalpoint.com/forum" ? Is that just a vbulletin requirement? Thanks
It could be done either way... but forums.digitalpoint.com lets it be on a different server than www (which it is). - Shawn
Shawn, I love seeing the recent topics in the forum listed every morning when I check keywords. Is this hard to do? I would love to do something similar with my own site but I use phpbb (and am not a programmer). Is there a relatively simple way that I could accomplish the same type of thing? Any help or tips would be awesome! Thanks, Brandy
Hi Shaun I have noticed that my adsense ads display correctly on domain/forums/ but not on the default domain/forums/index.php? I see you have changed it above - what do you need to do so that the home page is simply /forums/ ? I read the VB info many times but am lost Thanks
It's pretty much just some str_replace functions within the functions.php file. Basically things like remove "index.php?", and replace it with nothing. Also, one thing to note about running AdSense in a forum, is it uses a LOT of bandwidth. Usually more than all other users combined. Since the same page can have so many different URLs, Google will spider each unique page. Also, Google does not support HTTP 1.1, which allows for compression of the pages. So the same page spidered by Google typically takes 5-6 times more bandwidth than a user viewing it.
OK - found the functions file - very large ! Where abouts should I add the code ? And, what code should I use ? (php is all new to me) Thanks
PS - ref: the bandwidth- yes, I've seen the adsense spiders come straight in after someone has viewed. The other thing is Google is spidering normally about 4 or 5 times a day at the moment - is this normal ??
On line 1958, you can add this: $output = str_replace (array ('"index.php?"', '.php?"'), array ('"./"', '.php"'), $output); PHP: It's the line before: if ($vboptions['gzipoutput'] AND !headers_sent()) PHP: Although, I ended up taking it out of there, and instead doing it within the Admin Control Panel -> Styles & Templates -> Replacement Variable Manager because it was a little cleaner for what I was needing to do.
I forgot about the replacement variable thingy - just did it - words perfect ! Thanks Shaun ps - google is still spidering my forum - 4th time today (proper google not adsense - strange ??)
Hi Shawn I have managed to (hopefully) get to the end of getting rid of multiple url's for same content, plus a number of other SEO issues with VBulletin. Have a look at my personal forum posting Search Engine Optimize VBulletin.
What are the different additional Spider Identification Strings that you have used in addition to the standard. You have mentioned somewhere that you have hacked the "Currently active users vewing this thread" so that it shows the spiders. Can you explain how to do this for us. Thanks Shawn
Shawn, I'd like to ad a "five most recent topics" box to our site (on regular html pages), like I see when using the serps checker here. I've searched vbulletin.org and.com and can't find it. Where do I get it or how do I do it?
External Data Provider vBulletin Options > vBulletin Options > External Data Provider Set it through above
I clicked 'yes' for the Javascript option...: "This setting allows you to enable/disable the Javascript content syndication system that allows you to embed vBulletin data in HTML pages." So what do I do now, how do I call the content into a little "Recent Posts" box like Shawn does?