2014-09-02 64 views
0

我正在使用的網站使用Adobe搜索&促銷(SP),因爲它是內部網站索引和搜索工具。Adob​​e搜索和推廣非標準<noindex>標籤

我需要排除每個網頁的公共部分不被SP索引(例如標題,導航,頁腳),因爲它們在每個頁面上都是相同的。

SP's documentation規定如下:。

「爲了防止個別網頁的某些部分被搜索,可以排除索引頁面的部分環繞與<noindex>和​​標籤文本此方法非常有用如果你想從搜索中排除導航文本。「

當然,<noindex>不是標準的HTML標籤/元素。

有沒有javascript或者我應該做的事情在瀏覽器中註冊/創建這個假標籤,所以我不必擔心任何奇怪的行爲,因爲有一個非標準的HTML標籤只是掛在我的碼?或者我應該不關心,因爲瀏覽器會忽略這個不存在的元素?

注意:在此<noindex>元素上絕對沒有需要完成的樣式。它只需要在HTML中包裝內容。

回答

1

沒有什麼需要做的。預計瀏覽器會忽略未知標籤,他們會這樣做,因此他們會看到<noindex>foo</noindex>就像foo。好吧,不是。從技術上講,現代瀏覽器在DOM中構造一個元素節點(類型爲HTMLUnknownElement)。但該元素沒有關聯的默認樣式,也沒有關聯的動作,所以它實際上是一個虛擬元素並僅表示其內容。

這將有可能消除這種元件的節點是使用客戶端JavaScript,但是這將是相當必要的。

唯一真正的風險是,有一天某些規範或某些瀏覽器或某種網絡範圍的索引機器人可能會開始將noindex視爲具有某些定義含義的真實元素,可能使用默認呈現和默認功能。如果這些與預期不符,那麼你會遇到麻煩。但這是一個相當小的風險,似乎你沒有選擇。

1

儘管這不是在文檔中,我們的團隊諮詢有關這一個Adobe顧問。他告訴我們,我們可以用一個'noindex'類,而不是<noindex>元素。他甚至建議我們使用,而不是標籤的類。

警告雖然,'noindex'類只與<div>元素,但不能在其他元素,如<ul><header>,或<footer>工作。

因此,一個使用將是這樣的:

<div class="noindex"> 
    <p>This should not be indexed.</p> 
</div>