2010-09-24 65 views
2

我見過很多有點類似的問題,但沒有什麼比我想找的。所以冒着被告知這是重複的風險......在這裏。如何隱藏不應直接從用戶和搜索引擎訪問的Drupal節點?

我發現有時候我有一個節點,只是簡單地包含將顯示在別處的內容,但不應直接查看。也就是說,沒有人應該去節點/ 1234,但節點1234中的內容應該顯示在其他地方。

例如,我使用視圖創建帶選項卡式內容的關於頁面。所以有「關於我」,「關於我們」和「關於他們」頁面。所有這些都使用視圖顯示在帶有選項卡的單個頁面中。所以我不希望人們直接進入「關於我們」節點,因爲那樣他們就看不到其他頁面的標籤。同時,我不希望谷歌給這個節點直接鏈接,我想限制訪問權限,以便用戶只能通過視圖(即選項卡)訪問它。

所以我需要限制對節點的訪問,將它從Drupal搜索結果中刪除,並確保Google不會接受它。有什麼建議麼?

----注意----

我已經接受了來自mingos答案(順便說一句感謝),因爲即使它不是一個完整的答案/解決方案,它給了我一些很好的事情要考慮。其他答案仍然值得歡迎。

回答

2

艱難的。

如果你想擁有許多像這樣的節點並動態地「顯示其他地方」,我現在想不出任何東西(在凌晨2:20我很少會這樣)。

如果有這樣的頁面(或者很少),我會通過任何可用的方式(權限,Nodeaccess,內容訪問,TAC等)限制對它的訪問,然後爲受限制的頁面創建特殊主題應該顯示內容。這些主題將包含數據庫查詢,從受限節點獲取內容。

其他可能性可能包括爲隱藏節點創建特殊主題(也許所有屬於相同的內容類型?)。使完整的節點不顯示任何內容(或者表示訪問受限的消息)並添加一個ROBOTS元標記,要求Google不要爲該頁面編制索引。儘管可以使用預覽視圖 - 您可以在視圖內自由顯示它,但由於/ node/1234是FULL視圖,實際內容在此處不可用。

不知道如果這解決了你的問題,希望它至少有一點幫助。

+0

感謝mingos,它肯定是一個棘手的問題。沒有太多的情況下,我想這樣做,所以手動的東西是可能的,但很明顯造成維修噩夢。不幸的是,它可能不僅限於單個內容類型,甚至不限於給定內容類型的所有節點,這使得它更加棘手。 – Chaulky 2010-09-24 02:50:01

+0

同意@mingos提出的解決方案。您可以更改您的robots.txt文件以從搜索引擎中排除這些網址。您也可以爲那些在訪問時不顯示任何內容的節點製作一個特殊的模板文件。 – 2010-09-24 05:27:43

+0

是的,它絕對是值得考慮的事情,儘管我喜歡更可維護的解決方案。這並沒有提到隱藏它的形式Drupal搜索(我意識到我有點遺漏的問題,將編輯),但似乎有關於該主題的一些體面的職位。 – Chaulky 2010-09-24 05:34:31

2

我在遇到同樣的問題後發現此頁面。

我找到什麼工作對我來說可能是你所需要的答案部分

看看網頁管理器重定向模塊http://drupal.org/project/page_manager_redirect。我剛開始玩它。

它使用CTools的Page Manager模塊將一個頁面重定向到另一個頁面。最強大的是頁面管理器使用上下文。所以,如果你想重定向一個特定內容類型的所有頁面,你可以這樣做。

我剛開始使用它(而不是分類重定向和路徑重定向)將特定詞彙表的分類術語重定向到(301響應代碼)特定節點。

在您的實例中,您應該可以使用上下文過濾特定頁面。

當然這並不能解決搜索結果中出現這些節點的問題。

+0

我認爲這是最好的解決方案,現在甚至更好,CTools頁面管理器包含一個HTTP響應代碼插件。此屏幕演示顯示您需要採取的步驟:http://nodeone.se/blogg/learn-page-manager-part-2-introduction-and-more – splatio 2011-06-06 12:30:49

1

我有同樣的問題,並正在思考下面的解決方案,其中一個節點的所有內容將被顯示給特定用戶(基於權限)的: - 取消發佈節點 - 創建一個新的發佈複選框 - 創建一個顯示所有內容的字段的視圖

尚未完全測試它,但它似乎工作。

節點是要顯示給創建者(只有一個在權限1),它的一些以允許2和所有的它允許3.

在此溶液中的任何註釋。

我認爲這也會排除搜索,但權限2和3需要能夠搜索它。還沒有想出這一個。

4

在Drupal 7的您可以使用:http://drupal.org/project/internal_nodes

說明:部分內容/節點不應該直接觀看;只有通過視圖或面板等其他內容才能看到。此模塊拒絕訪問節點/ [nid] URL,同時允許內容保持發佈狀態並以其他方式查看。

完全披露:我是內部節點的創建者和共同維護者。我在搜索時發現了這個問題,以查看Google上可以找到該模塊的方式。

+1

這是一個非常常見問題的絕佳解決方案 - 非常感謝許多! – 2012-10-18 07:55:46

2

還有另一個模塊Rabbit Hole它具有類似的功能,如Internal Nodes但適用於所有實體,不僅適用於節點。

0

我用一個「實體是捆綁」的規則模塊和內置的「頁面重定向」動作。

0

如果您只想通過視圖顯示內容類型,有一種非常簡單的方法可以做到這一點。

  1. 創建內容類型並使其不發佈。
  2. 創建一個視圖,並在過濾器選項設置過濾器「內容:已發佈(無)」

認爲會給用戶不久通過視圖訪問相關內容,但他們不會訪問直接鏈接到內容的未發佈內容。

相關問題