Hi David,
Can I have yours and any other experienced webmasters thoughts about registering sitemap.php with Google on the following basis.
As I use a wordpress site within which I use the google xml sitemap generator plugin which automatically generates an xml sitemap for every update I make to the site. if I also employ the sitemap.php do I run the risk of duplicate content and consequently being targeted for a google duplicate content penalty?
Any thoughts would be much appreciated...
Paul
is it possible to change the pricetapestry sitemap so that when you use the external.php file that the new links at related to the sitemap.
testsitewordpress/pricetapesty/woolworths - so this is the merchant as u would see going from the current sitemap
but when u view from the frontsite the link would be - testsitewordpress/woolworths
so the links getting spidered by google would point to testsitewordpress/pricetapesty/woolworths which would not be first choice as the sub installation of pricetapestry would have no template etc.
is it possible to change the sitemap?
Hi David,
I just need to be extra vigilant on this as I've fallen victim to this previosly (i think).
I just need to clarify this point - As I am using WP pages to show the price tapestry results, is it not the case that both the wordpress plugin (google sitemap generator.xml) and Price tapestry (sitemap.php) are registering the same pages with Google as far as the datafeed is concerned?
or am I barking up the wrong tree here?
Cheers
Paul
Jonny -
There is a slight issue that must be considered here in that Google will only accept URLs from a sitemap XML document that are at or below the level from which the sitemap was served; so if it comes from /pricetapestry/ every URL in the sitemap must begin with /pricetapestry/
However, that's not the end of the World, all it means is that it would be necessary to move Price Tapestry's sitemap.php up to the top level of your website, and in addition to the changes required to construct your Wordpress URLs you would simply need to change:
require("includes/common.php");
to:
require("pricetapestry/config.php");
require("pricetapestry/includes/database.php");
(where "pricetapestry" is your Price Tapestry installation folder)
Now with regards to constructing the correct URLs, this would depend exactly on how you were integrating Price Tapestry generated content with WordPress. Ordinarily, the top level sitemap.php on its own (i.e. with no parameters) generates a sitemap index of further links to itself but with ?merchant=MerchantName, which returns the actual URLs of each of MerchantName's products; so it doesn't actually ever generate links to the testsitewordpress/pricetapesty/woolworths pages (assuming that page generates product search results for example based on the query merchant:Woolworths:
So yes - it can be done - if you can describe exactly the format of your product pages within your WordPress site I can show you how it can be done (although it might be easier to use a completely new sitemap.php).
By the way, there's no problem registering multiple sitemaps at the same level - as long as they all have a unique name of course!
Cheers,
David.
Paul -
They are different pages (different URLs), but yes - they will contain the same content. If it is the case that your Wordpress sitemap plugin is generating the URLs you need then that may be the only sitemap you need to register.
However, if you are talking about using the Price Tapestry *external* scripts to pull product information into WordPress then it may be that you only have one node within WordPress (the node where you add the external calling code); and that is generating the individual product pages by virtue of a dynamically generated parameter in the URL. In which case, the WordPress sitemap XML would never map the individual product pages and you might want to look at doing what Jonny has just enquired about above - re-working Price Tapestry's sitemap.php to generate product links to your Wordpress site instead of the Price Tapestry installation...
Cheers,
David.
David,
The situation at the moment is that I use price Tapestry in a seprate stand-a-lone installation called mystore and is a separate database, so the sitemap.php is held within that.
Using *external.php* I call the products into the Wordpress pages.
Over the Weekend I put up a number of products on one of my sites, and immediately got spidered 1306 times by googlebot.
what is the best course of action in your opinion in employing sitemap.php on the above basis?
thanks Paul
cheers david i will have a look at this and see.
Paul , wordpress sitemap will only map the wordpress pages and pricetapestry will only do the pricetapestry pages , they are tota;ly separate from i can see
Hi Paul,
Could you perhaps email me a link to your site and a few example product pages and I'll take a look and figure out what the best option would be...
Cheers,
David.
David , coming back to this sitemap , the product link in wordpress is displayes as
wordpressSite/?product=Floral+Lace+Balconnet+Bra+by+Fichissima+Exclusive+to+BeCheeky
so pricetapestry is installed in Compare, merchant link as below
wordpressSite/Compare/sitemap.php?merchant=BeCheeky
the product link in the merchant link above displays as
wordpressSite/Compare/?product=Floral+Lace+Balconnet+Bra+by+Fichissima+Exclusive+to+BeCheeky
so what im stuck on is how to remove the Compare from the url? because without the Compare/ part the url displays the product in wordpress fine
im stuck :)
Hi jonny,
To fix this, in sitemap.php, first look for the following code on line 24:
$sitemapBaseHREF = "http://".$_SERVER["HTTP_HOST"].$config_baseHREF;
...and REPLACE this with:
$sitemapBaseHREF = "http://wordpressSite/";
...and then lower down, look for the following block of code starting at line 30:
if ($config_useRewrite)
{
$sitemapHREF = "product/".urlencode(str_replace(" ","-",$row["name"])).".html";
}
else
{
$sitemapHREF = "products.php?q=".urlencode($row["name"]);
}
...and REPLACE this with:
$sitemapHREF = "?product=".urlencode($row["name"]);
Cheers,
David.
that is perfect :)
just one more thing and i think im done :)
at the moment there is no meta title for search results or a product as this is displayed in the original post and wordpress handles the meta titles etc , just wondering if its possible to get the meta data for each product etc?
Hi,
I just had a quick look at this as at first glance it might have been possible to use the same mechanism as Price Tapestry whereby WordPress's header.php can pick-up the meta tags in the $header array; however the way WordPress integrates with the theme means that the header code has been included before the PHP content of the post (where external.php is called). I'll look into it further and get back to you...
Cheers,
David.
Hi David , just wondering if you have had any more thoughts on this?
thanks in advance
Hi Jonny,
I did, unfortunately the way WordPress integrates with its templates files means that they are read into a buffer effectively in sequence, so the header HTML file has already been included before the external code has been called.
What would need to be done is to look deeper into the workings of WordPress and its template mechanism, and perhaps manipulate the buffer directly; although of course this would deviate from the "universal" aspect of the template...
Something that just occured to me however is how lenient search engines are to "out of place" meta tags - so i'll check that out...
Cheers,
David.
Hi Paul,
I personally don't think it would be a problem at all. You can register a sitemap.php at any level of a website hierarchy; so submitting a top-level sitemap.xml for your Wordpress site and then a second file for your Price Tapestry sub-directory should be fine!
Cheers,
David.