<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Denver SEO Blog &#187; Shopp</title>
	<atom:link href="http://www.seodenver.com/category/shopp/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.seodenver.com</link>
	<description>Websites designed and optimized for results.</description>
	<lastBuildDate>Fri, 10 Feb 2012 14:53:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Add Canonical Tags to Shopp Plugin for SEO</title>
		<link>http://www.seodenver.com/add-canonical-tags-shopp-plugin-seo/</link>
		<comments>http://www.seodenver.com/add-canonical-tags-shopp-plugin-seo/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 18:36:31 +0000</pubDate>
		<dc:creator>Zack Katz</dc:creator>
				<category><![CDATA[Shopp]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[All in One SEO Pack]]></category>
		<category><![CDATA[Canonical]]></category>
		<category><![CDATA[Canonical Tag]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Shopp Plugin]]></category>
		<category><![CDATA[Shopping Cart]]></category>
		<category><![CDATA[WordPress SEO]]></category>
		<category><![CDATA[WordPress Shopping Cart]]></category>

		<guid isPermaLink="false">http://www.seodenver.com/?p=1101</guid>
		<description><![CDATA[I am building a store using the Shopp plugin, and I noticed that there are possibilities for duplicate content issues: A product can be accessed both by /shop/productID and /shop/product-slug A tag can be accessed using /shop/?shopp_tag=tag-uri and /shop/tag/tag-slug A &#8230; <a href="http://www.seodenver.com/add-canonical-tags-shopp-plugin-seo/">Continue reading <span class="meta-nav">&#8594;</span></a>
Related posts:<ol>
<li><a href='http://www.seodenver.com/shopp-plugin-edit-product-link/' rel='bookmark' title='Edit Product Link for Shopp Plugin'>Edit Product Link for Shopp Plugin</a></li>
<li><a href='http://www.seodenver.com/add-taxonomy-support-allinone-seo-pack/' rel='bookmark' title='Add Custom Taxonomy Title Tags Support to All-In-One SEO Pack'>Add Custom Taxonomy Title Tags Support to All-In-One SEO Pack</a></li>
<li><a href='http://www.seodenver.com/add-store-sitemap-shopp-plugin/' rel='bookmark' title='Add a Store Catalog XML Sitemap to the Shopp Plugin'>Add a Store Catalog XML Sitemap to the Shopp Plugin</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<img class="post_image aligncenter" src="http://www.seodenver.com/wp-content/uploads/2009/10/Screen-shot-2009-10-21-at-12.32.05-PM.jpg" width="500" height="64" alt="Shopp Plugin SEO" /><p>I am building a store using the <a href="http://shopplugin.net/">Shopp plugin</a>, and I noticed that there are possibilities for duplicate content issues:</p>
<ul>
<li>A product can be accessed both by <code>/shop/{productID}</code> and <code>/shop/{product-slug}</code></li>
<li>A tag can be accessed using <code>/shop/?shopp_tag={tag-uri}</code> and <code>/shop/tag/{tag-slug}</code></li>
<li>A tag can be accessed using <code>/shop/?shopp_category={category-id}</code> and <code>/shop/{category-uri}</code></li>
</ul>
<p>Should Google somehow find it&#8217;s way into indexing these pages, the value of the identical indexed pages may drop.  <a href="http://googlewebmastercentral.blogspot.com/2009/02/specify-your-canonical.html">Canonical tags</a> aim to remedy this situation, and are implemented by the hugely popular and awesome <a href="http://wordpress.org/extend/plugins/all-in-one-seo-pack/">All in One SEO Pack plugin</a> (<a rel="dofollow" href="http://www.seodenver.com/tag/all-in-one-seo-pack/">see my other SEO tips regarding AIOSEO Pack plugin</a>).</p>
<p>The Shopp plugin does not feature canonical tag support, so here&#8217;s a modification you can make that will add support for it without changing any core files in All in One SEO Pack, or in Shopp.<span id="more-1101"></span></p>
<h4>Add the following code to your theme&#8217;s functions.php file</h4>
<pre>function shopp_canonical_tag() {
	global $Shopp, $aioseop_options; // The All in One SEO Pack Options Variable

	// Get all the pages Shopp is using and make an array
	$ShoppPages = $Shopp-&gt;Settings-&gt;get('pages');
	$pages = array();
	foreach($ShoppPages as $ShoppPage) { $pages[] = $ShoppPage['id']; }

	// If in a Shopp page...
	if(is_page($pages)) {
		// Path to Shopp installation
		$path = $Shopp-&gt;shopuri;
		$link = '';
		if($Shopp-&gt;Product-&gt;id) { // If in a product
			$link = $Shopp-&gt;Product-&gt;slug;
		}
		elseif($Shopp-&gt;Category-&gt;id) { // If in a category
			$link = $Shopp-&gt;Category-&gt;uri;
		}
		elseif($Shopp-&gt;Category-&gt;tag) { // If in a tag
			$link = $Shopp-&gt;Category-&gt;slug.'/'.$Shopp-&gt;Category-&gt;uri;
		}
		elseif(isset($Shopp-&gt;Cart-&gt;data-&gt;Search)) { // If in a search result
			$link = 'search/'.$Shopp-&gt;Cart-&gt;data-&gt;Search;
		}
		if($link) {
			// Turn off All in One SEO pack canonical URLs for this page
			$aioseop_options['aiosp_can'] = false;

			// Add the proper trailing slashes to the link using this WP function
			$link = trailingslashit($path.$link);
			echo "\n\t".'&lt;link rel="canonical" href="'.$link.'" /&gt;'."\n\t";
		}
	}
}
// Add the function to your site's &lt;head&gt; and run it before AIOSEO Pack
add_action('wp_head', 'shopp_canonical_tag', 1);</pre>
<p>When Shopp tells this function that it is on a product, tag, search, or category page, it will show a canonical tag to that page. If Shopp doesn&#8217;t have an available page, it will leave it up to the SEO Pack plugin to show its canonical tag as usual (which works on the checkout, account, and other pages).</p>
<p>This code will set you up nicely for a SEO&#8217;d-out  shopping cart. <strong>Leave feedback below!</strong></p>

<p>Related posts:<ol>
<li><a href='http://www.seodenver.com/shopp-plugin-edit-product-link/' rel='bookmark' title='Edit Product Link for Shopp Plugin'>Edit Product Link for Shopp Plugin</a></li>
<li><a href='http://www.seodenver.com/add-taxonomy-support-allinone-seo-pack/' rel='bookmark' title='Add Custom Taxonomy Title Tags Support to All-In-One SEO Pack'>Add Custom Taxonomy Title Tags Support to All-In-One SEO Pack</a></li>
<li><a href='http://www.seodenver.com/add-store-sitemap-shopp-plugin/' rel='bookmark' title='Add a Store Catalog XML Sitemap to the Shopp Plugin'>Add a Store Catalog XML Sitemap to the Shopp Plugin</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.seodenver.com/add-canonical-tags-shopp-plugin-seo/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Add a Store Catalog XML Sitemap to the Shopp Plugin</title>
		<link>http://www.seodenver.com/add-store-sitemap-shopp-plugin/</link>
		<comments>http://www.seodenver.com/add-store-sitemap-shopp-plugin/#comments</comments>
		<pubDate>Thu, 01 Oct 2009 21:19:28 +0000</pubDate>
		<dc:creator>Zack Katz</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Shopp]]></category>
		<category><![CDATA[Google Base]]></category>
		<category><![CDATA[Google Base Feed]]></category>
		<category><![CDATA[RSS]]></category>
		<category><![CDATA[RSS Feed]]></category>
		<category><![CDATA[Shopp Plugin]]></category>
		<category><![CDATA[Shopping Cart]]></category>
		<category><![CDATA[WordPress RSS Feed]]></category>
		<category><![CDATA[WordPress Shopping Cart]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.seodenver.com/?p=1089</guid>
		<description><![CDATA[The Shopp default RSS/XML/Google Base solution was not enough. I needed to have a Google Base feed that featured all the store products. For some reason, the recommended process wasn&#8217;t working for me. It was either showing only recent products, &#8230; <a href="http://www.seodenver.com/add-store-sitemap-shopp-plugin/">Continue reading <span class="meta-nav">&#8594;</span></a>
Related posts:<ol>
<li><a href='http://www.seodenver.com/add-canonical-tags-shopp-plugin-seo/' rel='bookmark' title='Add Canonical Tags to Shopp Plugin for SEO'>Add Canonical Tags to Shopp Plugin for SEO</a></li>
<li><a href='http://www.seodenver.com/shopp-plugin-edit-product-link/' rel='bookmark' title='Edit Product Link for Shopp Plugin'>Edit Product Link for Shopp Plugin</a></li>
<li><a href='http://www.seodenver.com/custom-rss-feed-in-wordpress/' rel='bookmark' title='How to Create a Custom RSS Feed in WordPress in 12 Lines of Code'>How to Create a Custom RSS Feed in WordPress in 12 Lines of Code</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<h3>The Shopp default RSS/XML/Google Base solution was not enough.</h3>
<p><img class="alignright size-medium wp-image-1090" title="RSS Feed, BABY!" src="http://www.seodenver.com/wp-content/uploads/2009/10/1082770_60147230-300x180.jpg" alt="RSS Feed, BABY!" width="300" height="235" /></p>
<p>I needed to have a Google Base feed that featured all the store products. For some reason, the <a href="http://docs.shopplugin.net/Setting_Up_Google_Base">recommended process</a> wasn&#8217;t working for me. It was either showing only recent products, or it wasn&#8217;t working at all.  Here&#8217;s how I fixed it:<span id="more-1089"></span></p>
<h3>This code will show you the way to full indexing. Trust it. Feel it.</h3>
<p>Add the following code before <code>case "newproducts-rss":</code> (near line 1295) in Shopp.php:</p>
<pre>// This adds sitemap functionality for all products
case "catalog-rss":
	$CatalogProducts = new CatalogProducts(array('show' =&gt; 50000));
	header("Content-type: application/rss+xml; charset=utf-8");
	echo shopp_rss($CatalogProducts-&gt;rss());
	exit();
	break;
</pre>
<p>Once you add that, you will be able to see a RSS feed of your entire catalog by visiting <code><em>yoursite.com/your-shop-location</em>/index.php?shopp_lookup=catalog-rss</code></p>
<p>If the RSS feed is empty, try commenting out (add <code>//</code> before it) the following code near line 484 in <code>/core/model/Category.php</code>: <code>$item = apply_filters('shopp_rss_item',$entry,$product);</code></p>
<p>Hope this helps!</p>
<p>Related posts:<ol>
<li><a href='http://www.seodenver.com/add-canonical-tags-shopp-plugin-seo/' rel='bookmark' title='Add Canonical Tags to Shopp Plugin for SEO'>Add Canonical Tags to Shopp Plugin for SEO</a></li>
<li><a href='http://www.seodenver.com/shopp-plugin-edit-product-link/' rel='bookmark' title='Edit Product Link for Shopp Plugin'>Edit Product Link for Shopp Plugin</a></li>
<li><a href='http://www.seodenver.com/custom-rss-feed-in-wordpress/' rel='bookmark' title='How to Create a Custom RSS Feed in WordPress in 12 Lines of Code'>How to Create a Custom RSS Feed in WordPress in 12 Lines of Code</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.seodenver.com/add-store-sitemap-shopp-plugin/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Edit Product Link for Shopp Plugin</title>
		<link>http://www.seodenver.com/shopp-plugin-edit-product-link/</link>
		<comments>http://www.seodenver.com/shopp-plugin-edit-product-link/#comments</comments>
		<pubDate>Tue, 25 Aug 2009 23:24:32 +0000</pubDate>
		<dc:creator>Zack Katz</dc:creator>
				<category><![CDATA[Shopp]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[eCommerce]]></category>
		<category><![CDATA[Edit Product]]></category>
		<category><![CDATA[Shopp Plugin]]></category>
		<category><![CDATA[Shopping]]></category>
		<category><![CDATA[Shopping Cart]]></category>
		<category><![CDATA[WordPress Shopping Cart]]></category>

		<guid isPermaLink="false">http://www.seodenver.com/?p=1011</guid>
		<description><![CDATA[If you use the Shopp plugin for WordPress, you&#8217;ve likely found something frustrating: you click on the &#8220;Edit Post&#8221; link, and you get to edit the Store page, not the product in Shopp. Here&#8217;s a quick fix: add the following &#8230; <a href="http://www.seodenver.com/shopp-plugin-edit-product-link/">Continue reading <span class="meta-nav">&#8594;</span></a>
Related posts:<ol>
<li><a href='http://www.seodenver.com/add-canonical-tags-shopp-plugin-seo/' rel='bookmark' title='Add Canonical Tags to Shopp Plugin for SEO'>Add Canonical Tags to Shopp Plugin for SEO</a></li>
<li><a href='http://www.seodenver.com/add-store-sitemap-shopp-plugin/' rel='bookmark' title='Add a Store Catalog XML Sitemap to the Shopp Plugin'>Add a Store Catalog XML Sitemap to the Shopp Plugin</a></li>
<li><a href='http://www.seodenver.com/is-your-product-a-platform/' rel='bookmark' title='Is your product a platform?'>Is your product a platform?</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><a href="http://shopplugin.net"><img class="alignnone size-full wp-image-1013" title="Shopp Plugin" src="http://www.seodenver.com/wp-content/uploads/2009/08/Picture-353.jpg" alt="Shopp Plugin" width="500" height="64" /></a>If you use the <a href="http://shopplugin.net">Shopp plugin for WordPress</a>, you&#8217;ve likely found something frustrating: you click on the &#8220;Edit Post&#8221; link, and you get to edit the Store page, not the product in Shopp.</p>
<p>Here&#8217;s a quick fix: add the following to your theme&#8217;s <code>functions.php</code> file: <span id="more-1011"></span></p>
<pre>function edit_product_link($link = 'Edit Product', $before = '', $after = '') {
	global $post, $Shopp;

	if ( $post->post_type == 'page' ) {
		if ( !current_user_can( 'edit_page', $post->ID ) )
			return;
	} else {
		if ( !current_user_can( 'edit_post', $post->ID ) )
			return;
	}

	if (shopp('product','found')) {
		$page = 'shopp-products-edit';
		$id = shopp('product','id','return=true');
	}

	$url = admin_url("/admin.php?page=$page&amp;id=$id");

	$link = '&lt;a title="' . attribute_escape( __( 'Edit product' ) ) . '" href="'.$url.'"&gt;' . $link . '&lt;/a&gt;';
	echo $before . $link . $after;
}</pre>
<p>Then add <code>edit_product_link()</code> into your template, and you can edit products directly from your website. Woot!.</p>
<p>Related posts:<ol>
<li><a href='http://www.seodenver.com/add-canonical-tags-shopp-plugin-seo/' rel='bookmark' title='Add Canonical Tags to Shopp Plugin for SEO'>Add Canonical Tags to Shopp Plugin for SEO</a></li>
<li><a href='http://www.seodenver.com/add-store-sitemap-shopp-plugin/' rel='bookmark' title='Add a Store Catalog XML Sitemap to the Shopp Plugin'>Add a Store Catalog XML Sitemap to the Shopp Plugin</a></li>
<li><a href='http://www.seodenver.com/is-your-product-a-platform/' rel='bookmark' title='Is your product a platform?'>Is your product a platform?</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.seodenver.com/shopp-plugin-edit-product-link/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk: enhanced
Object Caching 0/0 objects using disk: basic

Served from: www.seodenver.com @ 2012-02-11 06:24:23 -->
