views:

197

answers:

8

Hi guys,

What would be the best approach for the following....

Website 1 - has 300+ individual .html product pages (no database involved)

The products/content from Website 1 need replicating on Website 2, Website 3, Website 4 and Website 5.

Each site is location based e.g glossop-bikes.co.uk, buxton-bikes.co.uk, hyde-bikes.co.uk etc.

I have 3 main questions..

1) How would I achieve such a thing without having to manually recreate every single page on each 5 sites?

2) How would I avoid duplicate content issues?, because the products will be identical just in a different location.

3) Would it be possible to change the product details/price etc once and then it updates on all 5 sites?

Thanks for you help

Dan

A: 

2) You choose one page to become the "primary" and add the canonical attribute to the other pages to point to the primary page.

For example, this very page contains this instruction:

<head>
    <link rel="canonical" href="http://stackoverflow.com/questions/1674188/clone-a-website-from-one-domain-to-another"&gt;
</head>

This way search engines will know which page to focus on and give the rank to while other will be considered as alternative routes to it.

Developer Art
A: 

Unless I'm misunderstanding what you're trying to do, you need to have all your domains on the same server, and have all the domains pointing at the same folder.

Kristian J.
that wouldn't work for him as he needs to have different content based on the locality - e.g. locality keyword will change in the content, as far as i understand it.
dusoft
A: 

This is easily doable - even with different skins / header graphics for each site - e.g. using some PHP, but it sounds like a bad idea, mainly because of the duplicate content issue. If you don't mind me asking, what is your reason for doing this? Is it a management decision? Would a simple redirect to one central site not be the better way?

Pekka
A: 

The main purpose of the sites are to target a niche in each geographical area, so say someone types 'bikes glossop' they will find the glossop site first etc.

Each site will have 60/70% similar text/copy but the key stats for each product would ideally be updated via one cms. Could this be done via an existing CMS like Joomla, Silverstripe, wordpress or would it have to be a bespoke php job?

Does this make my issue clearer?

Dan C
Could you post further information about the question by editing the question, instead of marking it as an *answer*?
David Dorward
my bad, i'm new to this site!
Dan C
+1  A: 

1) Unless I'm misunderstanding, can't you just upload all the pages to different sites (i.e. different folders in the FTP)? If you're changing, say, the site titles you could use Notepad++ to do a search/replace across all the pages, i.e. replace "Glossop Bikes" with "Buxton Bikes", but that won't be totally reliable.

2) If you are just copying the sites exactly, or just changing a few words here and there, then yes, search engines will see it as duplicate content. It's possible you could get penalized if the sites are all on the same server. (Usually though, Google just takes whatever it thinks is the "original" page and displays that instead of the others.)

3) Not easily on a static site - you could do the search/replace thing again I guess. It's difficult even with a dynamic site - you'd have to make the changes on one site and copy the database tables over.

One other solution would be to first point all sites at the same database. Then use some kind of language system to replace key text. For example you would have a file containing variables for that site, e.g. $sitename = 'Glossop Bikes';. In your code for the pages you would then reference the variables any time you wanted to put the site name. And you create a different language file for each site.

DisgruntledGoat
The "one other solution" is the best on imho. It adheres to DRY and is the most easily maintainable option.
Niels Bom
A: 

I'll try and elaborate on DisgruntledGoat's option that I think is the best.

You say there are 300 pages on that site and you want other sites to have basically the same pages, with basically the same content. My strategy would be the following.

  1. Parse all the existing html files and separate out the parts that are similar across domains. You put those parts in a database.
  2. Make a template for every domain.
  3. Per domain, call the domain-specific template and fill it in by calling the domain-IN-specific content (like texts and prices) from the database.

If you want to update domain-IN-specific content, you do that in the database, then it gets updated in all the sites. If you want to change domain-specific content, change it in the template for that domain.

Niels Bom
A: 

SEO point - just FYI: changing one keyword (e.g. locality name) will mean you are having duplicate content as seen by google. so i wouldn't really recommend doing what you propose. instead try to write more info about the locality itself (e.g. description of the city, basic facts etc.) and combine it with the bike-related keywords - that would help you much more.

dusoft
A: 

What I would do is, each of the 300+ products has it's own .html page, that page contains just the information relative to the product. All the branding and theming will be separated files (footer, header, menu, css), one set of files per website.

Then with PHP just glue the pieces together. The content of each product can be pulled from the .html file by doing either:

$content = file_get_contents("http://website1.co.uk/products/$productnumber.thtml");

or ("more risky")

include("http://website1.co.uk/products/$productnumber.thtml");

You can pass around $productnumber in the query (i.e. ?productno=1) or have apache create some nice routes for you with mod_rewrite.

I've done this kinda thing before, and we pulled it with that and buffered output. Which lets you "pre-process" the htmls before you spit it out and do any search/replaces needed.

We couldn't use DB for that project, they already had tonnes of .html's. DB sounds THE most logical answer.

Eduardo Romero