2009-11-04 291 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聽起來是最合乎邏輯的答案。

相關問題