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

Reply
 
Thread Tools
Photopost Pro Canonical Links Tag for SEO Details »»
Photopost Pro Canonical Links Tag for SEO
Version: 1.00, by cellarius cellarius is offline
Developer Last Online: Apr 2022 Show Printable Version Email this Page

Category: Miscellaneous Hacks - Version: 3.8.2 Rating:
Released: 04-29-2009 Last Update: 04-29-2009 Installs: 32
Uses Plugins Template Edits Auto-Templates
 
No support by the author.

Note on versions:
This should work with every vB-version that uses the plugin system (3.5 and above). If not, please let me know. It also should work with older versions of Photopost. I tetsted on vB 3.8.2 and Photopost 6.22.


The problem: Duplicate content


One of the biggest problems of Photopost Pro when aiming at SEO-optimization is duplicate content - myriads of possible urls point to the same page. This leads to heavy penalization by search engines like Google. Although this has been critizised for years by Photopost customers, the developers were less than helpful, stating this was not "an issue with our program at all"; there are no indications whatsoever that this will ever be addressed.

A solution: canonical links

Not long ago, the major search engines (including Google, Microsoft and Yahoo) introduced a new tag, designed to deal with just that problem. It allows you to define a canonical url for pages that can be accessed via various urls. This is just what Photopost needs and should really help SEO-wise (see Googles explanation):
<link rel="canonical" href="URL" />

What this product does

I wrote a small plugin that is only active on Photopost's showphoto.php, this being the most important and most duplicated page. It extracts the photonumber from the URL and constructs a canonical url that is made up only from the URL to the script and one parameter (the photo number). It works with both Photopost's URL versions (standard and spider-friendly). Additionally, if the URL that was used to call the page is not identical to the canonical URL, a "noindex"-Tag will be added.

Example:
URL to call the page:
Code:
http://www.roma-antiqua.de/forum/galerie/showphoto.php?photo=15
will insert:
Code:
<link rel="canonical" href="http://roma-antiqua.de/forum/galerie/showphoto.php?photo=15" />
while

URL to call the page:
Code:
http://www.roma-antiqua.de/forum/galerie/showphoto.php?photo=15&ppuser=1
will insert
Code:
<meta name="robots" content="noindex" />
<link rel="canonical" href="http://roma-antiqua.de/forum/galerie/showphoto.php?photo=15" />

Installation
  • import the product
  • if you're using Template Management System, you're done. Otherwise, add $cel_photopost_canonical at the top of your headinclude template.


### Don't forget to click install! ###
(No support if you don't)

Download Now

File Type: xml product-cel_photopost_seo_1-0.xml (3.1 KB, 132 views)

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.
Благодарность от:
m7sen

Comments
  #22  
Old 07-16-2009, 09:46 AM
cellarius's Avatar
cellarius cellarius is offline
 
Join Date: Aug 2005
Posts: 1,987
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

If you're running the vBSEO Sitemap Generator:

Quote:
Originally Posted by cellarius View Post
I corrected an issue and added seperate database support to benFF's addon for Photopost Pro:
http://www.vbseo.com/f44/sitemap-add...tml#post224775
Reply With Quote
  #23  
Old 07-16-2009, 04:13 PM
jw00dy's Avatar
jw00dy jw00dy is offline
 
Join Date: Dec 2004
Location: Utah
Posts: 250
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thank you cellarius!
Reply With Quote
  #24  
Old 07-21-2009, 07:20 AM
Worlocked Worlocked is offline
 
Join Date: Oct 2007
Posts: 4
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

This is a very nice and easy fix to one of the worst issues with PP that they will never fix. Marked installed.

I have one question/request though. I have the spider-friendly URLs on, but I used to have a sitemap generator that produced the sitemap with the standard URLs (showphoto.php?photo=XXX). As a result, I have a lot of photos indexed with both versions. This plugin as is works with both, which means it will produce a canonical URL for each version. Is there a way to make this check which type of URL is selected in the admin options of PP, and then produce only that format of canonical URL?

For instance, if you have spider friendly URLs active, and a search engine visits a showphoto.php?photo=XXX page, the noindex meta would be inserted along with the canonical URL as showphoto.php/photo/XXX ? That would be excellent if its possible. Either way, you've managed to do more than PP has for years with this one little plugin.
Reply With Quote
  #25  
Old 07-21-2009, 12:55 PM
Xencored Xencored is offline
 
Join Date: Sep 2008
Location: UK, Scuny
Posts: 1,337
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hi cellarius
sorry for my dumb arse question but would this work for Vbgallery (made by photopost)
i know it says photopost pro just trying my luck here

Cheers
Reply With Quote
  #26  
Old 08-03-2009, 07:30 AM
cellarius's Avatar
cellarius cellarius is offline
 
Join Date: Aug 2005
Posts: 1,987
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Worlocked View Post
I have one question/request though. I have the spider-friendly URLs on, but I used to have a sitemap generator that produced the sitemap with the standard URLs (showphoto.php?photo=XXX). As a result, I have a lot of photos indexed with both versions. This plugin as is works with both, which means it will produce a canonical URL for each version. Is there a way to make this check which type of URL is selected in the admin options of PP, and then produce only that format of canonical URL?
That would be possible, but for your problem I'd say it would be the wrong path. In your place, I'd decide which URL I want to use, and then implement a 301-redirect via htaccess to redirect the other. This way, you get the "wrong" URLs out of the search engines.
Reply With Quote
  #27  
Old 08-03-2009, 09:04 AM
Defkalion Defkalion is offline
 
Join Date: Jan 2007
Location: Athens, Greece
Posts: 201
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Cool, thanks. Is there any way to check if this works after we install it, and somehow check the results after a few days/weeks on google somehow?
Reply With Quote
  #28  
Old 08-03-2009, 09:21 AM
cellarius's Avatar
cellarius cellarius is offline
 
Join Date: Aug 2005
Posts: 1,987
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Defkalion View Post
Cool, thanks. Is there any way to check if this works after we install it
Of course. Just check the html source code in your browser. The meta tag will be visible there.
Quote:
and somehow check the results after a few days/weeks on google somehow?
Use Google Webmaster tools. There you can get information on how many and which pages are listed in the Google index.
Reply With Quote
  #29  
Old 08-03-2009, 09:22 AM
cellarius's Avatar
cellarius cellarius is offline
 
Join Date: Aug 2005
Posts: 1,987
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by animemike View Post
Hi cellarius
sorry for my dumb arse question but would this work for Vbgallery (made by photopost)
i know it says photopost pro just trying my luck here
As you said: Photopost Pro, not vBG.
Reply With Quote
  #30  
Old 08-04-2009, 08:43 AM
Worlocked Worlocked is offline
 
Join Date: Oct 2007
Posts: 4
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by cellarius View Post
That would be possible, but for your problem I'd say it would be the wrong path. In your place, I'd decide which URL I want to use, and then implement a 301-redirect via htaccess to redirect the other. This way, you get the "wrong" URLs out of the search engines.
I actually tried that before, but I couldn't come up with any redirect rules that would accomplish it.
Reply With Quote
  #31  
Old 09-01-2009, 01:51 PM
klaush klaush is offline
 
Join Date: Oct 2005
Posts: 340
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Have to uninstall this because of this issue.

Any idea what causes this error?
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 06:09 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.05752 seconds
  • Memory Usage 2,339KB
  • Queries Executed 26 (?)
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
  • (4)bbcode_code
  • (6)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
  • (3)pagenav_pagelink
  • (11)post_thanks_box
  • (1)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
  • (1)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