2017-03-04 78 views
2

我想向我的一個頁面添加元標記。但是,我使用CMS(ocotberCMS),它只能訪問頁面的主體。我嘗試添加的元標記標記的樣子:頁面源代碼和檢查元素i之間的差異

<meta name="robots" content="noindex, nofollow, noarchive"> 
{% partial "temp-partial" %} 

的結果頁面的源代碼,並檢查元素不同的是:

頁來源:

<meta name="robots" content="noindex, nofollow, noarchive"> 
<div> 
    .......// the body of the page generated by {% partial "temp-partial" %} 
</div> 

檢查元素:

<html> 
    #shadow-root 
<head> 
<meta name="robots" content="noindex, nofollow, noarchive"> 
</head> 
<body> 
<div> 
    .......// the body of the page generated by {% partial "temp-partial" %} 
</div> 
</body> 
</html> 

我讀過,有必要根據HTML4將元標記添加到標題++文檔。我想知道這是否意味着它會在上面的情況下工作,否則它不會?

+2

是否有理由讓您只能訪問頁面的主體?如果您有10月份的管理員權限,那麼您應該也可以訪問佈局。如果您沒有足夠的管理權限,並且執行此操作的人很高興爲您插入元標記,那麼您可以要求他們爲您添加佔位符(https://octobercms.com/docs/markup/tag-placeholder)。如果你說哪種情況適用,我可以爲你寫一個完整的答案。 – Joseph

+0

@約瑟夫謝謝,我不知道我錯過了'佔位符'標記。這對我來說是非常有用的。我只在一個頁面中標記標籤。 (我不想隱藏我的整個網站從搜索引擎) – Poorya

+0

沒問題。我已經把它作爲答案發布了。 – Joseph

回答

1

OctoberCMS有一個「佔位符」功能,它是完美的你正在嘗試做的事:

https://octobercms.com/docs/markup/tag-placeholder

你可以用它在你的HTML佈局是這樣的:

<html> 
    <head> 
     <meta name="robots" content="noindex, nofollow, noarchive"> 
     {% placeholder meta %} 
    </head> 

    <body> 
     {% page %} 
    </body> 
</html> 

然後,稍後在任何頁面:

{% put meta %} 
    <meta name="robots" content="noindex, nofollow, noarchive"> 
{% endput %} 

無論是雙方編譯時,{% put %}標記將放置在佈局中的{% placeholder %}處。

0

頁面源是您在創建網站時看到的內容。

檢查元素源包括產生如附加樣式屬性,數據庫等出口

至於你的問題的數據,請嘗試使用jQuery和附加(http://api.jquery.com/append/)頭部中meta標籤。

+0

所以根據你說的檢查元素向我顯示什麼瀏覽器會看到。正確嗎?這不會讓這樣的標籤離開。或者那可能行不通? – Poorya

+0

沒問題。說到在身體附加元標記是無效的,它可能會導致錯誤(來源:堆棧),所以瀏覽器可能會自動刪除它 –

+0

我明白了。還有一個問題。正如你可以看到meta標籤是用於搜索引擎的。搜索引擎在這種情況下的表現如何?類似於網頁瀏覽器?或者它會在頁面中的任何位置看到元標記? – Poorya

1

您可以在模板佈局中編輯頭部。 轉到CMS -> Layout -> default.htm並在那裏添加元標記。

實際的佈局文件名可能會有所不同,但如果你看看那裏的html,你應該看到哪一個是主佈局文件。

+0

正確。但是,這將添加元標記到我的整個網站。但我只需要一個頁面。我讀到,搜索引擎不會忽略標籤。所以它應該沒問題 – Poorya

+0

然後你可以添加if條件來檢查那個特定的頁面。這是一種黑客攻擊,但它非常簡單易懂 – dragontree

1

您在您檢查DOM樹<head>部分中看到<meta name="robots" content="noindex, nofollow, noarchive">,而它在源代碼中<body>部分並查看頁面源代碼是因爲檢查DOM樹已經被解析您的瀏覽器版本的原因。

由於瀏覽器願意接受被稱爲「標籤湯」(不正確的語法和HTML佈局),並簡單地猜測它應該如何工作;您的瀏覽器將向您顯示的檢查器DOM樹已經是瀏覽器對代碼應該是什麼的最佳猜測;不管該代碼的實際有效性如何。

所以,從本質上來說,當您查看源代碼時,您在正文中看到元標記的原因是因爲這就是它的實際位置。您在檢查員頭部中看到它的原因是因爲瀏覽器猜測頭部是元標記的正確位置。

要真正將它添加到您的頭部,它應該是機器人實際看到它的位置,您需要編輯CMS佈局。如果您無法訪問CMS菜單或Layouts子菜單,那麼您的用戶帳戶無權訪問此內容,您將不得不與任何構建您的網站的人聯繫或要求IRC提供進一步幫助(freenode.net - #october)或Slack。

相關問題