2009-11-04 159 views
2

什么是以下....从一个域克隆一个网站到另一个

网站1的最佳方法 - 有300多个独立的.html产品页面(不涉及数据库)

产品/网站1的内容需要在网站2,网站3,网站4和网站5上复制。

每个网站都是基于位置的,例如glossop-bikes.co.uk,buxton-bikes.co.uk,海德自行车。 co.uk等

我有3个主要问题..

1)如何实现这样的事情,而不必手动重新创建每个网站上的每一个页面?

2)我将如何避免重复的内容问题?,因为这些产品只会在不同的位置相同。

3)是否可以改变产品的详细信息/价格等一次,然后更新所有5个网站?

感谢您帮助

编辑:

网站的主要目的是针对每个地理区域中一个利基,所以说有人类型“自行车格洛索普”他们会发现首先glossop网站等

每个网站将有60/70%类似的文本/副本,但每个产品的关键统计资料将理想情况下更新通过一个cms。这可以通过现有的CMS,如Joomla,Silverstripe,wordpress来完成吗?还是必须是定制的php工作?

这是否使我的问题更清晰?

+0

是否在同一台服务器上的所有域? – RMcLeod 2009-11-04 14:53:00

+0

你只是想让多个域指向相同的数据子集?或者你在为每个域设想不同的品牌?请澄清你的问题。 – Jakub 2009-11-04 15:56:34

回答

0

2)您选择一个页面成为“主”,并将规范属性添加到其他页面以指向主页面。

例如,这很页面包含此指令:

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

这样搜索引擎会知道哪些重点页面上,并给予职级,而其他将被视为替代路线吧。

0

除非我误解了您要做的事情,您需要将所有域都放在同一台服务器上,并将所有域指向同一个文件夹。

+0

这对他不起作用,因为他需要基于当地的不同内容 - 例如,据我所知,locality关键字会在内容中发生变化。 – dusoft 2009-11-05 22:45:21

0

这很容易实现 - 即使每个网站使用不同的皮肤/标题图形 - 例如,使用一些PHP,但这听起来像一个坏主意,主要是因为重复的内容问题。 如果你不介意我问,你这样做的理由是什么?这是管理决策吗?简单的重定向到一个中心站点不是更好的方法吗?

1

1)除非我误解,否则不能将所有页面上传到不同的网站(即FTP中的不同文件夹)?如果您改变了网站标题,您可以使用Notepad ++在所有页面上进行搜索/替换,即用“Buxton Bikes”替换“Glossop Bikes”,但这不会完全可靠。

2)如果你只是复制网站正好,或只是改变了几句话在这里和那里,那么,搜索引擎会认为这是重复的内容。如果网站都在同一台服务器上,可能会受到处罚。 (通常,谷歌只是采取任何它认为是“原始”页面,并显示,而不是其他人)。

3)不容易在静态网站 - 你可以再次做搜索/替换的东西。即使使用动态网站也很困难 - 您必须在一个网站上进行更改并复制数据库表格。其他

一个解决办法是,以第一点所有站点在同一个数据库。然后用某种语言系统来替换关键文字。例如,你将有一个包含该网站变量的文件,例如$sitename = 'Glossop Bikes';。在你的页面代码中,你随时可以参考变量,无论何时你想把网站名称。你为每个网站创建一个不同的语言文件。

+0

“另一种解决方案”是imho上的最佳选择。它坚持DRY,是最容易维护的选择。 – 2009-11-05 22:29:35

0

我会试着阐述DisgruntledGoat的选择,我认为是最好的。

你说有在该网站上300页,并且希望其他网站具有基本相同的页面,用基本相同的内容。我的策略是以下。

  1. 解析所有现有的html文件并分离出跨域相似的部分。你把这些部分放在一个数据库中。
  2. 为每个域创建一个模板。
  3. 每个域名都需要调用域特定的模板,并通过调用数据库中特定于域的内容(如文本和价格)来填充它。

如果您想更新特定领域的内容中,你这样做,在数据库中,那么它就会在所有站点进行更新。如果您想更改特定于域的内容,请在该域的模板中更改它。

0

SEO点 - 只是FYI:改变一个关键字(例如地点名称)将意味着由谷歌所看到您有重复的内容。所以我不会推荐你做你的建议。而是尝试撰写更多关于地区本身的信息(例如城市描述,基本事实等),并将其与自行车相关的关键字结合起来 - 这将对您有所帮助。

0

我会做的是,300多种产品中的每一种都有自己的.html页面,该页面仅包含与产品相关的信息。所有的品牌和主题将是分开的文件(页脚,标题,菜单,CSS),每个网站的一组文件。

然后用PHP只是胶拼在一起。

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

或(“风险更大”)

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

您可以绕过$ productnumber查询(即:每个产品的内容可以从.html文件做既可以拉? productno = 1)或者让apache用mod_rewrite为你创建一些不错的路由。

我以前做过这件事,我们用它和buffered output来拉它。它可以让你在吐出之前“预处理”htmls并做任何搜索/替换操作。

我们无法在该项目中使用数据库,他们已经拥有了大量的.html文件。 DB听起来是最合乎逻辑的答案。

相关问题